massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / internals / number-parse-float.js
1 var global = require('../internals/global');
2 var fails = require('../internals/fails');
3 var uncurryThis = require('../internals/function-uncurry-this');
4 var toString = require('../internals/to-string');
5 var trim = require('../internals/string-trim').trim;
6 var whitespaces = require('../internals/whitespaces');
7
8 var charAt = uncurryThis(''.charAt);
9 var n$ParseFloat = global.parseFloat;
10 var Symbol = global.Symbol;
11 var ITERATOR = Symbol && Symbol.iterator;
12 var FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity
13   // MS Edge 18- broken with boxed symbols
14   || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));
15
16 // `parseFloat` method
17 // https://tc39.es/ecma262/#sec-parsefloat-string
18 module.exports = FORCED ? function parseFloat(string) {
19   var trimmedString = trim(toString(string));
20   var result = n$ParseFloat(trimmedString);
21   return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;
22 } : n$ParseFloat;