UNPKG

yogeshs-utilities

Version:
61 lines 2.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = __importDefault(require("./path")); const fs_1 = require("fs"); const path_2 = require("path"); class FileExtensions extends path_1.default { constructor() { super(...arguments); this.getFileInfo = function (path) { if (!path || path.length === 0) return undefined; return (0, path_2.parse)(path); }; this.getNameWithoutExtension = function (path) { let fullName = (0, path_2.parse)(path).name; return fullName.split(".").shift(); }; this.getExtensionOnly = function (path) { if (typeof path === "undefined" || path === "" || path === null) return undefined; return (0, path_2.parse)(path).ext; }; this.getAllFilesFromPath = function (rootPath, files = [], recursive = true) { if (!(0, fs_1.existsSync)(rootPath)) return files; const dirOrFiles = (0, fs_1.readdirSync)(rootPath); for (const dir of dirOrFiles) { const dPath = (0, path_2.join)(rootPath, dir); const stats = (0, fs_1.statSync)(dPath); if (!recursive) continue; if (stats.isDirectory()) { // @ts-ignore files = this.getAllFilesFromPath(dPath, files); } else { files.push(dPath); } } return files; }; this.getFilesFromDirectories = function getFilesFromDirectories(directoryList, strExtensions) { try { let files = []; for (const directory of directoryList) { const allFiles = (0, fs_1.readdirSync)(directory, { withFileTypes: true }).filter((entry) => entry.isFile() && strExtensions.some((ext) => entry.name.endsWith(ext))).map((entry) => (0, path_2.join)(directory, entry.name)); files.push(...allFiles); } return files; } catch (error) { return []; } }; } } exports.default = FileExtensions; //# sourceMappingURL=file.js.map