UNPKG

806 BJavaScriptView Raw
1/** Used as references for various `Number` constants. */
2var MAX_SAFE_INTEGER = 9007199254740991;
3
4/**
5 * Checks if `value` is a valid array-like length.
6 *
7 * **Note:** This function is loosely based on
8 * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
9 *
10 * @static
11 * @memberOf _
12 * @since 4.0.0
13 * @category Lang
14 * @param {*} value The value to check.
15 * @returns {boolean} Returns `true` if `value` is a valid length,
16 * else `false`.
17 * @example
18 *
19 * _.isLength(3);
20 * // => true
21 *
22 * _.isLength(Number.MIN_VALUE);
23 * // => false
24 *
25 * _.isLength(Infinity);
26 * // => false
27 *
28 * _.isLength('3');
29 * // => false
30 */
31function isLength(value) {
32 return typeof value == 'number' &&
33 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
34}
35
36export default isLength;