pk-template
Version:
p template engine for kubernetes
40 lines • 4.13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const url_1 = __importDefault(require("url"));
const js_yaml_1 = __importDefault(require("js-yaml"));
const yamls_1 = require("./yamls");
const lazy_1 = require("../lazy");
const hackedDump_1 = require("./hackedDump");
function isHttp(uri) {
const supportedProtocols = ['http:', 'https:'];
const parsed = url_1.default.parse(uri);
return supportedProtocols.some(protocol => protocol == parsed.protocol);
}
const loadFile = (uri) => {
try {
return isHttp(uri)
? lazy_1.getSyncRequest()('GET', uri).getBody('utf8')
: fs_1.default.readFileSync(uri, 'utf8');
}
catch (e) {
throw new Error(`failed to load ${uri}`);
}
};
exports.loadYamlFile = (file) => js_yaml_1.default.load(loadFile(file), yamls_1.pktYamlOption('.'));
exports.parseYaml = (text, uri) => js_yaml_1.default.load(text, yamls_1.pktYamlOption(uri || '.'));
exports.parseYamlAll = (text, uri) => js_yaml_1.default.loadAll(text, undefined, yamls_1.pktYamlOption(uri || '.'));
exports.parseYamlAsPkt = (text, uri) => js_yaml_1.default.loadAll(text, undefined, yamls_1.pktYamlOption(uri));
exports.dumpYaml = (o) => {
return hackedDump_1.hackedDump(o, yamls_1.pktYamlOption('.'));
};
exports.dumpYamlSortedKey = (o) => hackedDump_1.hackedDump(o, { sortKeys: true });
exports.dumpYamlAll = (arr, uri) => {
return arr.map(o => hackedDump_1.hackedDump(o, yamls_1.pktYamlOption(uri || '.')))
.filter(o => o != null)
.join('---\n');
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGsteWFtbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUFvQjtBQUNwQiw4Q0FBc0I7QUFDdEIsc0RBQTZCO0FBQzdCLG1DQUF3QztBQUN4QyxrQ0FBeUM7QUFDekMsNkNBQTBDO0FBRTFDLFNBQVMsTUFBTSxDQUFDLEdBQVc7SUFDekIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRTtJQUN2QyxJQUFJO1FBQ0YsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxxQkFBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDOUMsQ0FBQyxDQUFDLFlBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2xDO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQzFDO0FBQ0gsQ0FBQyxDQUFBO0FBQ1ksUUFBQSxZQUFZLEdBQUcsQ0FBQyxJQUFZLEVBQU8sRUFBRSxDQUFDLGlCQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxxQkFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdEYsUUFBQSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBWSxFQUFPLEVBQUUsQ0FBQyxpQkFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUscUJBQWEsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5RixRQUFBLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxHQUFZLEVBQVMsRUFBRSxDQUFDLGlCQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUscUJBQWEsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNqSCxRQUFBLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxHQUFXLEVBQU8sRUFBRSxDQUFDLGlCQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUscUJBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXpHLFFBQUEsUUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7SUFDakMsT0FBTyx1QkFBVSxDQUFDLENBQUMsRUFBRSxxQkFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFBO0FBQ1ksUUFBQSxpQkFBaUIsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsdUJBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNsRSxRQUFBLFdBQVcsR0FBRyxDQUFDLEdBQVUsRUFBRSxHQUFZLEVBQUUsRUFBRTtJQUN0RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyx1QkFBVSxDQUFDLENBQUMsRUFBRSxxQkFBYSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7U0FDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQSJ9