UNPKG

@grnsft/if

Version:

Impact Framework

94 lines 7.72 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeFileIfExists = exports.getFileName = exports.getYamlFiles = exports.isDirectoryExists = exports.isFileExists = void 0; const fs = __importStar(require("fs/promises")); const path = __importStar(require("path")); /** * Checks if file exists with the given `filePath`. */ const isFileExists = async (filePath) => { try { await fs.stat(filePath); return true; } catch (error) { return false; } }; exports.isFileExists = isFileExists; /** * Checks if the directory exists with the given `filePath`. */ const isDirectoryExists = async (directoryPath) => { try { const stat = await fs.lstat(directoryPath); return stat.isDirectory(); } catch (error) { return false; } }; exports.isDirectoryExists = isDirectoryExists; /** * Gets all files that have either .yml or .yaml extension in the given directory. */ const getYamlFiles = async (directory) => { let yamlFiles = []; const files = await fs.readdir(directory); for (const file of files) { const fullPath = path.join(directory, file); const isDirExists = await (0, exports.isDirectoryExists)(fullPath); if (isDirExists) { yamlFiles = yamlFiles.concat(await (0, exports.getYamlFiles)(fullPath)); } else { if (file.endsWith('.yml') || file.endsWith('.yaml')) { yamlFiles.push(fullPath); } } } return yamlFiles; }; exports.getYamlFiles = getYamlFiles; /** * Gets fileName from the given path without an extension. */ const getFileName = (filePath) => { const baseName = path.basename(filePath); const extension = path.extname(filePath); return baseName.replace(extension, ''); }; exports.getFileName = getFileName; /** * Removes the given file if exists. */ const removeFileIfExists = async (filePath) => { if (await (0, exports.isFileExists)(filePath)) { await fs.unlink(filePath); } }; exports.removeFileIfExists = removeFileIfExists; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3V0aWwvZnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFDbEMsMkNBQTZCO0FBRTdCOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUNyRCxJQUFJO1FBQ0YsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDLENBQUM7QUFQVyxRQUFBLFlBQVksZ0JBT3ZCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxhQUFxQixFQUFFLEVBQUU7SUFDL0QsSUFBSTtRQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUMzQjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMsQ0FBQztBQVBXLFFBQUEsaUJBQWlCLHFCQU81QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsRUFBRTtJQUN0RCxJQUFJLFNBQVMsR0FBYSxFQUFFLENBQUM7SUFFN0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTFDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSx5QkFBaUIsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUV0RCxJQUFJLFdBQVcsRUFBRTtZQUNmLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBQSxvQkFBWSxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNuRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzFCO1NBQ0Y7S0FDRjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQW5CVyxRQUFBLFlBQVksZ0JBbUJ2QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBSlcsUUFBQSxXQUFXLGVBSXRCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDM0QsSUFBSSxNQUFNLElBQUEsb0JBQVksRUFBQyxRQUFRLENBQUMsRUFBRTtRQUNoQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDM0I7QUFDSCxDQUFDLENBQUM7QUFKVyxRQUFBLGtCQUFrQixzQkFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG4vKipcbiAqIENoZWNrcyBpZiBmaWxlIGV4aXN0cyB3aXRoIHRoZSBnaXZlbiBgZmlsZVBhdGhgLlxuICovXG5leHBvcnQgY29uc3QgaXNGaWxlRXhpc3RzID0gYXN5bmMgKGZpbGVQYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBhd2FpdCBmcy5zdGF0KGZpbGVQYXRoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBkaXJlY3RvcnkgZXhpc3RzIHdpdGggdGhlIGdpdmVuIGBmaWxlUGF0aGAuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RpcmVjdG9yeUV4aXN0cyA9IGFzeW5jIChkaXJlY3RvcnlQYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgZnMubHN0YXQoZGlyZWN0b3J5UGF0aCk7XG4gICAgcmV0dXJuIHN0YXQuaXNEaXJlY3RvcnkoKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbi8qKlxuICogR2V0cyBhbGwgZmlsZXMgdGhhdCBoYXZlIGVpdGhlciAueW1sIG9yIC55YW1sIGV4dGVuc2lvbiBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5LlxuICovXG5leHBvcnQgY29uc3QgZ2V0WWFtbEZpbGVzID0gYXN5bmMgKGRpcmVjdG9yeTogc3RyaW5nKSA9PiB7XG4gIGxldCB5YW1sRmlsZXM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3QgZmlsZXMgPSBhd2FpdCBmcy5yZWFkZGlyKGRpcmVjdG9yeSk7XG5cbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBmaWxlKTtcbiAgICBjb25zdCBpc0RpckV4aXN0cyA9IGF3YWl0IGlzRGlyZWN0b3J5RXhpc3RzKGZ1bGxQYXRoKTtcblxuICAgIGlmIChpc0RpckV4aXN0cykge1xuICAgICAgeWFtbEZpbGVzID0geWFtbEZpbGVzLmNvbmNhdChhd2FpdCBnZXRZYW1sRmlsZXMoZnVsbFBhdGgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZpbGUuZW5kc1dpdGgoJy55bWwnKSB8fCBmaWxlLmVuZHNXaXRoKCcueWFtbCcpKSB7XG4gICAgICAgIHlhbWxGaWxlcy5wdXNoKGZ1bGxQYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4geWFtbEZpbGVzO1xufTtcblxuLyoqXG4gKiBHZXRzIGZpbGVOYW1lIGZyb20gdGhlIGdpdmVuIHBhdGggd2l0aG91dCBhbiBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRGaWxlTmFtZSA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGJhc2VOYW1lID0gcGF0aC5iYXNlbmFtZShmaWxlUGF0aCk7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IHBhdGguZXh0bmFtZShmaWxlUGF0aCk7XG4gIHJldHVybiBiYXNlTmFtZS5yZXBsYWNlKGV4dGVuc2lvbiwgJycpO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBmaWxlIGlmIGV4aXN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZUZpbGVJZkV4aXN0cyA9IGFzeW5jIChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGlmIChhd2FpdCBpc0ZpbGVFeGlzdHMoZmlsZVBhdGgpKSB7XG4gICAgYXdhaXQgZnMudW5saW5rKGZpbGVQYXRoKTtcbiAgfVxufTtcbiJdfQ==