1 var toNumber = require('./toNumber');
3 /** Used as references for various `Number` constants. */
5 MAX_INTEGER = 1.7976931348623157e+308;
8 * Converts `value` to an integer.
10 * **Note:** This function is loosely based on [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
15 * @param {*} value The value to convert.
16 * @returns {number} Returns the converted integer.
22 * _.toInteger(Number.MIN_VALUE);
25 * _.toInteger(Infinity);
26 * // => 1.7976931348623157e+308
31 function toInteger(value) {
33 return value === 0 ? value : 0;
35 value = toNumber(value);
36 if (value === INFINITY || value === -INFINITY) {
37 var sign = (value < 0 ? -1 : 1);
38 return sign * MAX_INTEGER;
40 var remainder = value % 1;
41 return value === value ? (remainder ? value - remainder : value) : 0;
44 module.exports = toInteger;