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