pk-template
Version:
p template engine for kubernetes
116 lines • 12.1 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) => logger_1.log(...msg),
last: () => scope.objects.length == 0 ? undefined : scope.objects[scope.objects.length - 1],
sha256: (obj, len) => utils_1.sha256(obj, len),
repository: (ref) => repoCache || (repoCache = utils_1.repository(ref)),
repositoryPath: (path) => repoPathCache[path] || (repoPathCache[path] = 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 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 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) => pk_yaml_1.parseYaml(yaml, scope.uri),
parseYamlAll: (yaml) => pk_yaml_1.parseYamlAll(yaml, scope.uri),
dumpYaml: (obj) => pk_yaml_1.dumpYaml(obj),
dumpYamlAll: (obj) => 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNsaWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGstdGVtcGxhdGUvanNsaWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsbUNBQTZGO0FBRTdGLHFDQUErQjtBQUUvQix3Q0FBK0Y7QUFHL0YsSUFBSSxTQUFTLEdBQWtCLElBQUksQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBUSxFQUFFLENBQUM7QUFFOUIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUM5QixNQUFNLEdBQUcsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDbkUsTUFBTSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUMzQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFBRSxFQUFFLENBQUMsWUFBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ25DLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDM0YsTUFBTSxFQUFFLENBQUMsR0FBUSxFQUFFLEdBQVksRUFBRSxFQUFFLENBQUMsY0FBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDcEQsVUFBVSxFQUFFLENBQUMsR0FBWSxFQUFFLEVBQUUsQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLEdBQUcsa0JBQVUsQ0FB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