pk-template
Version:
p template engine for kubernetes
101 lines • 10.1 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const js_yaml_1 = __importDefault(require("js-yaml"));
const customTags_1 = require("./customTags");
function createCustomTag(cls, name, compile) {
return new js_yaml_1.default.Type(`!${name}`, {
kind: 'scalar',
resolve: (data) => typeof data === 'string' ||
typeof data === 'number' ||
typeof data === null,
construct: (data) => {
const compiled = compile(data);
return new cls(compiled.data, data, compiled.uri);
},
instanceOf: cls,
represent: (tag) => tag.represent(),
});
}
exports.pktYamlOption = (uri) => ({
schema: js_yaml_1.default.Schema.create([
new js_yaml_1.default.Type('!js', {
kind: 'scalar',
resolve: (data) => typeof data === 'string' || typeof data === 'number' || typeof data === null,
construct: (data) => {
return new customTags_1.CustomYamlJsTag(data, uri);
},
instanceOf: customTags_1.CustomYamlJsTag,
represent: (tag) => tag.represent(),
}),
new js_yaml_1.default.Type('!cs', {
kind: 'scalar',
resolve: (data) => typeof data === 'string' || typeof data === 'number' || typeof data === null,
construct: (data) => {
return new customTags_1.CustomYamlCsTag(data, uri);
},
instanceOf: customTags_1.CustomYamlCsTag,
represent: (tag) => tag.represent(),
}),
new js_yaml_1.default.Type('!ls', {
kind: 'scalar',
resolve: (data) => typeof data === 'string' || typeof data === 'number' || typeof data === null,
construct: (data) => {
return new customTags_1.CustomYamlLsTag(data, uri);
},
instanceOf: customTags_1.CustomYamlLsTag,
represent: (tag) => tag.represent(),
}),
new js_yaml_1.default.Type('!file', {
kind: 'scalar',
resolve: (data) => typeof data === 'string' || typeof data === 'number' || typeof data === null,
construct: (data) => {
return new customTags_1.CustomYamlFileTag(data, uri);
},
instanceOf: customTags_1.CustomYamlLsTag,
represent: (tag) => tag.represent(),
}),
new js_yaml_1.default.Type('!template', {
kind: 'scalar',
resolve: (data) => typeof data === 'string' || typeof data === 'number' || typeof data === null,
construct: (data) => {
return new customTags_1.CustomYamlTemplateTag(data, uri);
},
instanceOf: customTags_1.CustomYamlLsTag,
represent: (tag) => tag.represent(),
}),
new js_yaml_1.default.Type('!yaml', {
kind: 'scalar',
resolve: (data) => typeof data === 'string' || typeof data === 'number' || typeof data === null,
construct: (data) => {
return new customTags_1.CustomYamlYamlTag(data, uri);
},
instanceOf: customTags_1.CustomYamlLsTag,
represent: (tag) => tag.represent(),
}),
new js_yaml_1.default.Type('!flatten', {
kind: 'sequence',
resolve: (data) => Array.isArray(data),
construct: (data) => {
return new customTags_1.CustomYamlFlattenTag(data, uri);
},
instanceOf: customTags_1.CustomYamlFlattenTag,
represent: (tag) => tag.represent(),
}),
new js_yaml_1.default.Type('!tag', {
kind: 'scalar',
resolve: (data) => typeof data === 'string' || typeof data === 'number' || typeof data === null,
construct: (data) => {
return new customTags_1.CustomYamlLsTag(data, uri);
},
instanceOf: customTags_1.CustomYamlLsTag,
represent: (tag) => tag.represent(),
}),
createCustomTag(customTags_1.CustomYamlFileTag, 'file', (data) => ({ type: 'file', uri, data, src: data })),
createCustomTag(customTags_1.CustomYamlTemplateTag, 'template', (data) => ({ type: 'template', uri, data, src: data })),
createCustomTag(customTags_1.CustomYamlTagTag, 'tag', (data) => ({ type: 'tag', uri, data, src: data })),
])
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGsteWFtbC95YW1scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNEQUE2QjtBQUM3Qiw2Q0FBcU07QUFVck0sU0FBUyxlQUFlLENBQTBCLEdBQXNELEVBQUUsSUFBWSxFQUFFLE9BQW1DO0lBQ3pKLE9BQU8sSUFBSSxpQkFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1FBQ2pDLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FDckIsT0FBTyxJQUFJLEtBQUssUUFBUTtZQUN4QixPQUFPLElBQUksS0FBSyxRQUFRO1lBQ3hCLE9BQU8sSUFBSSxLQUFLLElBQUk7UUFDdEIsU0FBUyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDdkIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLE9BQU8sSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxVQUFVLEVBQUUsR0FBRztRQUNmLFNBQVMsRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRTtLQUN6QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRVksUUFBQSxhQUFhLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0MsTUFBTSxFQUFFLGlCQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLGlCQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQixJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sSUFBSSxLQUFL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