17 lines
437 B
JavaScript
17 lines
437 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);
|
|
};
|