UNPKG

@pubgcorp/pk-template

Version:
48 lines 3.98 kB
"use strict"; 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==