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.
		
		
		
		
		
			
		
			
				
					
					
						
							22 lines
						
					
					
						
							714 B
						
					
					
				
			
		
		
	
	
							22 lines
						
					
					
						
							714 B
						
					
					
				| /**
 | |
|  * A faster alternative to `Function#apply`, this function invokes `func`
 | |
|  * with the `this` binding of `thisArg` and the arguments of `args`.
 | |
|  *
 | |
|  * @private
 | |
|  * @param {Function} func The function to invoke.
 | |
|  * @param {*} thisArg The `this` binding of `func`.
 | |
|  * @param {Array} args The arguments to invoke `func` with.
 | |
|  * @returns {*} Returns the result of `func`.
 | |
|  */
 | |
| function apply(func, thisArg, args) {
 | |
|   switch (args.length) {
 | |
|     case 0: return func.call(thisArg);
 | |
|     case 1: return func.call(thisArg, args[0]);
 | |
|     case 2: return func.call(thisArg, args[0], args[1]);
 | |
|     case 3: return func.call(thisArg, args[0], args[1], args[2]);
 | |
|   }
 | |
|   return func.apply(thisArg, args);
 | |
| }
 | |
| 
 | |
| module.exports = apply;
 |