| 
								
							 | 
							
								"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);
							 | 
						
						
						
							| 
								
							 | 
							
								}
							 |