core-js
Version:
Standard library
11 lines (9 loc) • 516 B
JavaScript
var nativeParseInt = require('../internals/global').parseInt;
var internalStringTrim = require('../internals/string-trim');
var whitespaces = require('../internals/whitespaces');
var hex = /^[-+]?0[xX]/;
var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
module.exports = FORCED ? function parseInt(str, radix) {
var string = internalStringTrim(String(str), 3);
return nativeParseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
} : nativeParseInt;