@pubgcorp/pk-template
Version:
p template engine for kubernetes
116 lines • 12.2 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 utils_1 = require("./utils");
const logger_1 = require("./logger");
const pk_yaml_1 = require("../pk-yaml");
let repoCache = null;
const repoPathCache = {};
const jslib = (scope) => {
const lib = {
indent: () => scope.trace ? ''.padEnd(scope.trace.depth() * 2) : '',
envVar: (name) => process.env[name],
log: (...msg) => (0, logger_1.log)(...msg),
last: () => scope.objects.length == 0 ? undefined : scope.objects[scope.objects.length - 1],
sha256: (obj, len) => (0, utils_1.sha256)(obj, len),
repository: (ref) => repoCache || (repoCache = (0, utils_1.repository)(ref)),
repositoryPath: (path) => repoPathCache[path] || (repoPathCache[path] = (0, utils_1.repositoryPath)(path)),
files: (path) => scope.listFiles(path).data,
loadText: (path) => scope.loadText(path).data,
loadPkt: (path) => scope.loadPkt(path).data,
loadYaml: (path) => scope.loadYaml(path).data,
loadYamlAll: (path) => scope.loadYamlAll(path).data,
loadTemplate: (path) => scope.loadTemplate(path).data,
basename: (p) => path_1.default.basename(p),
label: (object, name) => {
if (name === null) {
name = object;
object = scope.object;
}
if (!object)
return undefined;
if (!object.metadata)
return undefined;
if (!object.metadata.labels)
return undefined;
return object.metadata.labels[name];
},
base64encode: (txt) => Buffer.from(txt).toString('base64'),
base64decode: (txt) => Buffer.from(txt, 'base64').toString('utf8'),
setlabel: (object, name, value) => {
if (typeof object === 'string') {
value = name;
name = object;
object = scope.object;
}
if (!object)
throw (0, utils_1.pktError)(scope, new Error('cannot set label'), 'object is empty');
if (!object.metadata)
object.metadata = {};
if (!object.metadata.labels)
object.metadata.labels = {};
object.metadata.labels[name] = value;
},
annotation: (object, name) => {
if (name == null) {
name = object;
object = scope.object;
}
if (!object)
return undefined;
if (!object.metadata)
return undefined;
if (!object.metadata.annotations)
return undefined;
return object.metadata.annotations[name];
},
setannotation: (object, name, value) => {
if (typeof object === 'string') {
value = name;
name = object;
object = scope.object;
}
if (!object)
throw (0, utils_1.pktError)(scope, new Error('cannot set annotation'), 'object is empty');
if (!object.metadata)
object.metadata = {};
if (!object.metadata.annotations)
object.metadata.annotations = {};
object.metadata.annotations[name] = value;
},
set: (node, path, value) => {
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);
}
}
};
_setValue(node, path.split('.'), value);
},
add: (object) => scope.add(object),
arraify: (value) => Array.isArray(value) ? value : [value],
parseKvps: utils_1.parseKvps,
parseList: utils_1.parseList,
parseYaml: (yaml) => (0, pk_yaml_1.parseYaml)(yaml, scope.uri),
parseYamlAll: (yaml) => (0, pk_yaml_1.parseYamlAll)(yaml, scope.uri),
dumpYaml: (obj) => (0, pk_yaml_1.dumpYaml)(obj),
dumpYamlAll: (obj) => (0, pk_yaml_1.dumpYamlAll)(obj),
toWords: (value) => value.split(/\s+/).filter(p => p.length !== 0),
toNumbers: (value) => lib.toWords(value).map(p => Number(p)),
toList: (o, cb) => Object.keys(o).map(k => cb(k, o[k])),
styleMap: (list) => list.reduce((sum, kv) => { sum[kv.k] = kv.v; return sum; }, {}),
};
return lib;
};
exports.default = jslib;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNsaWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGstdGVtcGxhdGUvanNsaWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsbUNBQTZGO0FBRTdGLHFDQUErQjtBQUUvQix3Q0FBK0Y7QUFHL0YsSUFBSSxTQUFTLEdBQWtCLElBQUksQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBUSxFQUFFLENBQUM7QUFFOUIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUM5QixNQUFNLEdBQUcsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDbkUsTUFBTSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUMzQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFBRSxFQUFFLENBQUMsSUFBQSxZQUFHLEVBQUMsR0FBRyxHQUFHLENBQUM7UUFDbkMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMzRixNQUFNLEVBQUUsQ0FBQyxHQUFRLEVBQUUsR0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFBLGNBQU0sRUFBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ3BELFVBQVUsRUFBRSxDQUFDLEdBQVksRUFBRSxFQUFFLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxHQUFH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