Spaces:
Sleeping
Sleeping
| ; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| const path = require("path"); | |
| const deep_1 = require("./filters/deep"); | |
| const entry_1 = require("./filters/entry"); | |
| const error_1 = require("./filters/error"); | |
| const entry_2 = require("./transformers/entry"); | |
| class Provider { | |
| constructor(_settings) { | |
| this._settings = _settings; | |
| this.errorFilter = new error_1.default(this._settings); | |
| this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions()); | |
| this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions()); | |
| this.entryTransformer = new entry_2.default(this._settings); | |
| } | |
| _getRootDirectory(task) { | |
| return path.resolve(this._settings.cwd, task.base); | |
| } | |
| _getReaderOptions(task) { | |
| const basePath = task.base === '.' ? '' : task.base; | |
| return { | |
| basePath, | |
| pathSegmentSeparator: '/', | |
| concurrency: this._settings.concurrency, | |
| deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), | |
| entryFilter: this.entryFilter.getFilter(task.positive, task.negative), | |
| errorFilter: this.errorFilter.getFilter(), | |
| followSymbolicLinks: this._settings.followSymbolicLinks, | |
| fs: this._settings.fs, | |
| stats: this._settings.stats, | |
| throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, | |
| transform: this.entryTransformer.getTransformer() | |
| }; | |
| } | |
| _getMicromatchOptions() { | |
| return { | |
| dot: this._settings.dot, | |
| matchBase: this._settings.baseNameMatch, | |
| nobrace: !this._settings.braceExpansion, | |
| nocase: !this._settings.caseSensitiveMatch, | |
| noext: !this._settings.extglob, | |
| noglobstar: !this._settings.globstar, | |
| posix: true, | |
| strictSlashes: false | |
| }; | |
| } | |
| } | |
| exports.default = Provider; | |