diff options
author | Michaël Zasso <targos@protonmail.com> | 2017-12-22 17:00:24 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-01-11 09:50:47 +0100 |
commit | b043a70201587920292512314b8815d33f62083f (patch) | |
tree | f9ffbb1636208e2556a0bee92977fc8c620ae789 /tools/node_modules/babel-eslint/node_modules/lodash/_createRound.js | |
parent | 7a52c51e811cd59db0d2b1b6d6b8b2e7f917d65c (diff) | |
download | android-node-v8-b043a70201587920292512314b8815d33f62083f.tar.gz android-node-v8-b043a70201587920292512314b8815d33f62083f.tar.bz2 android-node-v8-b043a70201587920292512314b8815d33f62083f.zip |
tools: add babel-eslint
Create tools/update-babel-eslint.sh script and execute it to do the
first installation of the package.
Update tools/license-builder.sh and execute it to add babel-eslint's
license to our LICENSE file.
PR-URL: https://github.com/nodejs/node/pull/17820
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Diffstat (limited to 'tools/node_modules/babel-eslint/node_modules/lodash/_createRound.js')
-rw-r--r-- | tools/node_modules/babel-eslint/node_modules/lodash/_createRound.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/node_modules/babel-eslint/node_modules/lodash/_createRound.js b/tools/node_modules/babel-eslint/node_modules/lodash/_createRound.js new file mode 100644 index 0000000000..bf9b713fcb --- /dev/null +++ b/tools/node_modules/babel-eslint/node_modules/lodash/_createRound.js @@ -0,0 +1,33 @@ +var toInteger = require('./toInteger'), + toNumber = require('./toNumber'), + toString = require('./toString'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ +function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; +} + +module.exports = createRound; |