diff options
Diffstat (limited to 'node_modules/core-js/internals/function-bind-context.js')
| -rw-r--r-- | node_modules/core-js/internals/function-bind-context.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/node_modules/core-js/internals/function-bind-context.js b/node_modules/core-js/internals/function-bind-context.js new file mode 100644 index 0000000..96a7f49 --- /dev/null +++ b/node_modules/core-js/internals/function-bind-context.js @@ -0,0 +1,24 @@ +var aFunction = require('../internals/a-function'); + +// optional / simple context binding +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 0: return function () { + return fn.call(that); + }; + 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); + }; +}; |
