You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

24 lines
784 B

exports = function(fn, startIdx) {
startIdx = startIdx == null ? fn.length - 1 : +startIdx;
return function() {
var len = Math.max(arguments.length - startIdx, 0);
var rest = new Array(len);
var i;
for (i = 0; i < len; i++) rest[i] = arguments[i + startIdx];
switch (startIdx) {
case 0:
return fn.call(this, rest);
case 1:
return fn.call(this, arguments[0], rest);
case 2:
return fn.call(this, arguments[0], arguments[1], rest);
}
var args = new Array(startIdx + 1);
for (i = 0; i < startIdx; i++) args[i] = arguments[i];
args[startIdx] = rest;
return fn.apply(this, args);
};
};
module.exports = exports;