1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", { value: true });
|
4 | function build(defaults) {
|
5 | return (options = {}) => {
|
6 | return Object.assign({ parse: (i, _) => i }, defaults, options, { input: [], multiple: !!options.multiple, type: 'option' });
|
7 | };
|
8 | }
|
9 | exports.build = build;
|
10 | function boolean(options = {}) {
|
11 | return Object.assign({ parse: (b, _) => b }, options, { allowNo: !!options.allowNo, type: 'boolean' });
|
12 | }
|
13 | exports.boolean = boolean;
|
14 | exports.integer = build({
|
15 | parse: input => {
|
16 | if (!/^[0-9]+$/.test(input))
|
17 | throw new Error(`Expected an integer but received: ${input}`);
|
18 | return parseInt(input, 10);
|
19 | },
|
20 | });
|
21 | function option(options) {
|
22 | return build(options)();
|
23 | }
|
24 | exports.option = option;
|
25 | const stringFlag = build({});
|
26 | exports.string = stringFlag;
|
27 | exports.defaultFlags = {
|
28 | color: boolean({ allowNo: true }),
|
29 | };
|