diff options
Diffstat (limited to 'node_modules/lodash/toSafeInteger.js')
-rw-r--r-- | node_modules/lodash/toSafeInteger.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/node_modules/lodash/toSafeInteger.js b/node_modules/lodash/toSafeInteger.js new file mode 100644 index 0000000..f564623 --- /dev/null +++ b/node_modules/lodash/toSafeInteger.js @@ -0,0 +1,37 @@ +var baseClamp = require('./_baseClamp'), + toInteger = require('./toInteger'); + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toSafeInteger(3.2); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3.2'); + * // => 3 + */ +function toSafeInteger(value) { + return value + ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) + : (value === 0 ? value : 0); +} + +module.exports = toSafeInteger; |