aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/modules/$.partial.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
commitde98e0b232509d5f40c135d540a70e415272ff85 (patch)
treea79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/core-js/modules/$.partial.js
parente0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff)
node_modules
Diffstat (limited to 'node_modules/core-js/modules/$.partial.js')
-rw-r--r--node_modules/core-js/modules/$.partial.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/$.partial.js b/node_modules/core-js/modules/$.partial.js
new file mode 100644
index 000000000..53f97aa9c
--- /dev/null
+++ b/node_modules/core-js/modules/$.partial.js
@@ -0,0 +1,24 @@
+'use strict';
+var path = require('./$.path')
+ , invoke = require('./$.invoke')
+ , aFunction = require('./$.a-function');
+module.exports = function(/* ...pargs */){
+ var fn = aFunction(this)
+ , length = arguments.length
+ , pargs = Array(length)
+ , i = 0
+ , _ = path._
+ , holder = false;
+ while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
+ return function(/* ...args */){
+ var that = this
+ , $$ = arguments
+ , $$len = $$.length
+ , j = 0, k = 0, args;
+ if(!holder && !$$len)return invoke(fn, pargs, that);
+ args = pargs.slice();
+ if(holder)for(;length > j; j++)if(args[j] === _)args[j] = $$[k++];
+ while($$len > k)args.push($$[k++]);
+ return invoke(fn, args, that);
+ };
+}; \ No newline at end of file