UNPKG

585 BJavaScriptView Raw
1var global = require('../internals/global');
2var trim = require('../internals/string-trim').trim;
3var whitespaces = require('../internals/whitespaces');
4
5var nativeParseInt = global.parseInt;
6var hex = /^[+-]?0[Xx]/;
7var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
8
9// `parseInt` method
10// https://tc39.github.io/ecma262/#sec-parseint-string-radix
11module.exports = FORCED ? function parseInt(string, radix) {
12 var S = trim(String(string));
13 return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
14} : nativeParseInt;