35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
exports.Settings = exports.walkStream = exports.walkSync = exports.walk = void 0;
 | 
						|
const async_1 = require("./providers/async");
 | 
						|
const stream_1 = require("./providers/stream");
 | 
						|
const sync_1 = require("./providers/sync");
 | 
						|
const settings_1 = require("./settings");
 | 
						|
exports.Settings = settings_1.default;
 | 
						|
function walk(directory, optionsOrSettingsOrCallback, callback) {
 | 
						|
    if (typeof optionsOrSettingsOrCallback === 'function') {
 | 
						|
        new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback);
 | 
						|
}
 | 
						|
exports.walk = walk;
 | 
						|
function walkSync(directory, optionsOrSettings) {
 | 
						|
    const settings = getSettings(optionsOrSettings);
 | 
						|
    const provider = new sync_1.default(directory, settings);
 | 
						|
    return provider.read();
 | 
						|
}
 | 
						|
exports.walkSync = walkSync;
 | 
						|
function walkStream(directory, optionsOrSettings) {
 | 
						|
    const settings = getSettings(optionsOrSettings);
 | 
						|
    const provider = new stream_1.default(directory, settings);
 | 
						|
    return provider.read();
 | 
						|
}
 | 
						|
exports.walkStream = walkStream;
 | 
						|
function getSettings(settingsOrOptions = {}) {
 | 
						|
    if (settingsOrOptions instanceof settings_1.default) {
 | 
						|
        return settingsOrOptions;
 | 
						|
    }
 | 
						|
    return new settings_1.default(settingsOrOptions);
 | 
						|
}
 |