15 lines
478 B
JavaScript
15 lines
478 B
JavaScript
'use strict';
|
|
var uncurryThis = require('../internals/function-uncurry-this-clause');
|
|
var aCallable = require('../internals/a-callable');
|
|
var NATIVE_BIND = require('../internals/function-bind-native');
|
|
|
|
var bind = uncurryThis(uncurryThis.bind);
|
|
|
|
// optional / simple context binding
|
|
module.exports = function (fn, that) {
|
|
aCallable(fn);
|
|
return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
|
|
return fn.apply(that, arguments);
|
|
};
|
|
};
|