diff --git a/node_modules/json-bigint/lib/parse.js b/node_modules/json-bigint/lib/parse.js index bb4e5eb..65f467b 100644 --- a/node_modules/json-bigint/lib/parse.js +++ b/node_modules/json-bigint/lib/parse.js @@ -1,4 +1,4 @@ -var BigNumber = null; +const bignumber_js_1 = require('bignumber.js'); // regexpxs extracted from // (c) BSD-3-Clause @@ -202,10 +202,11 @@ var json_parse = function (options) { } } number = +string; - if (!isFinite(number)) { + // If the string is too long, this addition operation will return Infinity. + // If we want to support infinitely long numbers, we cannot make this judgment. + if (/*!isFinite(number)*/false) { error('Bad number'); } else { - if (BigNumber == null) BigNumber = require('bignumber.js'); //if (number > 9007199254740992 || number < -9007199254740992) // Bignumber has stricter check: everything with length > 15 digits disallowed if (string.length > 15) @@ -213,13 +214,13 @@ var json_parse = function (options) { ? string : _options.useNativeBigInt ? BigInt(string) - : new BigNumber(string); + : new bignumber_js_1.default(string); else return !_options.alwaysParseAsBig ? number : _options.useNativeBigInt ? BigInt(number) - : new BigNumber(number); + : new bignumber_js_1.default(number); } }, string = function () {