UNPKG

sat-utils

Version:
35 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDirFilesList = getDirFilesList; const path = require("path"); const fs = require("fs"); /** * @param {string} dir path to directory * @param {Array} fileList file list * @param {Array|string} directoryToSkip * @param {boolean} [ignoreSubDirs] ignore sub directories * @returns {Array<string>} file list */ function getDirFilesList(dir, fileList = [], directoryToSkip = [], ignoreSubDirs) { if (!fs.existsSync(dir)) { throw new Error(`FileSystem: ${dir} does not exists`); } const files = fs.readdirSync(dir); files.forEach(function (file) { const isDirr = fs.statSync(path.join(dir, file)).isDirectory(); const shouldBeExcluded = (Array.isArray(directoryToSkip) && directoryToSkip.includes(file)) || (typeof directoryToSkip === 'string' && file.includes(directoryToSkip)) || (directoryToSkip instanceof RegExp && file.match(directoryToSkip)); if (shouldBeExcluded) { return; } if (isDirr && !ignoreSubDirs) { fileList = getDirFilesList(path.join(dir, file), fileList, directoryToSkip, ignoreSubDirs); } else if (!isDirr) { fileList.push(path.join(dir, file)); } }); return fileList; } //# sourceMappingURL=read.dir.js.map