@pubgcorp/pk-template
Version:
p template engine for kubernetes
103 lines • 10.2 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.pktYamlOption = void 0;
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(),
});
}
const 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 })),
])
});
exports.pktYamlOption = pktYamlOption;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGsteWFtbC95YW1scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzREFBNkI7QUFDN0IsNkNBQXFNO0FBVXJNLFNBQVMsZUFBZSxDQUEwQixHQUFzRCxFQUFFLElBQVksRUFBRSxPQUFtQztJQUN6SixPQUFPLElBQUksaUJBQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRTtRQUNqQyxJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQ3JCLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFDeEIsT0FBTyxJQUFJLEtBQUssUUFBUTtZQUN4QixPQUFPLElBQUksS0FBSyxJQUFJO1FBQ3RCLFNBQVMsRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixPQUFPLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsVUFBVSxFQUFFLEdBQUc7UUFDZixTQUFTLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7S0FDekMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVNLE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sRUFBRSxpQkFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxpQkFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDckIsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxPQUFPLElBQUksS0FB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