diff --git a/dist/src/arrays.js b/dist/src/arrays.js deleted file mode 100644 index bb2106f..0000000 --- a/dist/src/arrays.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const _ = require("lodash"); -function copy(value) { - return _.cloneDeep(value); -} -exports.copy = copy; -function from(args) { - if (_.isArray(args[0])) { - return args[0]; - } - return Array.prototype.slice.call(args); -} -exports.from = from; -//# sourceMappingURL=arrays.js.map \ No newline at end of file diff --git a/dist/src/arrays.js.map b/dist/src/arrays.js.map deleted file mode 100644 index 2facf09..0000000 --- a/dist/src/arrays.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/arrays.ts"],"names":[],"mappings":";;AAAA,4BAA4B;AAE5B,cAAwB,KAAQ;IAC9B,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAFD,oBAEC;AAED,cAAqB,IAAc;IACjC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QACtB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;IACD,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AALD,oBAKC"} \ No newline at end of file diff --git a/dist/src/asyncWalker.js b/dist/src/asyncWalker.js deleted file mode 100644 index 45df728..0000000 --- a/dist/src/asyncWalker.js +++ /dev/null @@ -1,63 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -function isDefined(value) { - return value !== undefined; -} -function flatten(a, b) { - return a.concat(b); -} -class AsyncWalker { - constructor(root, dirsOnly, ignoreDirs, maxDepth) { - this.root = root; - this.tracked = []; - this.directoriesOnly = dirsOnly; - this.ignoreDirs = ignoreDirs; - this.maxDepth = maxDepth; - } - atMaxDepth(dir) { - const depth = dir.getDepthSync() - this.root.getDepthSync(); - return isDefined(this.maxDepth) && depth > this.maxDepth; - } - shouldFilterDirectory(dir) { - return (this.atMaxDepth(dir) || (this.ignoreDirs && dir.isHiddenSync())); - } - search(path, filter) { - return __awaiter(this, void 0, void 0, function* () { - if (this.shouldFilterDirectory(path)) { - return []; - } - return path.getFiles() - .map((file) => __awaiter(this, void 0, void 0, function* () { - if (yield file.isDirectory()) { - if (!this.shouldFilterDirectory(file)) { - this.tracked.push(file); - } - return this.search(file, filter); - } - return file; - })) - .reduce(flatten, []) - .filter(filter); - }); - } - walk(filter) { - return __awaiter(this, void 0, void 0, function* () { - this.tracked = []; - const files = yield this.search(this.root, filter); - if (this.directoriesOnly) { - return this.tracked.filter(filter); - } - return files; - }); - } -} -exports.AsyncWalker = AsyncWalker; -//# sourceMappingURL=asyncWalker.js.map \ No newline at end of file diff --git a/dist/src/asyncWalker.js.map b/dist/src/asyncWalker.js.map deleted file mode 100644 index be45c57..0000000 --- a/dist/src/asyncWalker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"asyncWalker.js","sourceRoot":"","sources":["../../src/asyncWalker.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,mBAAmB,KAAU;IAC3B,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAED,iBAAiB,CAAS,EAAE,CAAS;IACnC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED;IAOE,YAAY,IAAU,EAAE,QAAS,EAAE,UAAW,EAAE,QAAS;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,UAAU,CAAC,GAAG;QACpB,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3D,CAAC;IAEO,qBAAqB,CAAC,GAAG;QAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEa,MAAM,CAAC,IAAU,EAAE,MAA8B;;YAC7D,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;iBACnB,GAAG,CAAC,CAAO,IAAU,EAAE,EAAE;gBACxB,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC7B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1B,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;YACd,CAAC,CAAA,CAAC;iBACD,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;iBACnB,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;KAAA;IAEY,IAAI,CAAC,MAA8B;;YAC9C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;KAAA;CACF;AAnDD,kCAmDC"} \ No newline at end of file diff --git a/dist/src/bind.js b/dist/src/bind.js deleted file mode 100644 index f2b4c0c..0000000 --- a/dist/src/bind.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -function isMethod(propertyName, value) { - return propertyName !== 'constructor' && typeof value === 'function'; -} -exports.default = (obj) => { - const propertyNames = Object.getOwnPropertyNames(obj.constructor.prototype); - propertyNames.forEach((propertyName) => { - const value = obj[propertyName]; - if (isMethod(propertyName, value)) { - obj[propertyName] = value.bind(obj); - } - }); -}; -//# sourceMappingURL=bind.js.map \ No newline at end of file diff --git a/dist/src/bind.js.map b/dist/src/bind.js.map deleted file mode 100644 index b25e95e..0000000 --- a/dist/src/bind.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bind.js","sourceRoot":"","sources":["../../src/bind.ts"],"names":[],"mappings":";;AAAA,kBAAkB,YAAY,EAAE,KAAK;IACnC,OAAO,YAAY,KAAK,aAAa,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;AACvE,CAAC;AAED,kBAAe,CAAC,GAAG,EAAE,EAAE;IACrB,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC5E,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE;YACjC,GAAG,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/src/filehound.js b/dist/src/filehound.js deleted file mode 100644 index 975b0a4..0000000 --- a/dist/src/filehound.js +++ /dev/null @@ -1,598 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const _ = require("lodash"); -const path = require("path"); -const files_1 = require("./files"); -const arrays_1 = require("./arrays"); -const unit_compare_1 = require("unit-compare"); -const events_1 = require("events"); -const matcher_1 = require("./matcher"); -const walker = require("./walker/walk"); -const bind_1 = require("./bind"); -function isDefined(value) { - return value !== undefined; -} -function flatten(a, b) { - return a.concat(b); -} -function cleanExtension(ext) { - if (_.startsWith(ext, '.')) { - return ext.slice(1); - } - return ext; -} -/** @class */ -class FileHound extends events_1.EventEmitter { - constructor() { - super(); - this.matcher = new matcher_1.Matcher(); - this.searchPaths = []; - this.searchPaths.push(process.cwd()); - this.ignoreDirs = false; - this.directoriesOnly = false; - bind_1.default(this); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Static factory method to create an instance of FileHound - * - * @static - * @memberOf FileHound - * @method - * create - * @return FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - */ - static create() { - return new FileHound(); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Returns all matches from one of more FileHound instances - * - * @static - * @memberOf FileHound - * @method - * any - * @return a promise containing all matches. If the Promise fulfils, - * the fulfilment value is an array of all matching files. - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.any(fh1, fh2); - */ - static any(...args) { - return __awaiter(this, void 0, void 0, function* () { - const pending = args.map(fh => fh.find()); - const files = yield Promise.all(pending); - return files.reduce(flatten, []); - }); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Filters by modifiction time - * - * @memberOf FileHound - * @method - * modified - * @param {string} dateExpression - date expression - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .modified("< 2 days") - * .find() - * .each(console.log); - */ - modified(pattern) { - return this.addFilter((file) => { - const modified = file.lastModifiedSync(); - return unit_compare_1.isDate(modified) - .assert(pattern); - }); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Filters by file access time - * - * @memberOf FileHound - * @method - * accessed - * @param {string} dateExpression - date expression - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .accessed("< 10 minutes") - * .find() - * .each(console.log); - */ - accessed(pattern) { - return this.addFilter((file) => { - const accessed = file.lastAccessedSync(); - return unit_compare_1.isDate(accessed) - .assert(pattern); - }); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Filters change time - * - * @memberOf FileHound - * @instance - * @method - * changed - * @param {string} dateExpression - date expression - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .changed("< 10 minutes") - * .find() - * .each(console.log); - */ - changed(pattern) { - return this.addFilter((file) => { - const changed = file.lastChangedSync(); - return unit_compare_1.isDate(changed) - .assert(pattern); - }); - } - // tslint:disable-next-line:valid-jsdoc - /** - * - * @memberOf FileHound - * @instance - * @method - * addFilter - * @param {function} function - custom filter function - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .addFilter(customFilter) - * .find() - * .each(consoe.log); - */ - addFilter(filter) { - this.matcher.on(filter); - return this; - } - // tslint:disable-next-line:valid-jsdoc - /** - * Defines the search paths - * - * @memberOf FileHound - * @instance - * @method - * paths - * @param {array} path - array of paths - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .paths("/tmp", "/etc") // or ["/tmp", "/etc"] - * .find() - * .each(console.log); - */ - paths(...args) { - this.searchPaths = _.uniq(arrays_1.from(args)) - .map(path.normalize); - return this; - } - // tslint:disable-next-line:valid-jsdoc - /** - * Define the search path - * - * @memberOf FileHound - * @instance - * @method - * path - * @param {string} path - path - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .path("/tmp") - * .find() - * .each(console.log); - */ - path(path) { - return this.paths(path); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Ignores files or sub-directories matching pattern - * - * @memberOf FileHound - * @instance - * @method - * discard - * @param {string|array} regex - regex or array of regex - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .discard("*.tmp*") - * .find() - * .each(console.log); - */ - discard(...args) { - const patterns = arrays_1.from(args); - patterns.forEach((pattern) => { - this.addFilter(matcher_1.Matcher.negate(matcher_1.Matcher.isMatch(pattern))); - }); - return this; - } - // tslint:disable-next-line:valid-jsdoc - /** - * Filter on file extension - * - * @memberOf FileHound - * @instance - * @method - * ext - * @param {string|array} extensions - extension or an array of extensions - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * let filehound = FileHound.create(); - * filehound - * .ext(".json") - * .find() - * .each(console.log); - * - * // array of extensions to filter by - * filehound = FileHound.create(); - * filehound - * .ext([".json", ".txt"]) - * .find() - * .each(console.log); - * - * // supports var args - * filehound = FileHound.create(); - * filehound - * .ext(".json", ".txt") - * .find() - * .each(console.log); - */ - ext(...args) { - const extensions = arrays_1.from(args) - .map(cleanExtension); - return this.addFilter(file => _.includes(extensions, file.getPathExtension())); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Filter by file size - * - * @memberOf FileHound - * @instance - * @method - * size - * @param {string} sizeExpression - a size expression - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .size("<10kb") - * .find() - * .each(console.log); - */ - size(sizeExpression) { - return this.addFilter((file) => { - const size = file.sizeSync(); - return unit_compare_1.isNumber(size) - .assert(sizeExpression); - }); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Filter by zero length files - * - * @memberOf FileHound - * @instance - * @method - * isEmpty - * @param {string} path - path - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .size("<10kb") - * .find() - * .each(console.log); - */ - isEmpty() { - return this.size(0); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Filter by a file glob - * - * @memberOf FileHound - * @instance - * @method - * glob - * @param {string} glob - file glob - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .glob("*tmp*") - * .find() - * .each(console.log); // array of files names all containing 'tmp' - */ - glob(globPattern) { - return this.match(globPattern); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Same as glob - * @see glob - */ - match(globPattern) { - return this.addFilter(file => file.isMatch(globPattern)); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Negates filters - * - * @memberOf FileHound - * @instance - * @method - * not - * @param {string} glob - file glob - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .not() - * .glob("*tmp*") - * .find() - * .each(console.log); // array of files names NOT containing 'tmp' - */ - not() { - this.matcher.negateAll(); - return this; - } - // tslint:disable-next-line:valid-jsdoc - /** - * Filter to ignore hidden files - * - * @memberOf FileHound - * @instance - * @method - * ignoreHiddenFiles - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .ignoreHiddenFiles() - * .find() - * .each(console.log); // array of files names that are not hidden files - */ - ignoreHiddenFiles() { - return this.addFilter(file => !file.isHiddenSync()); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Ignore hidden directories - * - * @memberOf FileHound - * @instance - * @method - * ignoreHiddenDirectories - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .ignoreHiddenDirectories() - * .find() - * .each(console.log); // array of files names that are not hidden directories - */ - ignoreHiddenDirectories() { - this.ignoreDirs = true; - return this; - } - // tslint:disable-next-line:valid-jsdoc - /** - * Find sub-directories - * - * @memberOf FileHound - * @instance - * @method - * directory - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .directory() - * .find() - * .each(console.log); // array of matching sub-directories - */ - directory() { - this.directoriesOnly = true; - return this; - } - // tslint:disable-next-line:valid-jsdoc - /** - * Find sockets - * - * @memberOf FileHound - * @instance - * @method - * socket - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .socket() - * .find() - * .each(console.log); // array of matching sockets - */ - socket() { - return this.addFilter(file => file.isSocket()); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Specify the directory search depth. If set to zero, recursive searching - * will be disabled - * - * @memberOf FileHound - * @instance - * @method - * depth - * @return a FileHound instance - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .depth(0) - * .find() - * .each(console.log); // array of files names only in the current directory - */ - depth(depth) { - this.maxDepth = depth; - return this; - } - // tslint:disable-next-line:valid-jsdoc - /** - * Asynchronously executes a file search. - * - * @memberOf FileHound - * @instance - * @method - * find - * @param {function} function - Optionally accepts a callback function - * @return Returns a Promise of all matches. If the Promise fulfils, - * the fulfilment value is an array of all matching files - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * filehound - * .find() - * .each(console.log); - * - * // using a callback - * filehound - * .find((err, files) => { - * if (err) return console.error(err); - * - * console.log(files); - * }); - */ - find() { - return __awaiter(this, void 0, void 0, function* () { - const paths = this.getSearchPaths(); - const searches = []; - const matcher = this.matcher.create(); - for (const path of paths) { - searches.push(this.searchAsync(path, matcher)); - } - try { - const results = yield Promise.all(searches); - return results - .reduce(flatten) - .map((file) => { - this.emit('match', file); - return file; - }); - } - catch (e) { - this.emit('error', e); - } - finally { - this.emit('end'); - } - }); - } - // tslint:disable-next-line:valid-jsdoc - /** - * Synchronously executes a file search. - * - * @memberOf FileHound - * @instance - * @method - * findSync - * @return Returns an array of all matching files - * @example - * import FileHound from 'filehound'; - * - * const filehound = FileHound.create(); - * const files = filehound.findSync(); - * console.log(files); - * - */ - findSync() { - return this.getSearchPaths() - .map(this.searchSync) - .reduce(flatten); - } - getSearchPaths() { - const paths = isDefined(this.maxDepth) - ? this.searchPaths - : files_1.reducePaths(this.searchPaths); - return arrays_1.copy(paths); - } - createSearchOpts() { - return { - ignoreDirs: this.ignoreDirs, - maxDepth: this.maxDepth, - directoriesOnly: this.directoriesOnly - }; - } - searchSync(dir) { - return walker.sync(dir, this.matcher.create(), this.createSearchOpts()); - } - searchAsync(dir, matcher) { - return __awaiter(this, void 0, void 0, function* () { - return walker.async(dir, matcher, this.createSearchOpts()); - }); - } -} -exports.default = FileHound; -//# sourceMappingURL=filehound.js.map \ No newline at end of file diff --git a/dist/src/filehound.js.map b/dist/src/filehound.js.map deleted file mode 100644 index 5f63fe8..0000000 --- a/dist/src/filehound.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"filehound.js","sourceRoot":"","sources":["../../src/filehound.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/files.js b/dist/src/files.js deleted file mode 100644 index 5dbcc9b..0000000 --- a/dist/src/files.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const _ = require("lodash"); -const path = require("path"); -const os = require("os"); -function flatten(a, b) { - return a.concat(b); -} -function hasParent(parent) { - const root = getRoot(parent); - return parent && (parent !== root && parent !== '.'); -} -function getParent(dir) { - return path.dirname(dir); -} -function getRoot(dir) { - return os.platform() === 'win32' - ? dir.split(path.sep)[0] + path.sep - : path.sep; -} -exports.getRoot = getRoot; -function getSubDirectories(base, allPaths) { - return allPaths.filter((candidate) => { - return base !== candidate && isSubDirectory(base, candidate); - }); -} -function findSubDirectories(paths) { - return paths - .map((path) => { - return getSubDirectories(path, paths); - }) - .reduce(flatten, []); -} -exports.findSubDirectories = findSubDirectories; -function notSubDirectory(subDirs) { - return (path) => { - return !_.includes(subDirs, path); - }; -} -exports.notSubDirectory = notSubDirectory; -function isSubDirectory(base, candidate) { - let parent = candidate; - while (hasParent(parent)) { - if (base === parent) { - return true; - } - parent = getParent(parent); - } - return false; -} -exports.isSubDirectory = isSubDirectory; -function reducePaths(searchPaths) { - if (searchPaths.length === 1) { - return searchPaths; - } - const subDirs = findSubDirectories(searchPaths.sort()); - return searchPaths.filter(notSubDirectory(subDirs)); -} -exports.reducePaths = reducePaths; -//# sourceMappingURL=files.js.map \ No newline at end of file diff --git a/dist/src/files.js.map b/dist/src/files.js.map deleted file mode 100644 index 8d7445f..0000000 --- a/dist/src/files.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/files.ts"],"names":[],"mappings":";;AAAA,4BAA4B;AAC5B,6BAA6B;AAC7B,yBAAyB;AAEzB,iBAAiB,CAAC,EAAE,CAAC;IACnB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,mBAAmB,MAAc;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,MAAM,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,mBAAmB,GAAW;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,iBAAwB,GAAW;IACjC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO;QAC9B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG;QACnC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACf,CAAC;AAJD,0BAIC;AAED,2BACE,IAAY,EACZ,QAAkB;IAElB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACnC,OAAO,IAAI,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4BAAmC,KAAe;IAChD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,OAAO,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AAND,gDAMC;AAED,yBAAgC,OAAiB;IAC/C,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC;AAJD,0CAIC;AAED,wBAA+B,IAAI,EAAE,SAAiB;IACpD,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE;QACxB,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QACD,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AATD,wCASC;AAED,qBAA4B,WAAqB;IAC/C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO,WAAW,CAAC;KACpB;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC;AAPD,kCAOC"} \ No newline at end of file diff --git a/dist/src/functions.js b/dist/src/functions.js deleted file mode 100644 index 71d6b54..0000000 --- a/dist/src/functions.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const _ = require("lodash"); -function negate(fn) { - return function (args) { - return !fn(args); - }; -} -exports.negate = negate; -function compose(args) { - const functions = _.isFunction(args) ? Array.from(arguments) : args; - return (file) => { - let match = true; - /* tslint:disable:no-increment-decrement */ - for (let i = 0; i < functions.length; i++) { - match = match && functions[i](file); - } - return match; - }; -} -exports.compose = compose; -//# sourceMappingURL=functions.js.map \ No newline at end of file diff --git a/dist/src/functions.js.map b/dist/src/functions.js.map deleted file mode 100644 index e9c1f3a..0000000 --- a/dist/src/functions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/functions.ts"],"names":[],"mappings":";;AAAA,4BAA4B;AAE5B,gBAAuB,EAA0B;IAC/C,MAAM,CAAC,UAAU,IAAS;QACxB,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAJD,wBAIC;AAED,iBAAwB,IAAI;IAC1B,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,2CAA2C;QAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAXD,0BAWC"} \ No newline at end of file diff --git a/dist/src/matcher.js b/dist/src/matcher.js deleted file mode 100644 index f278cc2..0000000 --- a/dist/src/matcher.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const _ = require("lodash"); -const bind_1 = require("./bind"); -// TODO: re-create matcher - retaining state i.e filters? -class Matcher { - constructor() { - this.filters = []; - this.negate = false; - bind_1.default(this); - } - on(filter) { - this.filters.push(filter); - return this; - } - static negate(fn) { - return function (args) { - return !fn(args); - }; - } - static isMatch(pattern) { - return (file) => { - return new RegExp(pattern).test(file.getName()); - }; - } - negateAll() { - this.negate = true; - return this; - } - static compose(args) { - const functions = _.isFunction(args) ? Array.from(arguments) : args; - return (file) => { - let match = true; - /* tslint:disable:no-increment-decrement */ - for (let i = 0; i < functions.length; i++) { - match = match && functions[i](file); - } - return match; - }; - } - create() { - const isMatch = Matcher.compose(this.filters); - if (this.negate) { - return Matcher.negate(isMatch); - } - return isMatch; - } -} -exports.Matcher = Matcher; -exports.default = Matcher; -//# sourceMappingURL=matcher.js.map \ No newline at end of file diff --git a/dist/src/matcher.js.map b/dist/src/matcher.js.map deleted file mode 100644 index d95a9fd..0000000 --- a/dist/src/matcher.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/matcher.ts"],"names":[],"mappings":";;AAAA,4BAA4B;AAE5B,iCAA0B;AAE1B,yDAAyD;AACzD;IAIE;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,cAAI,CAAC,IAAI,CAAC,CAAC;IACb,CAAC;IAEM,EAAE,CAAC,MAAM;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,EAA0B;QAC7C,OAAO,UAAU,IAAS;YACxB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,OAAe;QACnC,OAAO,CAAC,IAAI,EAAE,EAAE;YACd,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,IAAI;QACxB,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpE,OAAO,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,2CAA2C;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACrC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAChC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AApDD,0BAoDC;AAED,kBAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/dist/src/syncWalker.js b/dist/src/syncWalker.js deleted file mode 100644 index 74734d9..0000000 --- a/dist/src/syncWalker.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -function isDefined(value) { - return value !== undefined; -} -function flatten(a, b) { - return a.concat(b); -} -class SyncWalker { - constructor(root, dirsOnly, ignoreDirs, maxDepth) { - this.root = root; - this.tracked = []; - this.directoriesOnly = dirsOnly; - this.ignoreDirs = ignoreDirs; - this.maxDepth = maxDepth; - } - atMaxDepth(dir) { - const depth = dir.getDepthSync() - this.root.getDepthSync(); - return isDefined(this.maxDepth) && depth > this.maxDepth; - } - shouldFilterDirectory(dir) { - return (this.atMaxDepth(dir) || (this.ignoreDirs && dir.isHiddenSync())); - } - search(path, filter) { - if (this.shouldFilterDirectory(path)) { - return []; - } - return path.getFilesSync() - .map((file) => { - if (file.isDirectorySync()) { - if (!this.shouldFilterDirectory(file)) { - this.tracked.push(file); - } - return this.search(file, filter); - } - return file; - }) - .reduce(flatten, []) - .filter(filter); - } - walk(filter) { - this.tracked = []; - const files = this.search(this.root, filter); - if (this.directoriesOnly) { - return this.tracked.filter(filter); - } - return files; - } -} -exports.SyncWalker = SyncWalker; -//# sourceMappingURL=syncWalker.js.map \ No newline at end of file diff --git a/dist/src/syncWalker.js.map b/dist/src/syncWalker.js.map deleted file mode 100644 index 9c2d186..0000000 --- a/dist/src/syncWalker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"syncWalker.js","sourceRoot":"","sources":["../../src/syncWalker.ts"],"names":[],"mappings":";;AAEA,mBAAmB,KAAU;IAC3B,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAED,iBAAiB,CAAS,EAAE,CAAS;IACnC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED;IAOE,YAAY,IAAU,EAAE,QAAS,EAAE,UAAW,EAAE,QAAS;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,UAAU,CAAC,GAAG;QACpB,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3D,CAAC;IAEO,qBAAqB,CAAC,GAAG;QAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,MAAM,CAAC,IAAU,EAAE,MAA8B;QACvD,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE;aACvB,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE;YAClB,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;gBAC3B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;aACnB,MAAM,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAEM,IAAI,CAAC,MAA8B;QACxC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;CACF;AAnDD,gCAmDC"} \ No newline at end of file diff --git a/dist/src/walker.js b/dist/src/walker.js deleted file mode 100644 index 9d4cf9f..0000000 --- a/dist/src/walker.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -function search(file, fn) { - return __awaiter(this, void 0, void 0, function* () { - if (!(yield file.isDirectory())) { - return yield fn(file); - } - const cont = yield fn(file); - if (!cont) - return; - const names = yield file.getFiles(); - for (const file of names) { - yield search(file, fn); - } - }); -} -function walk(root, fn) { - return __awaiter(this, void 0, void 0, function* () { - return yield search(root, fn); - }); -} -exports.walk = walk; -//# sourceMappingURL=walker.js.map \ No newline at end of file diff --git a/dist/src/walker.js.map b/dist/src/walker.js.map deleted file mode 100644 index 395e18b..0000000 --- a/dist/src/walker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/walker.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,gBAAsB,IAAI,EAAE,EAAE;;QAC1B,EAAE,CAAC,CAAC,CAAC,CAAA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAAC,MAAM,CAAC;QAElB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;CAAA;AAED,cAA2B,IAAI,EAAE,EAAE;;QAC/B,MAAM,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;CAAA;AAFD,oBAEC"} \ No newline at end of file diff --git a/dist/src/walker/walk.js b/dist/src/walker/walk.js deleted file mode 100644 index 025f3ba..0000000 --- a/dist/src/walker/walk.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const File = require("file-js"); -const walkSync_1 = require("./walkSync"); -const walkAsync_1 = require("./walkAsync"); -const TERMINATE = false; -const CONTINUE = true; -function isDefined(value) { - return value !== undefined; -} -function atMaxDepth(dir, root, opts) { - const depth = dir.getDepthSync() - root.getDepthSync(); - return isDefined(opts.maxDepth) && depth > opts.maxDepth; -} -function shouldFilterDirectory(dir, root, opts) { - return (atMaxDepth(dir, root, opts) || (opts.ignoreDirs && dir.isHiddenSync())); -} -function async(dir, isMatch, opts) { - return __awaiter(this, void 0, void 0, function* () { - const root = File.create(dir); - const files = []; - yield walkAsync_1.walkAsync(root, (path) => __awaiter(this, void 0, void 0, function* () { - if ((yield path.isDirectory()) && shouldFilterDirectory(path, root, opts)) { - return TERMINATE; - } - if (opts.directoriesOnly) { - if (path !== root && (yield path.isDirectory()) && isMatch(path)) { - files.push(path.getName()); - } - } - else if (!(yield path.isDirectory()) && isMatch(path)) { - files.push(path.getName()); - } - return CONTINUE; - })); - return files; - }); -} -exports.async = async; -function sync(dir, isMatch, opts) { - const root = File.create(dir); - const files = []; - walkSync_1.walkSync(root, (path) => { - if (path.isDirectorySync() && shouldFilterDirectory(path, root, opts)) { - return TERMINATE; - } - if (opts.directoriesOnly) { - if (path !== root && path.isDirectorySync() && isMatch(path)) { - files.push(path.getName()); - } - } - else if (!path.isDirectorySync() && isMatch(path)) { - files.push(path.getName()); - } - return CONTINUE; - }); - return files; -} -exports.sync = sync; -//# sourceMappingURL=walk.js.map \ No newline at end of file diff --git a/dist/src/walker/walk.js.map b/dist/src/walker/walk.js.map deleted file mode 100644 index dac7c34..0000000 --- a/dist/src/walker/walk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"walk.js","sourceRoot":"","sources":["../../../src/walker/walk.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,gCAAgC;AAChC,yCAAsC;AACtC,2CAAwC;AAExC,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,MAAM,QAAQ,GAAG,IAAI,CAAC;AAEtB,mBAAmB,KAAU;IAC3B,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAED,oBAAoB,GAAG,EAAE,IAAI,EAAE,IAAI;IACjC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACvD,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC3D,CAAC;AAED,+BAA+B,GAAG,EAAE,IAAI,EAAE,IAAI;IAC5C,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,eAA4B,GAAW,EAAE,OAAO,EAAE,IAAI;;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,MAAM,qBAAS,CAAC,IAAI,EAAE,CAAO,IAAI,EAAE,EAAE;YACnC,IAAI,CAAA,MAAM,IAAI,CAAC,WAAW,EAAE,KAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;gBACvE,OAAO,SAAS,CAAC;aAClB;YACD,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,IAAI,KAAK,IAAI,KAAI,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC5B;aACF;iBAAM,IAAI,CAAC,CAAA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;gBACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;aAC5B;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;CAAA;AAnBD,sBAmBC;AAED,cAAqB,GAAW,EAAE,OAAO,EAAE,IAAI;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,mBAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;YACrE,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;aAC5B;SACF;aAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SAC5B;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AArBD,oBAqBC"} \ No newline at end of file diff --git a/dist/src/walker/walkAsync.js b/dist/src/walker/walkAsync.js deleted file mode 100644 index f4ccb02..0000000 --- a/dist/src/walker/walkAsync.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -function getDirNames(dir) { - return __awaiter(this, void 0, void 0, function* () { - const names = yield dir.getFiles(); - return names.sort(); - }); -} -function walkAsync(path, fn) { - return __awaiter(this, void 0, void 0, function* () { - if (!(yield path.isDirectory())) { - return yield fn(path); - } - const cont = yield fn(path); - if (!cont) { - return; - } - const names = yield getDirNames(path); - for (const name of names) { - yield walkAsync(name, fn); - } - }); -} -exports.walkAsync = walkAsync; -//# sourceMappingURL=walkAsync.js.map \ No newline at end of file diff --git a/dist/src/walker/walkAsync.js.map b/dist/src/walker/walkAsync.js.map deleted file mode 100644 index 265bbb6..0000000 --- a/dist/src/walker/walkAsync.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"walkAsync.js","sourceRoot":"","sources":["../../../src/walker/walkAsync.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA2B,GAAG;;QAC1B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CAAA;AAED,mBAAgC,IAAI,EAAE,EAAE;;QACpC,IAAI,CAAC,CAAA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA,EAAE;YAC3B,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;SACzB;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;SAAE;QAEtB,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SAC7B;IACL,CAAC;CAAA;AAZD,8BAYC"} \ No newline at end of file diff --git a/dist/src/walker/walkSync.js b/dist/src/walker/walkSync.js deleted file mode 100644 index 840e2fb..0000000 --- a/dist/src/walker/walkSync.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -function getDirNames(dir) { - const names = dir.getFilesSync(); - return names.sort(); -} -function walkSync(path, fn) { - if (!path.isDirectorySync()) { - return fn(path); - } - const cont = fn(path); - if (!cont) { - return; - } - const names = getDirNames(path); - for (const name of names) { - walkSync(name, fn); - } -} -exports.walkSync = walkSync; -//# sourceMappingURL=walkSync.js.map \ No newline at end of file diff --git a/dist/src/walker/walkSync.js.map b/dist/src/walker/walkSync.js.map deleted file mode 100644 index 75fab46..0000000 --- a/dist/src/walker/walkSync.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"walkSync.js","sourceRoot":"","sources":["../../../src/walker/walkSync.ts"],"names":[],"mappings":";;AAAA,qBAAqB,GAAG;IACpB,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,kBAAyB,IAAI,EAAE,EAAE;IAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;QACzB,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;KACnB;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO;KAAE;IAEtB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KACtB;AACL,CAAC;AAZD,4BAYC"} \ No newline at end of file diff --git a/dist/test/filehound.js b/dist/test/filehound.js deleted file mode 100644 index 6a6714d..0000000 --- a/dist/test/filehound.js +++ /dev/null @@ -1,872 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const chai_1 = require("chai"); -const fs = require("fs"); -const path = require("path"); -const moment = require("moment"); -const sinon = require("sinon"); -const File = require("file-js"); -const bluebird = require("bluebird"); -const filehound_1 = require("../src/filehound"); -const justFiles = qualifyNames([ - '/justFiles/a.json', - '/justFiles/b.json', - '/justFiles/dummy.txt' -]); -const nestedFiles = qualifyNames([ - '/nested/.hidden1/bad.txt', - '/nested/c.json', - 'nested/d.json', - '/nested/mydir/e.json' -]); -const textFiles = qualifyNames(['/justFiles/dummy.txt']); -const mixedExtensions = qualifyNames(['/ext/dummy.json', '/ext/dummy.txt']); -const matchFiles = qualifyNames(['/mixed/aabbcc.json', '/mixed/ab.json']); -const sandbox = sinon.sandbox.create(); -function getAbsolutePath(file) { - return path.join(__dirname + '/fixtures/', file); -} -function qualifyNames(names) { - return names.map(getAbsolutePath); -} -function createFile(fname, opts) { - const time = new Date(moment() - .subtract(opts.duration, opts.modifier) - .format()); - const fd = fs.openSync(fname, 'w+'); - fs.futimesSync(fd, time, time); - fs.closeSync(fd); -} -function deleteFile(fname) { - return fs.unlinkSync(fname); -} -describe('FileHound', () => __awaiter(this, void 0, void 0, function* () { - const fixtureDir = __dirname + '/fixtures'; - describe('.socket', () => __awaiter(this, void 0, void 0, function* () { - const file = { - isSocket: () => { - return true; - }, - isDirectorySync: () => { - return false; - }, - isDirectory: () => { - return bluebird.resolve(false); - }, - getName: () => { - return getAbsolutePath('/types/socket1'); - } - }; - beforeEach(() => { - const root = { - isDirectorySync: () => { - return true; - }, - isDirectory: () => __awaiter(this, void 0, void 0, function* () { - return true; - }), - getDepthSync: () => { - return 0; - }, - getFiles: () => { - return bluebird.resolve() - .then(() => { - return [file]; - }); - } - }; - sandbox.stub(File, 'create') - .returns(root); - }); - afterEach(() => { - sandbox.restore(); - }); - it('filters by socket type files', () => __awaiter(this, void 0, void 0, function* () { - const sockets = yield filehound_1.default.create() - .paths(fixtureDir + '/types') - .socket() - .find(); - chai_1.assert.deepEqual(sockets, [file.getName()]); - })); - })); - describe('.directory', () => { - it('returns sub-directories of a given directory', () => { - const expectedDirectories = qualifyNames([ - '/deeplyNested/mydir', - '/deeplyNested/mydir/mydir2', - '/deeplyNested/mydir/mydir2/mydir3', - '/deeplyNested/mydir/mydir2/mydir3/mydir4' - ]); - const query = filehound_1.default.create() - .paths(fixtureDir + '/deeplyNested') - .directory() - .find(); - return query.then((directories) => { - chai_1.assert.deepEqual(directories, expectedDirectories); - }); - }); - it('ignores hidden directories', () => { - const expectedDirectories = qualifyNames([ - '/deeplyNestedWithHiddenDir/mydir', - '/deeplyNestedWithHiddenDir/mydir/mydir2', - '/deeplyNestedWithHiddenDir/mydir/mydir2/mydir3', - '/deeplyNestedWithHiddenDir/mydir/mydir2/mydir3/mydir4' - ]); - const query = filehound_1.default.create() - .paths(fixtureDir + '/deeplyNestedWithHiddenDir') - .directory() - .ignoreHiddenDirectories() - .find(); - return query.then((directories) => { - chai_1.assert.deepEqual(directories, expectedDirectories); - }); - }); - it('filters matching directories', () => { - const expectedDirectories = qualifyNames([ - '/deeplyNested/mydir', - '/deeplyNested/mydir/mydir2', - '/deeplyNested/mydir/mydir2/mydir3' - ]); - const query = filehound_1.default.create() - .paths(fixtureDir + '/deeplyNested') - .directory() - .match('*dir4*') - .not() - .find(); - return query.then((directories) => { - chai_1.assert.deepEqual(directories, expectedDirectories); - }); - }); - }); - describe('.depth', () => { - it('only returns files in the current directory', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/deeplyNested') - .depth(0) - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/deeplyNested/c.json', 'deeplyNested/d.json'])); - }); - }); - it('only returns files one level deep', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/deeplyNested') - .depth(1) - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames([ - '/deeplyNested/c.json', - 'deeplyNested/d.json', - 'deeplyNested/mydir/e.json' - ])); - }); - }); - it('returns files n level deep', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/deeplyNested') - .depth(3) - .find(); - return query.then((files) => { - files.sort(); - chai_1.assert.deepEqual(files, qualifyNames([ - 'deeplyNested/c.json', - 'deeplyNested/d.json', - 'deeplyNested/mydir/e.json', - 'deeplyNested/mydir/mydir2/f.json', - 'deeplyNested/mydir/mydir2/mydir3/z.json', - 'deeplyNested/mydir/mydir2/y.json' - ])); - }); - }); - it('returns files n level deep relative to path', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/deeplyNested', fixtureDir + '/deeplyNested/mydir') - .depth(0) - .find(); - return query.then((files) => { - files.sort(); - chai_1.assert.deepEqual(files, qualifyNames([ - 'deeplyNested/c.json', - 'deeplyNested/d.json', - 'deeplyNested/mydir/e.json' - ])); - }); - }); - }); - describe('.path', () => { - it('returns all files in a given directory', () => { - const query = filehound_1.default.create() - .path(fixtureDir + '/justFiles') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, justFiles); - }); - }); - it('ignores all paths except the first', () => { - const location1 = fixtureDir + '/justFiles'; - const query = filehound_1.default.create() - .path(location1) - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, justFiles); - }); - }); - it('returns an error when a given path is invalid', () => { - const badLocation = fixtureDir + '/justBad'; - const query = filehound_1.default.create() - .path(badLocation) - .find(); - return query.catch((err) => { - chai_1.assert.ok(err); - }); - }); - }); - describe('.paths', () => { - it('returns all files in a given directory', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/justFiles') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, justFiles); - }); - }); - it('returns files performing a recursive search', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/nested') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, nestedFiles); - }); - }); - it('returns matching files from multiple search paths', () => { - const location1 = fixtureDir + '/nested'; - const location2 = fixtureDir + '/justFiles'; - const query = filehound_1.default.create() - .paths(location1, location2) - .find(); - return query.then((files) => { - const expected = nestedFiles.concat(justFiles) - .sort(); - chai_1.assert.deepEqual(files, expected); - }); - }); - it('returns matching files given a array of paths', () => { - const location1 = fixtureDir + '/nested'; - const location2 = fixtureDir + '/justFiles'; - const query = filehound_1.default.create() - .paths([location1, location2]) - .find(); - return query.then((files) => { - const expected = nestedFiles.concat(justFiles) - .sort(); - chai_1.assert.deepEqual(files, expected); - }); - }); - it('removes duplicate paths', () => { - const location1 = fixtureDir + '/nested'; - const fh = filehound_1.default.create(); - fh.paths(location1, location1); - chai_1.assert.deepEqual(fh.getSearchPaths(), [location1]); - }); - it('returns a defensive copy of the search directories', () => { - const fh = filehound_1.default.create(); - fh.paths('a', 'b', 'c'); - const directories = fh.getSearchPaths(); - directories.push('d'); - chai_1.assert.equal(fh.getSearchPaths().length, 3); - }); - it('normalises paths', () => { - const location1 = fixtureDir + '/nested'; - const location2 = fixtureDir + '/nested/mydir'; - const location3 = fixtureDir + '/justFiles/moreFiles'; - const location4 = fixtureDir + '/justFiles'; - const fh = filehound_1.default.create(); - fh.paths(location2, location1, location4, location3); - chai_1.assert.deepEqual(fh.getSearchPaths(), [location4, location1]); - }); - }); - describe('.discard', () => { - it('ignores matching sub-directories', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/nested') - .discard('mydir') - .find(); - const expected = nestedFiles.filter(f => !/mydir/.test(f)); - return query.then((files) => { - chai_1.assert.deepEqual(files, expected); - }); - }); - it('ignores files', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/nested') - .discard('c.json') - .find(); - const expected = nestedFiles.filter(f => !/c.json/.test(f)); - return query.then((files) => { - chai_1.assert.deepEqual(files, expected); - }); - }); - it('ignores everything using a greedy match', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/nested') - .discard('.*') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, []); - }); - }); - it('matches all files after being negated', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/nested') - .discard('.*') - .not() - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, nestedFiles); - }); - }); - it('applies multiple discard filters as variable aruments', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/mixed') - .discard('a.json', 'z.json') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/mixed/aabbcc.json', '/mixed/ab.json'])); - }); - }); - it('applies an array of discard filters', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/mixed') - .discard(['a.json', 'z.json']) - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/mixed/aabbcc.json', '/mixed/ab.json'])); - }); - }); - }); - describe('.findSync', () => { - it('returns an array of matching files', () => { - const files = filehound_1.default.create() - .paths(fixtureDir + '/justFiles') - .findSync(); - chai_1.assert.deepEqual(files, justFiles); - }); - it('filters matching directories', () => { - const expectedDirectories = qualifyNames([ - '/deeplyNested/mydir', - '/deeplyNested/mydir/mydir2', - '/deeplyNested/mydir/mydir2/mydir3' - ]); - const directories = filehound_1.default.create() - .paths(fixtureDir + '/deeplyNested') - .directory() - .match('*dir4*') - .not() - .findSync(); - chai_1.assert.deepEqual(directories, expectedDirectories); - }); - it('filters matching files', () => { - const files = filehound_1.default.create() - .paths(fixtureDir + '/justFiles') - .ext('txt') - .findSync(); - chai_1.assert.deepEqual(files, textFiles); - }); - }); - describe('.ext', () => { - it('returns files for a given ext', () => { - const query = filehound_1.default.create() - .ext('txt') - .paths(fixtureDir + '/justFiles') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, textFiles); - }); - }); - it('returns files for a given ext including a period', () => { - const query = filehound_1.default.create() - .ext('.txt') - .paths(fixtureDir + '/justFiles') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, textFiles); - }); - }); - it('returns files for all matching extensions', () => { - const query = filehound_1.default.create() - .ext(['txt', '.json']) - .paths(fixtureDir + '/ext') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, mixedExtensions); - }); - }); - it('supports var args', () => { - const query = filehound_1.default.create() - .ext('.txt', 'json') - .paths(fixtureDir + '/ext') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files, mixedExtensions); - }); - }); - }); - describe('.match', () => { - it('returns files for given match name', () => { - const query = filehound_1.default.create() - .match('*ab*.json') - .paths(fixtureDir + '/mixed') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files.sort(), matchFiles); - }); - }); - it('returns files using glob method', () => { - const query = filehound_1.default.create() - .glob('*ab*.json') - .paths(fixtureDir + '/mixed') - .find(); - return query.then((files) => { - chai_1.assert.deepEqual(files.sort(), matchFiles); - }); - }); - it('performs recursive search using matching on a given pattern', () => { - const query = filehound_1.default.create() - .paths(fixtureDir + '/nested') - .match('*.json') - .find(); - const expected = nestedFiles.filter(f => /\.json$/.test(f)); - return query.then((files) => { - chai_1.assert.deepEqual(files.sort(), expected); - }); - }); - }); - describe('.not', () => { - it('returns files not matching the given query', () => { - const notJsonStartingWithZ = filehound_1.default.create() - .match('*.json') - .paths(fixtureDir + '/justFiles') - .not() - .find(); - return notJsonStartingWithZ.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/justFiles/dummy.txt'])); - }); - }); - }); - describe('.any', () => { - it('returns matching files for any query', () => { - const jsonStartingWithZ = filehound_1.default.create() - .match('*.json') - .paths(fixtureDir + '/justFiles'); - // .find(); - const onlyTextFles = filehound_1.default.create() - .ext('txt') - .paths(fixtureDir + '/justFiles'); - // .find(); - const results = filehound_1.default.any(jsonStartingWithZ, onlyTextFles); - return results.then((files) => { - chai_1.assert.deepEqual(files, justFiles); - }); - }); - }); - describe('.size', () => { - it('returns files matched using the equality operator by default', () => { - const sizeFile10Bytes = filehound_1.default.create() - .size(20) - .paths(fixtureDir + '/justFiles') - .find(); - return sizeFile10Bytes.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/justFiles/b.json'])); - }); - }); - it('returns files that equal a given number of bytes', () => { - const sizeFile10Bytes = filehound_1.default.create() - .size('==20') - .paths(fixtureDir + '/justFiles') - .find(); - return sizeFile10Bytes.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/justFiles/b.json'])); - }); - }); - it('returns files greater than a given size', () => { - const sizeGreaterThan1k = filehound_1.default.create() - .size('>1024') - .paths(fixtureDir + '/sizes') - .find(); - return sizeGreaterThan1k.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/sizes/2k.txt'])); - }); - }); - it('returns files less than a given size', () => { - const sizeLessThan1k = filehound_1.default.create() - .size('<1024') - .paths(fixtureDir + '/sizes') - .find(); - return sizeLessThan1k.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/sizes/10b.txt', '/sizes/1b.txt'])); - }); - }); - it('returns files using file size units', () => { - const sizeLessThan15bytes = filehound_1.default.create() - .size('<15b') - .paths(fixtureDir + '/sizes') - .find(); - return sizeLessThan15bytes.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/sizes/10b.txt', '/sizes/1b.txt'])); - }); - }); - it('returns files less than or equal to a given size', () => { - const lessThanOrEqualTo1k = filehound_1.default.create() - .size('<=1024') - .paths(fixtureDir + '/sizes') - .find(); - return lessThanOrEqualTo1k.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/sizes/10b.txt', '/sizes/1b.txt', '/sizes/1k.txt'])); - }); - }); - it('returns files greater than or equal to a given size', () => { - const greaterThanOrEqualTo1k = filehound_1.default.create() - .size('>=1024') - .paths(fixtureDir + '/sizes') - .find(); - return greaterThanOrEqualTo1k.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/sizes/1k.txt', '/sizes/2k.txt'])); - }); - }); - it('returns files within a given size range', () => { - const range = filehound_1.default.create() - .size('>0') - .size('<=1024') - .paths(fixtureDir + '/sizes') - .find(); - return range.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/sizes/10b.txt', '/sizes/1b.txt', '/sizes/1k.txt'])); - }); - }); - }); - describe('.isEmpty()', () => { - it('returns zero length files', () => { - const allEmpty = filehound_1.default.create() - .isEmpty() - .paths(fixtureDir + '/justFiles') - .find(); - return allEmpty.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/justFiles/a.json', '/justFiles/dummy.txt'])); - }); - }); - }); - describe('.ignoreHiddenFiles()', () => { - it('ignores hidden files', () => { - const noHiddenFiles = filehound_1.default.create() - .ignoreHiddenFiles() - .paths(fixtureDir + '/visibility') - .find(); - noHiddenFiles.then((files) => { - chai_1.assert.equal(files.length, 2); - chai_1.assert.deepEqual(files, qualifyNames([ - '/visibility/.hidden/visible.json', - '/visibility/visible.json' - ])); - }); - }); - it('ignores files within hidden directories', () => { - const noHiddenFiles = filehound_1.default.create() - .ignoreHiddenDirectories() - .ignoreHiddenFiles() - .paths(fixtureDir + '/visibility') - .find(); - noHiddenFiles.then((files) => { - chai_1.assert.equal(files.length, 1); - chai_1.assert.deepEqual(files, qualifyNames(['/visibility/visible.json'])); - }); - }); - }); - describe('.addFilter', () => { - it('returns files based on a custom filter', () => { - const customFilter = filehound_1.default.create() - .addFilter((file) => { - return file.sizeSync() === 1024; - }) - .paths(fixtureDir + '/custom') - .find(); - return customFilter.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/custom/passed.txt'])); - }); - }); - }); - describe('.modified', () => { - before(() => { - fs.mkdirSync(getAbsolutePath('dates')); - }); - after(() => { - fs.rmdirSync(getAbsolutePath('dates')); - }); - const files = [ - { - name: getAbsolutePath('dates/a.txt'), - modified: 10 - }, - { - name: getAbsolutePath('dates/w.txt'), - modified: 9 - }, - { - name: getAbsolutePath('dates/x.txt'), - modified: 2 - }, - { - name: getAbsolutePath('dates/y.txt'), - modified: 1 - }, - { - name: getAbsolutePath('dates/z.txt'), - modified: 0 - } - ]; - beforeEach(() => { - files.forEach((file) => { - createFile(file.name, { - duration: file.modified, - modifier: 'days' - }); - }); - }); - afterEach(() => { - files.forEach((file) => { - deleteFile(file.name); - }); - }); - it('returns files modified exactly n days', () => { - const modifiedNDaysAgo = filehound_1.default.create() - .paths(fixtureDir + '/dates') - .modified(10) - .find(); - return modifiedNDaysAgo.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/dates/a.txt'])); - }); - }); - it('returns files greater than n days', () => { - const modifiedNDaysAgo = filehound_1.default.create() - .paths(fixtureDir + '/dates') - .modified('>2 days') - .find(); - return modifiedNDaysAgo.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/dates/a.txt', '/dates/w.txt'])); - }); - }); - it('returns files less than n days', () => { - const modifiedNDaysAgo = filehound_1.default.create() - .paths(fixtureDir + '/dates') - .modified('<10 days') - .find(); - return modifiedNDaysAgo.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames([ - '/dates/w.txt', - '/dates/x.txt', - '/dates/y.txt', - '/dates/z.txt' - ])); - }); - }); - }); - describe('.accessed', () => { - before(() => { - fs.mkdirSync(getAbsolutePath('dates')); - }); - after(() => { - fs.rmdirSync(getAbsolutePath('dates')); - }); - const files = [ - { - name: getAbsolutePath('dates/a.txt'), - accessed: 10 - }, - { - name: getAbsolutePath('dates/w.txt'), - accessed: 9 - }, - { - name: getAbsolutePath('dates/x.txt'), - accessed: 2 - }, - { - name: getAbsolutePath('dates/y.txt'), - accessed: 1 - }, - { - name: getAbsolutePath('dates/z.txt'), - accessed: 0 - } - ]; - beforeEach(() => { - files.forEach((file) => { - createFile(file.name, { - duration: file.accessed, - modifier: 'hours' - }); - }); - }); - afterEach(() => { - files.forEach((file) => { - deleteFile(file.name); - }); - }); - it('returns files accessed > 8 hours ago', () => { - const accessedFiles = filehound_1.default.create() - .paths(fixtureDir + '/dates') - .accessed('>8h') - .find(); - return accessedFiles.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/dates/a.txt', '/dates/w.txt'])); - }); - }); - it('returns files accessed < 3 hours ago', () => { - const accessedFiles = filehound_1.default.create() - .paths(fixtureDir + '/dates') - .accessed('<3h') - .find(); - return accessedFiles.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/dates/x.txt', '/dates/y.txt', '/dates/z.txt'])); - }); - }); - it('returns files accessed 1 hour ago', () => { - const accessedFiles = filehound_1.default.create() - .paths(fixtureDir + '/dates') - .accessed('=1h') - .find(); - return accessedFiles.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/dates/y.txt'])); - }); - }); - }); - describe('.changed', () => { - const sandbox = sinon.sandbox.create(); - let statSync; - before(() => { - fs.mkdirSync(getAbsolutePath('dates')); - statSync = sandbox.stub(fs, 'statSync'); - statSync.returns({ - isDirectory() { - return true; - } - }); - }); - after(() => { - fs.rmdirSync(getAbsolutePath('dates')); - sandbox.restore(); - }); - const files = [ - { - name: getAbsolutePath('dates/a.txt'), - changed: 10 - }, - { - name: getAbsolutePath('dates/w.txt'), - changed: 9 - }, - { - name: getAbsolutePath('dates/x.txt'), - changed: 2 - }, - { - name: getAbsolutePath('dates/y.txt'), - changed: 1 - }, - { - name: getAbsolutePath('dates/z.txt'), - changed: 0 - } - ]; - beforeEach(() => { - files.forEach((file) => { - createFile(file.name, { - duration: file.changed, - modifier: 'hours' - }); - statSync.withArgs(file.name) - .returns({ - ctime: moment() - .subtract(file.changed, 'hours'), - isDirectory() { - return false; - } - }); - }); - }); - afterEach(() => { - files.forEach((file) => { - deleteFile(file.name); - }); - }); - it('returns files changed > 8 hours ago', () => { - const changedFiles = filehound_1.default.create() - .paths(fixtureDir + '/dates') - .changed('>8h') - .find(); - return changedFiles.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/dates/a.txt', '/dates/w.txt'])); - }); - }); - it('returns files changed < 3 hours ago', () => { - const changedFiles = filehound_1.default.create() - .paths(fixtureDir + '/dates') - .changed('<3h') - .find(); - return changedFiles.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/dates/x.txt', '/dates/y.txt', '/dates/z.txt'])); - }); - }); - it('returns files changed 1 hour ago', () => { - const changedFiles = filehound_1.default.create() - .paths(fixtureDir + '/dates') - .changed('=1h') - .find(); - return changedFiles.then((files) => { - chai_1.assert.deepEqual(files, qualifyNames(['/dates/y.txt'])); - }); - }); - }); - it('emits a match event for each file matched', () => { - const fh = filehound_1.default.create(); - fh.path(fixtureDir + '/justFiles'); - const spy = sinon.spy(); - fh.on('match', spy); - const query = fh.find(); - return query.then(() => { - sinon.assert.callCount(spy, 3); - sinon.assert.calledWithMatch(spy, 'dummy.txt'); - sinon.assert.calledWithMatch(spy, 'a.json'); - sinon.assert.calledWithMatch(spy, 'b.json'); - }); - }); - it('emits an end event when the search is complete', () => { - const fh = filehound_1.default.create(); - fh.path(fixtureDir + '/justFiles'); - const spy = sinon.spy(); - fh.on('end', spy); - const query = fh.find(); - return query.then(() => { - sinon.assert.callCount(spy, 1); - }); - }); - it('emits an error event', () => { - const fh = filehound_1.default.create(); - fh.path(fixtureDir + '/justBad'); - const spy = sinon.spy(); - fh.on('error', spy); - const query = fh.find(); - return query.catch((e) => { - chai_1.assert.ok(e); - sinon.assert.callCount(spy, 1); - }); - }); -})); -//# sourceMappingURL=filehound.js.map \ No newline at end of file diff --git a/dist/test/filehound.js.map b/dist/test/filehound.js.map deleted file mode 100644 index b2218e4..0000000 --- a/dist/test/filehound.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"filehound.js","sourceRoot":"","sources":["../../test/filehound.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/test/files.js b/dist/test/files.js deleted file mode 100644 index 239f4c5..0000000 --- a/dist/test/files.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const chai_1 = require("chai"); -const files = require("../src/files"); -describe('Files', () => { - describe('.notSubDirectory(subDirs)', () => { - it('returns true when the directory is not subdirectory', () => { - const notSubDirectory = files.notSubDirectory([ - './fixtures', - './fixtures/nested' - ]); - chai_1.assert.strictEqual(notSubDirectory('./fixtures/custom'), true); - }); - it('returns false when the directory is a subdirectory', () => { - const isSubDirectory = files.notSubDirectory([ - './fixtures', - './fixtures/nested' - ]); - chai_1.assert.strictEqual(isSubDirectory('./fixtures/nested'), false); - }); - }); - describe('.getRoot', () => { - it('returns the root of a given path', () => { - const root = files.getRoot('/a/b/c'); - chai_1.assert.equal('/', root); - }); - }); -}); -//# sourceMappingURL=files.js.map \ No newline at end of file diff --git a/dist/test/files.js.map b/dist/test/files.js.map deleted file mode 100644 index f4cd3e4..0000000 --- a/dist/test/files.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"files.js","sourceRoot":"","sources":["../../test/files.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,sCAAsC;AAEtC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;gBAC5C,YAAY;gBACZ,mBAAmB;aACpB,CAAC,CAAC;YACH,aAAM,CAAC,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC;gBAC3C,YAAY;gBACZ,mBAAmB;aACpB,CAAC,CAAC;YACH,aAAM,CAAC,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrC,aAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file