| 123456789101112131415161718192021 | 
							- /**
 
-  * 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;
 
 
  |