yogeshs-utilities
Version:
61 lines • 2.46 kB
JavaScript
;
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