You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.4 KiB
34 lines
1.4 KiB
"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); |
|
}
|
|
|