'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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;