Opal-Estate-Pro/node_modules/es5-ext/function/#/partial.js
2019-09-13 11:27:52 +07:00

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);
};