36 lines
		
	
	
		
			802 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			802 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /** Used as references for various `Number` constants. */
 | |
| var MAX_SAFE_INTEGER = 9007199254740991;
 | |
| 
 | |
| /**
 | |
|  * Checks if `value` is a valid array-like length.
 | |
|  *
 | |
|  * **Note:** This method is loosely based on
 | |
|  * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
 | |
|  *
 | |
|  * @static
 | |
|  * @memberOf _
 | |
|  * @since 4.0.0
 | |
|  * @category Lang
 | |
|  * @param {*} value The value to check.
 | |
|  * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
 | |
|  * @example
 | |
|  *
 | |
|  * _.isLength(3);
 | |
|  * // => true
 | |
|  *
 | |
|  * _.isLength(Number.MIN_VALUE);
 | |
|  * // => false
 | |
|  *
 | |
|  * _.isLength(Infinity);
 | |
|  * // => false
 | |
|  *
 | |
|  * _.isLength('3');
 | |
|  * // => false
 | |
|  */
 | |
| function isLength(value) {
 | |
|   return typeof value == 'number' &&
 | |
|     value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
 | |
| }
 | |
| 
 | |
| module.exports = isLength;
 |