@pubgcorp/pk-template
Version:
p template engine for kubernetes
48 lines • 3.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.compileStyle = void 0;
const lazy_1 = require("../../lazy");
const common_1 = require("../../common");
const styleParser_1 = require("./styleParser");
const compileStyle = (vm, scope, object) => {
const _ = (0, lazy_1.getUnderscore)();
(0, common_1.forEachTreeObject)(object, (node) => {
const styles = [];
for (const key of Object.keys(node)) {
if (key.endsWith('^')) {
const value = node[key];
if (value == null) {
delete node[key];
continue;
}
if (key === '^') {
if (Array.isArray(value)) {
for (const item of value) {
styles.push(...(0, styleParser_1.parseEmptyStyles)(item));
}
}
else {
styles.push(...(0, styleParser_1.parseEmptyStyles)(value));
}
}
else {
const styleType = key.substr(0, key.length - 1);
if (Array.isArray(value)) {
for (const item of value) {
styles.push(...(0, styleParser_1.parseParametericStyle)(styleType, vm.runtime.evalTemplate(vm, scope, item)));
}
}
else {
styles.push(...(0, styleParser_1.parseParametericStyle)(styleType, vm.runtime.evalTemplate(vm, scope, value)));
}
}
delete node[key];
}
}
if (styles.length != 0) {
node['^'] = styles;
}
});
};
exports.compileStyle = compileStyle;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVDb21waWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BrLXRlbXBsYXRlL3N0eWxlcy9zdHlsZUNvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQTJDO0FBQzNDLHlDQUFpRDtBQUNqRCwrQ0FBa0c7QUFJM0YsTUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUEyQixFQUFFLEtBQWEsRUFBRSxNQUFXLEVBQUUsRUFBRTtJQUN0RixNQUFNLENBQUMsR0FBRyxJQUFBLG9CQUFhLEdBQUUsQ0FBQztJQUUxQixJQUFBLDBCQUFpQixFQUFDLE1BQU0sRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtvQkFDakIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2pCLFNBQVM7aUJBQ1Y7Z0JBRUQsSUFBSSxHQUFHLEtBQUssR0FBRyxFQUFFO29CQUNmLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDeEIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7NEJBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLDhCQUFnQixFQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7eUJBQ3hDO3FCQUNGO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLDhCQUFnQixFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7cUJBQ3pDO2lCQUNGO3FCQUFNO29CQUNMLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ2hELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDeEIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7NEJBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLG1DQUFzQixFQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDN0Y7cUJBQ0Y7eUJBQU07d0JBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsbUNBQXNCLEVBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUM5RjtpQkFDRjtnQkFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNsQjtTQUNGO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUE7QUF0Q1ksUUFBQSxZQUFZLGdCQXNDeEIifQ==