25 lines
1.1 KiB
JavaScript
25 lines
1.1 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
const path = require("path");
|
||
|
const fsStat = require("@nodelib/fs.stat");
|
||
|
const fs = require("./adapters/fs");
|
||
|
class Settings {
|
||
|
constructor(_options = {}) {
|
||
|
this._options = _options;
|
||
|
this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
|
||
|
this.fs = fs.createFileSystemAdapter(this._options.fs);
|
||
|
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);
|
||
|
this.stats = this._getValue(this._options.stats, false);
|
||
|
this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
|
||
|
this.fsStatSettings = new fsStat.Settings({
|
||
|
followSymbolicLink: this.followSymbolicLinks,
|
||
|
fs: this.fs,
|
||
|
throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
|
||
|
});
|
||
|
}
|
||
|
_getValue(option, value) {
|
||
|
return option === undefined ? value : option;
|
||
|
}
|
||
|
}
|
||
|
exports.default = Settings;
|