mirror of
				https://github.com/skishore/makemeahanzi.git
				synced 2025-11-01 03:45:51 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			22 lines
		
	
	
		
			714 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			714 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * 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;
 | 
