Skip to content

Commit

Permalink
Default isMultiple to empty array
Browse files Browse the repository at this point in the history
  • Loading branch information
ulken committed Oct 1, 2020
1 parent dc7dae4 commit cfd8343
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 30 deletions.
1 change: 1 addition & 0 deletions index.js
Expand Up @@ -68,6 +68,7 @@ const buildParserFlags = ({flags, booleanDefault}) =>

if (flag.isMultiple) {
flag.type = flag.type ? `${flag.type}-array` : 'array';
flag.default = flag.default || [];
delete flag.isMultiple;
}

Expand Down
44 changes: 14 additions & 30 deletions test/test.js
Expand Up @@ -312,6 +312,20 @@ test('supports `number` flag type - throws on incorrect default value', t => {
});
});

test('isMultiple - unset flag returns empty array', t => {
t.deepEqual(meow({
argv: [],
flags: {
foo: {
type: 'string',
isMultiple: true
}
}
}).flags, {
foo: []
});
});

test('isMultiple - flag set once returns array', t => {
t.deepEqual(meow({
argv: ['--foo=bar'],
Expand Down Expand Up @@ -408,25 +422,6 @@ test('isMultiple - boolean flag is false by default', t => {
});
});

test('isMultiple - flag with `booleanDefault: undefined` => filter out unset boolean args', t => {
t.deepEqual(meow({
argv: ['--foo'],
booleanDefault: undefined,
flags: {
foo: {
type: 'boolean',
isMultiple: true
},
bar: {
type: 'boolean',
isMultiple: true
}
}
}).flags, {
foo: [true]
});
});

test('isMultiple - number flag', t => {
t.deepEqual(meow({
argv: ['--foo=1.3', '--foo=-1'],
Expand Down Expand Up @@ -510,17 +505,6 @@ test('isMultiple - handles multi-word flag name', t => {
});
});

test('isMultiple - handles non-set flags correctly', t => {
t.deepEqual(meow({
argv: [],
flags: {
foo: {
isMultiple: true
}
}
}).flags, {});
});

if (NODE_MAJOR_VERSION >= 14) {
test('supports es modules', async t => {
try {
Expand Down

0 comments on commit cfd8343

Please sign in to comment.