@anycli/command
Version:
anycli base command
35 lines (34 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Parser = require("@anycli/parser");
const cli_ux_1 = require("cli-ux");
function build(defaults) {
return Parser.flags.build(defaults);
}
exports.build = build;
function option(options) {
return build(Object.assign({ optionType: 'custom' }, options))();
}
exports.option = option;
const _enum = (opts) => {
return build(Object.assign({ parse(input) {
if (!opts.options.includes(input))
throw new Error(`Expected --${this.name}=${input} to be one of: ${opts.options.join(', ')}`);
return input;
}, helpValue: `(${opts.options.join('|')})` }, opts, { optionType: 'enum' }))();
};
exports.enum = _enum;
const stringFlag = build({});
exports.string = stringFlag;
var flags_1 = require("@anycli/parser/lib/flags");
exports.boolean = flags_1.boolean;
exports.version = (opts = {}) => {
return Parser.flags.boolean(Object.assign({ char: 'v', description: 'show CLI version' }, opts, { parse: (_, cmd) => {
cli_ux_1.default.info(cmd.config.userAgent);
} }));
};
exports.help = (opts = {}) => {
return Parser.flags.boolean(Object.assign({ char: 'h', description: 'show CLI help' }, opts, { parse: (_, cmd) => {
cli_ux_1.default.info(cmd);
} }));
};