pk-template
Version:
p template engine for kubernetes
69 lines • 5.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildOptionsFromProperties = (yargs, properties) => {
if (!properties) {
return yargs;
}
for (const name of Object.keys(properties)) {
const value = properties[name];
const opt = {
description: `${name} option`,
default: value,
};
yargs.option(name, opt);
}
return yargs;
};
exports.buildOptionsFromSchema = (yargs, schema, properties) => {
if (!schema.properties) {
return yargs;
}
for (const name of Object.keys(properties)) {
const prop = schema.properties[name];
if (prop) {
const opt = {
description: prop.description || name,
};
if (prop.enum) {
opt.choices = prop.enum;
}
if (prop.type) {
opt.type = prop.type;
}
if (schema.required && schema.required.includes(name)) {
opt.demandOption = true;
}
else if (properties[name] == null) {
if (!Array.isArray(prop.type) || prop.type.indexOf('null') == -1) {
opt.demandOption = true;
}
}
else {
opt.default = properties[name];
}
yargs.option(name, opt);
}
else {
yargs.option(name, { 'description': `${name} option`, default: properties[name] });
}
}
return yargs;
};
exports.bindYargsOption = (yargs, pkt) => {
return pkt['/schema']
? exports.buildOptionsFromSchema(yargs, pkt['/schema'], pkt['/properties'] || {})
: exports.buildOptionsFromProperties(yargs, pkt['/properties']);
};
exports.buildCommandDescription = (pkt) => {
let desc = '';
if (pkt['/schema']) {
if (pkt['/schema'].title) {
desc += `${pkt['/schema'].title}`;
}
if (pkt['/schema'].description) {
desc += `\n\n${pkt['/schema'].description}`;
}
}
return desc;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZE9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9way15YXJncy9iaW5kT3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRWEsUUFBQSwwQkFBMEIsR0FBRyxDQUFDLEtBQVUsRUFBRSxVQUFlLEVBQUUsRUFBRTtJQUN4RSxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2YsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUMxQyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxHQUFHLEdBQUc7WUFDVixXQUFXLEVBQUUsR0FBRyxJQUFJLFNBQVM7WUFDN0IsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDekI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQTtBQUVZLFFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxLQUFVLEVBQUUsTUFBVyxFQUFFLFVBQWUsRUFBRSxFQUFFO0lBQ2pGLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDMUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLElBQUksRUFBRTtZQUNSLE1BQU0sR0FBRyxHQUFRO2dCQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUk7YUFDdEMsQ0FBQztZQUNGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDYixHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDekI7WUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2IsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ3RCO1lBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNyRCxHQUFHLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUN6QjtpQkFBTSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtvQkFDaEUsR0FBRyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7aUJBQ3pCO2FBQ0Y7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDaEM7WUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN6QjthQUFNO1lBQ0wsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwRjtLQUNGO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUE7QUFFWSxRQUFBLGVBQWUsR0FBRyxDQUFDLEtBQVUsRUFBRSxHQUFlLEVBQUUsRUFBRTtJQUM3RCxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxDQUFDLDhCQUFzQixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6RSxDQUFDLENBQUMsa0NBQTBCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQzVELENBQUMsQ0FBQTtBQUVZLFFBQUEsdUJBQXVCLEdBQUcsQ0FBQyxHQUFlLEVBQUUsRUFBRTtJQUN6RCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDZCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNsQixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQzlCLElBQUksSUFBSSxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM3QztLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUEifQ==