Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2f26436

Browse filesBrowse files
juergbaBenjamin E. Coe
authored andcommitted
fix!: maybeCoerceNumber now takes precedence over coerce return value (#182)
1 parent 7e01a2c commit 2f26436
Copy full SHA for 2f26436

2 files changed

+8-4Lines changed: 8 additions & 4 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎index.js‎

Copy file name to clipboardExpand all lines: index.js
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ function parse (args, opts) {
497497
}
498498

499499
function maybeCoerceNumber (key, value) {
500-
if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.coercions)) {
500+
if (!checkAllAliases(key, flags.strings)) {
501501
const shouldCoerceNumber = isNumber(value) && configuration['parse-numbers'] && (
502502
Number.isSafeInteger(Math.floor(value))
503503
)
@@ -604,7 +604,7 @@ function parse (args, opts) {
604604
coerce = checkAllAliases(key, flags.coercions)
605605
if (typeof coerce === 'function') {
606606
try {
607-
var value = coerce(argv[key])
607+
var value = maybeCoerceNumber(key, coerce(argv[key]))
608608
;([].concat(flags.aliases[key] || [], key)).forEach(ali => {
609609
applied[ali] = argv[ali] = value
610610
})
Collapse file

‎test/yargs-parser.js‎

Copy file name to clipboardExpand all lines: test/yargs-parser.js
+6-2Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2147,14 +2147,18 @@ describe('yargs-parser', function () {
21472147
})
21482148

21492149
it('parses number if option explicitly set to number type', function () {
2150-
var parsed = parser(['--foo', '5', '--bar', '6'], {
2151-
number: 'bar',
2150+
var parsed = parser(['--foo', '5', '--bar', '6', '--baz', '7'], {
2151+
number: ['bar', 'baz'],
2152+
coerce: {
2153+
'baz': val => val
2154+
},
21522155
configuration: {
21532156
'parse-numbers': false
21542157
}
21552158
})
21562159
expect(parsed['foo']).to.equal('5')
21572160
expect(parsed['bar']).to.equal(6)
2161+
expect(parsed['baz']).to.equal(7)
21582162
})
21592163
})
21602164

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.