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;