aboutsummaryrefslogtreecommitdiff
path: root/node_modules/fast-glob/out/providers/reader.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/fast-glob/out/providers/reader.js')
-rw-r--r--node_modules/fast-glob/out/providers/reader.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/node_modules/fast-glob/out/providers/reader.js b/node_modules/fast-glob/out/providers/reader.js
new file mode 100644
index 0000000..8e187dd
--- /dev/null
+++ b/node_modules/fast-glob/out/providers/reader.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var path = require("path");
+var deep_1 = require("./filters/deep");
+var entry_1 = require("./filters/entry");
+var pathUtil = require("../utils/path");
+var Reader = /** @class */ (function () {
+ function Reader(options) {
+ this.options = options;
+ this.micromatchOptions = this.getMicromatchOptions();
+ this.entryFilter = new entry_1.default(options, this.micromatchOptions);
+ this.deepFilter = new deep_1.default(options, this.micromatchOptions);
+ }
+ /**
+ * Returns root path to scanner.
+ */
+ Reader.prototype.getRootDirectory = function (task) {
+ return path.resolve(this.options.cwd, task.base);
+ };
+ /**
+ * Returns options for reader.
+ */
+ Reader.prototype.getReaderOptions = function (task) {
+ return {
+ basePath: task.base === '.' ? '' : task.base,
+ filter: this.entryFilter.getFilter(task.positive, task.negative),
+ deep: this.deepFilter.getFilter(task.positive, task.negative),
+ sep: '/'
+ };
+ };
+ /**
+ * Returns options for micromatch.
+ */
+ Reader.prototype.getMicromatchOptions = function () {
+ return {
+ dot: this.options.dot,
+ nobrace: !this.options.brace,
+ noglobstar: !this.options.globstar,
+ noext: !this.options.extension,
+ nocase: !this.options.case,
+ matchBase: this.options.matchBase
+ };
+ };
+ /**
+ * Returns transformed entry.
+ */
+ Reader.prototype.transform = function (entry) {
+ if (this.options.absolute && !path.isAbsolute(entry.path)) {
+ entry.path = pathUtil.makeAbsolute(this.options.cwd, entry.path);
+ }
+ if (this.options.markDirectories && entry.isDirectory()) {
+ entry.path += '/';
+ }
+ var item = this.options.stats ? entry : entry.path;
+ if (this.options.transform === null) {
+ return item;
+ }
+ return this.options.transform(item);
+ };
+ /**
+ * Returns true if error has ENOENT code.
+ */
+ Reader.prototype.isEnoentCodeError = function (err) {
+ return err.code === 'ENOENT';
+ };
+ return Reader;
+}());
+exports.default = Reader;