UNPKG

@pubgcorp/pk-template

Version:
74 lines 5.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildCommandDescription = exports.bindYargsOption = exports.buildOptionsFromSchema = exports.buildOptionsFromProperties = void 0; const 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.buildOptionsFromProperties = buildOptionsFromProperties; const 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.buildOptionsFromSchema = buildOptionsFromSchema; const bindYargsOption = (yargs, pkt) => { return pkt['/schema'] ? (0, exports.buildOptionsFromSchema)(yargs, pkt['/schema'], pkt['/properties'] || {}) : (0, exports.buildOptionsFromProperties)(yargs, pkt['/properties']); }; exports.bindYargsOption = bindYargsOption; const 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; }; exports.buildCommandDescription = buildCommandDescription; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZE9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9way15YXJncy9iaW5kT3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxLQUFVLEVBQUUsVUFBZSxFQUFFLEVBQUU7SUFDeEUsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDMUMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFHO1lBQ1YsV0FBVyxFQUFFLEdBQUcsSUFBSSxTQUFTO1lBQzdCLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQztRQUNGLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3pCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUE7QUFiWSxRQUFBLDBCQUEwQiw4QkFhdEM7QUFFTSxNQUFNLHNCQUFzQixHQUFHLENBQUMsS0FBVSxFQUFFLE1BQVcsRUFBRSxVQUFlLEVBQUUsRUFBRTtJQUNqRixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUN0QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQzFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLEdBQUcsR0FBUTtnQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJO2FBQ3RDLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2IsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNiLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQzthQUN0QjtZQUNELElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDckQsR0FBRyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7YUFDekI7aUJBQU0sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7b0JBQ2hFLEdBQUcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2lCQUN6QjthQUNGO2lCQUFNO2dCQUNMLEdBQUcsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2hDO1lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDekI7YUFBTTtZQUNMLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDcEY7S0FDRjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFBO0FBakNZLFFBQUEsc0JBQXNCLDBCQWlDbEM7QUFFTSxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQVUsRUFBRSxHQUFlLEVBQUUsRUFBRTtJQUM3RCxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxDQUFDLElBQUEsOEJBQXNCLEVBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxJQUFBLGtDQUEwQixFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUE7QUFKWSxRQUFBLGVBQWUsbUJBSTNCO0FBRU0sTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEdBQWUsRUFBRSxFQUFFO0lBQ3pELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNkLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ2xCLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN4QixJQUFJLElBQUksR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbkM7UUFDRCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDOUIsSUFBSSxJQUFJLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzdDO0tBQ0Y7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQTtBQVhZLFFBQUEsdUJBQXVCLDJCQVduQyJ9