| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.Settings = exports.scandirSync = exports.scandir = void 0; |
| const async = require("./providers/async"); |
| const sync = require("./providers/sync"); |
| const settings_1 = require("./settings"); |
| exports.Settings = settings_1.default; |
| function scandir(path, optionsOrSettingsOrCallback, callback) { |
| if (typeof optionsOrSettingsOrCallback === 'function') { |
| async.read(path, getSettings(), optionsOrSettingsOrCallback); |
| return; |
| } |
| async.read(path, getSettings(optionsOrSettingsOrCallback), callback); |
| } |
| exports.scandir = scandir; |
| function scandirSync(path, optionsOrSettings) { |
| const settings = getSettings(optionsOrSettings); |
| return sync.read(path, settings); |
| } |
| exports.scandirSync = scandirSync; |
| function getSettings(settingsOrOptions = {}) { |
| if (settingsOrOptions instanceof settings_1.default) { |
| return settingsOrOptions; |
| } |
| return new settings_1.default(settingsOrOptions); |
| } |