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.
26 lines
1.2 KiB
26 lines
1.2 KiB
"use strict"; |
|
Object.defineProperty(exports, "__esModule", { value: true }); |
|
const path = require("path"); |
|
const fsScandir = require("@nodelib/fs.scandir"); |
|
class Settings { |
|
constructor(_options = {}) { |
|
this._options = _options; |
|
this.basePath = this._getValue(this._options.basePath, undefined); |
|
this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY); |
|
this.deepFilter = this._getValue(this._options.deepFilter, null); |
|
this.entryFilter = this._getValue(this._options.entryFilter, null); |
|
this.errorFilter = this._getValue(this._options.errorFilter, null); |
|
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); |
|
this.fsScandirSettings = new fsScandir.Settings({ |
|
followSymbolicLinks: this._options.followSymbolicLinks, |
|
fs: this._options.fs, |
|
pathSegmentSeparator: this._options.pathSegmentSeparator, |
|
stats: this._options.stats, |
|
throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink |
|
}); |
|
} |
|
_getValue(option, value) { |
|
return option !== null && option !== void 0 ? option : value; |
|
} |
|
} |
|
exports.default = Settings;
|
|
|