UNPKG

ngrx-uml

Version:
114 lines (113 loc) 4.16 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.serializeConvertedItemsMapToJson = exports.removeiIlegalCharacters = exports.getCommandFilesExtensionsForEnvironment = exports.printProgress = exports.getFileName = exports.prepareTraceLogger = exports.writeToFile = exports.writeJsonToFile = exports.getKeysReplacer = exports.getKeyReplacer = exports.objectFlter = void 0; const chalk_1 = __importDefault(require("chalk")); const fs_1 = require("fs"); const loglevel_1 = __importDefault(require("loglevel")); const path_1 = __importDefault(require("path")); const models_1 = require("../core/converters/models"); function objectFlter(key, value) { if (!key) { return value; } if (typeof value === 'object') return undefined; return value; } exports.objectFlter = objectFlter; function getKeyReplacer(keyToReplace) { return function actionReplacer(key, value) { if (key === keyToReplace) { return undefined; } return value; }; } exports.getKeyReplacer = getKeyReplacer; function getKeysReplacer(keysToReplace) { return function actionReplacer(key, value) { if (keysToReplace.includes(key)) { return undefined; } return value; }; } exports.getKeysReplacer = getKeysReplacer; // eslint-disable-next-line @typescript-eslint/no-explicit-any function writeJsonToFile(data, outDir, fileName, replacer) { if (!fs_1.existsSync(outDir)) { fs_1.mkdirSync(outDir, { recursive: true }); } const filePath = `${outDir}/${fileName}`; loglevel_1.default.trace('write file:', filePath); const fileData = JSON.stringify(data, replacer, 2); fs_1.writeFileSync(filePath, fileData); } exports.writeJsonToFile = writeJsonToFile; function writeToFile(content, outDir, fileName) { if (!fs_1.existsSync(outDir)) { fs_1.mkdirSync(outDir, { recursive: true }); } const filePath = `${outDir}/${fileName}`; loglevel_1.default.trace('write file:', chalk_1.default.gray(filePath)); fs_1.writeFileSync(filePath, content); return filePath; } exports.writeToFile = writeToFile; function prepareTraceLogger() { if (loglevel_1.default.getLevel() === loglevel_1.default.levels.TRACE) { loglevel_1.default.trace = loglevel_1.default.debug; } } exports.prepareTraceLogger = prepareTraceLogger; function getFileName(filePath) { return filePath && path_1.default.parse(filePath).name; } exports.getFileName = getFileName; function printProgress(progress) { process.stdout.clearLine(0); process.stdout.cursorTo(0); process.stdout.write(progress); } exports.printProgress = printProgress; function getCommandFilesExtensionsForEnvironment() { return __filename.endsWith('ts') ? ['js', 'ts'] : ['js']; } exports.getCommandFilesExtensionsForEnvironment = getCommandFilesExtensionsForEnvironment; function removeiIlegalCharacters(name, makeClickableInTerminal = false) { if (makeClickableInTerminal) { name = name.replace(/[\s]/g, '-').replace(/[[\]]/g, '_').replace(/_-/g, '_'); } return name.replace(/[<>:"/\\|?*]/g, '-'); } exports.removeiIlegalCharacters = removeiIlegalCharacters; function serializeConvertedItemsMapToJson(map, parent, replacer) { if (map) { const result = []; for (const [kind, items] of map) { if (items && items.length) { result.push({ kind: models_1.TypeKind[kind], json: JSON.stringify(Object.assign(Object.assign({}, parent), { data: items }), replacer, 2) }); } } return result; } return; } exports.serializeConvertedItemsMapToJson = serializeConvertedItemsMapToJson; const utils = { objectFlter, getKeyReplacer, getKeysReplacer, writeJsonToFile, writeToFile, prepareTraceLogger, getFileName, printProgress, getCommandFilesExtensionsForEnvironment, removeiIlegalCharacters, serializeConvertedItemsMapToJson }; exports.default = utils;