aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/function/#/partial.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/function/#/partial.js')
-rw-r--r--node_modules/es5-ext/function/#/partial.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/node_modules/es5-ext/function/#/partial.js b/node_modules/es5-ext/function/#/partial.js
new file mode 100644
index 000000000..1734b1355
--- /dev/null
+++ b/node_modules/es5-ext/function/#/partial.js
@@ -0,0 +1,16 @@
+"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);
+};