Skip to content

Commit 0db765e

Browse files
committed
fix: isNumberValue should not crash on non-coercible values
1 parent fe5b55a commit 0db765e

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

object/is-number-value.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,10 @@
33
var isValue = require("./is-value");
44

55
module.exports = function (value) {
6-
return isValue(value) && !isNaN(value);
6+
if (!isValue(value)) return false;
7+
try {
8+
return !isNaN(value);
9+
} catch (e) {
10+
return false;
11+
}
712
};

test/.eslintrc.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
{
2+
"globals": {
3+
"Symbol": true
4+
},
25
"rules": {
36
"consistent-this": "off",
47
"id-length": "off",

test/object/is-number-value.js

+3
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,7 @@ module.exports = function (t, a) {
1212
a(t(new Number(2)), true, "Number object");
1313
a(t("asdfaf"), false, "String");
1414
a(t(""), true, "Empty String");
15+
if (typeof Symbol === "function") {
16+
a(t(Symbol("test")), false, "Symbol");
17+
}
1518
};

0 commit comments

Comments
 (0)