You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					31 lines
				
				877 B
			
		
		
			
		
	
	
					31 lines
				
				877 B
			| 
											3 years ago
										 | var eq = require('./eq'), | ||
|  |     isArrayLike = require('./isArrayLike'), | ||
|  |     isIndex = require('./_isIndex'), | ||
|  |     isObject = require('./isObject'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Checks if the given arguments are from an iteratee call. | ||
|  |  * | ||
|  |  * @private | ||
|  |  * @param {*} value The potential iteratee value argument. | ||
|  |  * @param {*} index The potential iteratee index or key argument. | ||
|  |  * @param {*} object The potential iteratee object argument. | ||
|  |  * @returns {boolean} Returns `true` if the arguments are from an iteratee call, | ||
|  |  *  else `false`. | ||
|  |  */ | ||
|  | function isIterateeCall(value, index, object) { | ||
|  |   if (!isObject(object)) { | ||
|  |     return false; | ||
|  |   } | ||
|  |   var type = typeof index; | ||
|  |   if (type == 'number' | ||
|  |         ? (isArrayLike(object) && isIndex(index, object.length)) | ||
|  |         : (type == 'string' && index in object) | ||
|  |       ) { | ||
|  |     return eq(object[index], value); | ||
|  |   } | ||
|  |   return false; | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = isIterateeCall; |