Version 1
[yaffs-website] / node_modules / core-js / modules / _invoke.js
1 // fast apply, http://jsperf.lnkit.com/fast-apply/5
2 module.exports = function(fn, args, that){
3   var un = that === undefined;
4   switch(args.length){
5     case 0: return un ? fn()
6                       : fn.call(that);
7     case 1: return un ? fn(args[0])
8                       : fn.call(that, args[0]);
9     case 2: return un ? fn(args[0], args[1])
10                       : fn.call(that, args[0], args[1]);
11     case 3: return un ? fn(args[0], args[1], args[2])
12                       : fn.call(that, args[0], args[1], args[2]);
13     case 4: return un ? fn(args[0], args[1], args[2], args[3])
14                       : fn.call(that, args[0], args[1], args[2], args[3]);
15   } return              fn.apply(that, args);
16 };