UNPKG

@sapphire/node-utilities

Version:

Node specific JavaScript utilities for the Sapphire Community

42 lines (39 loc) 1.96 kB
'use strict'; var promises = require('fs/promises'); var path = require('path'); var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); async function* findFilesRecursively(path$1, predicate = () => true) { const dir = await promises.opendir(path$1); for await (const item of dir) { if (item.isFile() && predicate(item.name)) { yield path.join(dir.path, item.name); } else if (item.isDirectory()) { yield* findFilesRecursively(path.join(dir.path, item.name), predicate); } } } __name(findFilesRecursively, "findFilesRecursively"); function findFilesRecursivelyStringStartsWith(path, fileStartsWith) { return findFilesRecursively(path, (filePath) => filePath.startsWith(fileStartsWith)); } __name(findFilesRecursivelyStringStartsWith, "findFilesRecursivelyStringStartsWith"); function findFilesRecursivelyStringEndsWith(path, fileEndsWith) { return findFilesRecursively(path, (filePath) => filePath.endsWith(fileEndsWith)); } __name(findFilesRecursivelyStringEndsWith, "findFilesRecursivelyStringEndsWith"); function findFilesRecursivelyStringIncludes(path, include) { return findFilesRecursively(path, (filePath) => filePath.includes(include)); } __name(findFilesRecursivelyStringIncludes, "findFilesRecursivelyStringIncludes"); function findFilesRecursivelyRegex(path, regex) { return findFilesRecursively(path, (filePath) => regex.test(filePath)); } __name(findFilesRecursivelyRegex, "findFilesRecursivelyRegex"); exports.findFilesRecursively = findFilesRecursively; exports.findFilesRecursivelyRegex = findFilesRecursivelyRegex; exports.findFilesRecursivelyStringEndsWith = findFilesRecursivelyStringEndsWith; exports.findFilesRecursivelyStringIncludes = findFilesRecursivelyStringIncludes; exports.findFilesRecursivelyStringStartsWith = findFilesRecursivelyStringStartsWith; //# sourceMappingURL=out.js.map //# sourceMappingURL=index.cjs.map