1234567891011121314151617181920212223 |
- 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;
|