1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| var isUndef = require('./isUndef');
| exports = function(fn, ctx, argCount) {
| if (isUndef(ctx)) return fn;
| switch (argCount == null ? 3 : argCount) {
| case 1:
| return function(val) {
| return fn.call(ctx, val);
| };
| case 3:
| return function(val, idx, collection) {
| return fn.call(ctx, val, idx, collection);
| };
| case 4:
| return function(accumulator, val, idx, collection) {
| return fn.call(ctx, accumulator, val, idx, collection);
| };
| }
| return function() {
| return fn.apply(ctx, arguments);
| };
| };
|
| module.exports = exports;
|
|