UNPKG

@anycli/command

Version:
35 lines (34 loc) 1.33 kB
"use strict"; 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); } })); };