You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							26 lines
						
					
					
						
							782 B
						
					
					
				
			
		
		
	
	
							26 lines
						
					
					
						
							782 B
						
					
					
				| 'use strict';
 | |
| var path = require('./_path');
 | |
| var invoke = require('./_invoke');
 | |
| var aFunction = require('./_a-function');
 | |
| module.exports = function (/* ...pargs */) {
 | |
|   var fn = aFunction(this);
 | |
|   var length = arguments.length;
 | |
|   var pargs = new Array(length);
 | |
|   var i = 0;
 | |
|   var _ = path._;
 | |
|   var holder = false;
 | |
|   while (length > i) if ((pargs[i] = arguments[i++]) === _) holder = true;
 | |
|   return function (/* ...args */) {
 | |
|     var that = this;
 | |
|     var aLen = arguments.length;
 | |
|     var j = 0;
 | |
|     var k = 0;
 | |
|     var args;
 | |
|     if (!holder && !aLen) return invoke(fn, pargs, that);
 | |
|     args = pargs.slice();
 | |
|     if (holder) for (;length > j; j++) if (args[j] === _) args[j] = arguments[k++];
 | |
|     while (aLen > k) args.push(arguments[k++]);
 | |
|     return invoke(fn, args, that);
 | |
|   };
 | |
| };
 |