| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;const fs = require("fs");const os = require("os");/** * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero. * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107 */const CPU_COUNT = Math.max(os.cpus().length, 1);exports.DEFAULT_FILE_SYSTEM_ADAPTER = {    lstat: fs.lstat,    lstatSync: fs.lstatSync,    stat: fs.stat,    statSync: fs.statSync,    readdir: fs.readdir,    readdirSync: fs.readdirSync};class Settings {    constructor(_options = {}) {        this._options = _options;        this.absolute = this._getValue(this._options.absolute, false);        this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);        this.braceExpansion = this._getValue(this._options.braceExpansion, true);        this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);        this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT);        this.cwd = this._getValue(this._options.cwd, process.cwd());        this.deep = this._getValue(this._options.deep, Infinity);        this.dot = this._getValue(this._options.dot, false);        this.extglob = this._getValue(this._options.extglob, true);        this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true);        this.fs = this._getFileSystemMethods(this._options.fs);        this.globstar = this._getValue(this._options.globstar, true);        this.ignore = this._getValue(this._options.ignore, []);        this.markDirectories = this._getValue(this._options.markDirectories, false);        this.objectMode = this._getValue(this._options.objectMode, false);        this.onlyDirectories = this._getValue(this._options.onlyDirectories, false);        this.onlyFiles = this._getValue(this._options.onlyFiles, true);        this.stats = this._getValue(this._options.stats, false);        this.suppressErrors = this._getValue(this._options.suppressErrors, false);        this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false);        this.unique = this._getValue(this._options.unique, true);        if (this.onlyDirectories) {            this.onlyFiles = false;        }        if (this.stats) {            this.objectMode = true;        }    }    _getValue(option, value) {        return option === undefined ? value : option;    }    _getFileSystemMethods(methods = {}) {        return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods);    }}exports.default = Settings;
 |