Spaces:
Runtime error
Runtime error
| // optional / simple context binding | |
| var aFunction = require('./_a-function'); | |
| module.exports = function (fn, that, length) { | |
| aFunction(fn); | |
| if (that === undefined) return fn; | |
| switch (length) { | |
| case 1: return function (a) { | |
| return fn.call(that, a); | |
| }; | |
| case 2: return function (a, b) { | |
| return fn.call(that, a, b); | |
| }; | |
| case 3: return function (a, b, c) { | |
| return fn.call(that, a, b, c); | |
| }; | |
| } | |
| return function (/* ...args */) { | |
| return fn.apply(that, arguments); | |
| }; | |
| }; | |