Spaces:
Runtime error
Runtime error
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; | |