pk-template
Version:
p template engine for kubernetes
77 lines • 6.93 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const pk_yaml_1 = require("../pk-yaml");
const fs_1 = require("fs");
const json_patch_1 = __importDefault(require("json-patch"));
const handlers = {
patch: (prev, o) => {
if (Array.isArray(o.patch)) {
for (const p of o.patch) {
json_patch_1.default.apply(prev, p);
}
}
else {
json_patch_1.default.apply(prev, o.patch);
}
return prev;
},
text: (o) => {
if ('write' in o) {
fs_1.writeFileSync(o.file, o.write, 'utf8');
}
},
json: (o) => {
if ('write' in o) {
fs_1.writeFileSync(o.file, JSON.stringify(o.write, null, o.indent ? o.indent : 0), 'utf8');
}
if (o.patch) {
const prev = pk_yaml_1.parseYaml(fs_1.readFileSync(o.file, 'utf8'));
const patched = handlers.patch(prev, o);
fs_1.writeFileSync(o.file, JSON.stringify(patched, null, o.indent ? o.indent : 0), 'utf8');
}
if (o.func) {
const prev = pk_yaml_1.parseYaml(fs_1.readFileSync(o.file, 'utf8'));
o.func(prev);
fs_1.writeFileSync(o.file, JSON.stringify(prev, null, o.indent ? o.indent : 0), 'utf8');
}
},
yaml: (o) => {
if ('write' in o) {
fs_1.writeFileSync(o.file, pk_yaml_1.dumpYaml(o.write), 'utf8');
}
if (o.patch) {
const prev = pk_yaml_1.parseYaml(fs_1.readFileSync(o.file, 'utf8'));
const patched = handlers.patch(prev, o);
fs_1.writeFileSync(o.file, pk_yaml_1.dumpYaml(patched), 'utf8');
}
if (o.func) {
const prev = pk_yaml_1.parseYaml(fs_1.readFileSync(o.file, 'utf8'));
o.func(prev);
fs_1.writeFileSync(o.file, pk_yaml_1.dumpYaml(prev), 'utf8');
}
},
yamlAll: (o) => {
if ('write' in o) {
fs_1.writeFileSync(o.file, pk_yaml_1.dumpYamlAll(o.write), 'utf8');
}
if (o.patch) {
const prev = pk_yaml_1.parseYamlAll(fs_1.readFileSync(o.file, 'utf8'));
const patched = handlers.patch(prev, o);
fs_1.writeFileSync(o.file, pk_yaml_1.dumpYamlAll(patched), 'utf8');
}
if (o.func) {
const prev = pk_yaml_1.parseYamlAll(fs_1.readFileSync(o.file, 'utf8'));
o.func(prev);
fs_1.writeFileSync(o.file, pk_yaml_1.dumpYamlAll(prev), 'utf8');
}
}
};
exports.writeObject = (objects) => {
for (const o of objects) {
handlers[o.type](o);
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGstd3JpdGV1dGlsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0Esd0NBQTRFO0FBQzVFLDJCQUFpRDtBQUNqRCw0REFBbUM7QUFFbkMsTUFBTSxRQUFRLEdBQVE7SUFDcEIsS0FBSyxFQUFFLENBQUMsSUFBUyxFQUFFLENBQU0sRUFBRSxFQUFFO1FBQzNCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUIsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUN2QixvQkFBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUI7U0FDRjthQUFNO1lBQ0wsb0JBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFO1FBQ2YsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFO1lBQ2hCLGtCQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFO1FBQ2YsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFO1lBQ2hCLGtCQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZGO1FBQ0Qs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