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.
		
		
		
		
		
			
		
			
				
					28 lines
				
				780 B
			
		
		
			
		
	
	
					28 lines
				
				780 B
			| 
											3 years ago
										 | var apply = require('./_apply'), | ||
|  |     arrayMap = require('./_arrayMap'), | ||
|  |     baseIteratee = require('./_baseIteratee'), | ||
|  |     baseRest = require('./_baseRest'), | ||
|  |     baseUnary = require('./_baseUnary'), | ||
|  |     flatRest = require('./_flatRest'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Creates a function like `_.over`. | ||
|  |  * | ||
|  |  * @private | ||
|  |  * @param {Function} arrayFunc The function to iterate over iteratees. | ||
|  |  * @returns {Function} Returns the new over function. | ||
|  |  */ | ||
|  | function createOver(arrayFunc) { | ||
|  |   return flatRest(function(iteratees) { | ||
|  |     iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); | ||
|  |     return baseRest(function(args) { | ||
|  |       var thisArg = this; | ||
|  |       return arrayFunc(iteratees, function(iteratee) { | ||
|  |         return apply(iteratee, thisArg, args); | ||
|  |       }); | ||
|  |     }); | ||
|  |   }); | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = createOver; |