UNPKG

@pubgcorp/pk-template

Version:
132 lines 10.3 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.repositoryPath = exports.repository = exports.sha256 = exports.readStdin = exports.setValue = exports.parseList = exports.parseKvps = exports.pktError = exports.deepCloneWithFunction = exports.deepClone = void 0; const pk_yaml_1 = require("../pk-yaml"); const crypto_1 = require("crypto"); const child_process_1 = require("child_process"); const path_1 = require("path"); const deepClone = (obj) => JSON.parse(JSON.stringify(obj)); exports.deepClone = deepClone; // export const deepCloneWithFunction = deepClone; const deepCloneWithFunction = (obj) => { if (typeof obj === 'object') { if (Array.isArray(obj)) { return obj.map(item => (0, exports.deepCloneWithFunction)(item)); } else if (obj === null) { return null; } else { const cloned = {}; for (const key of Object.keys(obj)) { cloned[key] = (0, exports.deepCloneWithFunction)(obj[key]); } return cloned; } } return obj; }; exports.deepCloneWithFunction = deepCloneWithFunction; const pktError = (scope, error, message) => { const pe = error; pe.summary = message; pe.uri = scope ? scope.uri : '.'; pe.pos = (scope && scope.trace) ? scope.trace.pos() : null; return pe; }; exports.pktError = pktError; const parseKvps = (value) => { if (!value) return {}; const kvps = {}; value.split(';') .forEach(kvp => { const [key, value] = kvp.split('='); kvps[key.trim()] = value ? value.trim() : ''; }); return kvps; }; exports.parseKvps = parseKvps; const parseList = (value) => { if (!value) return []; return value.split(';').map(p => p.trim()); }; exports.parseList = parseList; const _setValue = (node, pathes, value) => { if (true) { const key = pathes[0]; if (pathes.length == 1) { node[key] = value; } else { const child = key in node ? node[key] : (node[key] = {}); pathes.shift(); _setValue(child, pathes, value); } } }; const setValue = (node, path, value) => { _setValue(node, path.split('.'), value); }; exports.setValue = setValue; function readStdin() { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { const chunks = []; process.stdin.resume(); process.stdin.setEncoding('utf8'); process.stdin.on('data', function (chunk) { chunks.push(chunk); }); process.stdin.on('end', function () { var all = chunks.join(''); resolve(all); }); process.stdin.on('error', function (error) { reject(error); }); }); }); } exports.readStdin = readStdin; const sha256 = (obj, len) => { const yaml = typeof obj === 'object' ? (0, pk_yaml_1.dumpYamlSortedKey)(obj) : obj.toString(); const hash = (0, crypto_1.createHash)('sha256'); hash.update(yaml); return len ? hash.digest('hex').substr(0, len) : hash.digest('hex'); }; exports.sha256 = sha256; const repository = (ref) => { try { const r = (0, child_process_1.execSync)(`git config --get ${ref || 'remote.origin.url'}`); return r.toString('utf8').trim(); } catch (e) { return 'unknown'; } }; exports.repository = repository; const repositoryPath = (path) => { try { const filePath = (0, path_1.resolve)(path); const gitRoot = (0, child_process_1.execSync)(`git rev-parse --show-toplevel`).toString('utf8').trim(); return (0, path_1.relative)(gitRoot, filePath); } catch (e) { return 'unknown'; } }; exports.repositoryPath = repositoryPath; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGstdGVtcGxhdGUvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0Esd0NBQStDO0FBQy9DLG1DQUFvQztBQUNwQyxpREFBeUM7QUFDekMsK0JBQXlDO0FBWWxDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBUSxFQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUEvRCxRQUFBLFNBQVMsYUFBc0Q7QUFDNUUsa0RBQWtEO0FBQzNDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxHQUFRLEVBQU8sRUFBRTtJQUNyRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUMzQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBQSw2QkFBcUIsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO2FBQU0sSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztZQUN2QixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFBLDZCQUFxQixFQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsT0FBTyxNQUFNLENBQUM7U0FDZjtLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUE7QUFmWSxRQUFBLHFCQUFxQix5QkFlakM7QUFFTSxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQW9CLEVBQUUs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