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
			| 
											3 years ago
										 | '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); | ||
|  |   }; | ||
|  | }; |