1 var apply = require('./_apply'),
2 arrayMap = require('./_arrayMap'),
3 baseFlatten = require('./_baseFlatten'),
4 baseIteratee = require('./_baseIteratee'),
5 rest = require('./rest');
8 * Creates a function like `_.over`.
11 * @param {Function} arrayFunc The function to iterate over iteratees.
12 * @returns {Function} Returns the new invoker function.
14 function createOver(arrayFunc) {
15 return rest(function(iteratees) {
16 iteratees = arrayMap(baseFlatten(iteratees), baseIteratee);
17 return rest(function(args) {
19 return arrayFunc(iteratees, function(iteratee) {
20 return apply(iteratee, thisArg, args);
26 module.exports = createOver;