Fix: eatNargs() for 'opt.narg === 0' and boolean typed options #188
+22
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Currently the parser handles
opts.narg
beforeopts.array
and thereforeeatArray()
is not restricted by theopts.narg
value.The edge case
opt.narg === 0
is handled in a different way sincecheckAllAliases()
returnsfalse
instead of value0
. Caseopt.narg === 0
should be handled the same way asopt.narg > 0
to keep the distinction betweenopts.narg
andopts.array
options clear and clean.Description of Change
checkAllAliases()
: fixes case ofopt.narg === 0
and returns now0
instead offalse
eatNargs()
: sets now default values in case ofopt.narg === 0
Note: the default value of a string typed option is currently an empty string (
defaultForType()
).I would have expected
undefined
.