basant307/AI_Governance_Project
045
1/**2 * A faster alternative to `Function#apply`, this function invokes `func`3 * with the `this` binding of `thisArg` and the arguments of `args`.4 *5 * @private6 * @param {Function} func The function to invoke.7 * @param {*} thisArg The `this` binding of `func`.8 * @param {Array} args The arguments to invoke `func` with.9 * @returns {*} Returns the result of `func`.10 */11function apply(func, thisArg, args) {12 switch (args.length) {13 case 0: return func.call(thisArg);14 case 1: return func.call(thisArg, args[0]);15 case 2: return func.call(thisArg, args[0], args[1]);16 case 3: return func.call(thisArg, args[0], args[1], args[2]);17 }18 return func.apply(thisArg, args);19}20 21module.exports = apply;22 