15 lines
439 B
JavaScript
15 lines
439 B
JavaScript
|
"use strict";
|
||
|
|
||
|
var callable = require("../../object/valid-callable")
|
||
|
, aFrom = require("../../array/from")
|
||
|
, defineLength = require("../_define-length")
|
||
|
, apply = Function.prototype.apply;
|
||
|
|
||
|
module.exports = function (/* …args*/) {
|
||
|
var fn = callable(this), args = aFrom(arguments);
|
||
|
|
||
|
return defineLength(function () {
|
||
|
return apply.call(fn, this, args.concat(aFrom(arguments)));
|
||
|
}, fn.length - args.length);
|
||
|
};
|