starling-framework
Version:
A fast, productive library for 2D cross-platform development.
84 lines (66 loc) • 1.72 kB
JavaScript
// Class: starling.utils.Execute
var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this
$global.Object.defineProperty(exports, "__esModule", {value: true});
var __map_reserved = {};
// Imports
var $hxClasses = require("./../../hxClasses_stub").default;
var $hxEnums = require("./../../hxEnums_stub").default;
var $import = require("./../../import_stub").default;
function Reflect() {return require("./../../Reflect");}
// Constructor
var Execute = function(){}
// Meta
Execute.__name__ = "starling.utils.Execute";
Execute.__isInterface__ = false;
Execute.prototype = {
};
Execute.prototype.__class__ = Execute.prototype.constructor = $hxClasses["starling.utils.Execute"] = Execute;
// Init
// Statics
Execute.execute = function(func,args) {
if(func != null) {
if(args == null) {
args = [];
}
var maxNumArgs = -1;
var _g = args.length;
var _g1 = maxNumArgs;
while(_g < _g1) {
var i = _g++;
args[i] = null;
}
switch(maxNumArgs) {
case -1:
(Reflect().default).callMethod(func,func,args);
break;
case 0:
func();
break;
case 1:
func(args[0]);
break;
case 2:
func(args[0],args[1]);
break;
case 3:
func(args[0],args[1],args[2]);
break;
case 4:
func(args[0],args[1],args[2],args[3]);
break;
case 5:
func(args[0],args[1],args[2],args[3],args[4]);
break;
case 6:
func(args[0],args[1],args[2],args[3],args[4],args[5]);
break;
case 7:
func(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);
break;
default:
(Reflect().default).callMethod(func,func,args.slice(0,maxNumArgs));
}
}
}
// Export
exports.default = Execute;