114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Class: Reflect
 | |
| 
 | |
| 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 $import = require("./import_stub").default;
 | |
| function js_Boot() {return require("./js/Boot");}
 | |
| 
 | |
| // Constructor
 | |
| 
 | |
| var Reflect = function(){}
 | |
| 
 | |
| // Meta
 | |
| 
 | |
| Reflect.__name__ = ["Reflect"];
 | |
| Reflect.prototype = {
 | |
| 	
 | |
| };
 | |
| Reflect.prototype.__class__ = $hxClasses["Reflect"] = Reflect;
 | |
| 
 | |
| // Init
 | |
| 
 | |
| 
 | |
| 
 | |
| // Statics
 | |
| 
 | |
| Reflect.hasField = function(o,field) {
 | |
| 	return Object.prototype.hasOwnProperty.call(o,field);
 | |
| }
 | |
| Reflect.field = function(o,field) {
 | |
| 	try {
 | |
| 		return o[field];
 | |
| 	} catch( e ) {
 | |
| 		return null;
 | |
| 	}
 | |
| }
 | |
| Reflect.setField = function(o,field,value) {
 | |
| 	o[field] = value;
 | |
| }
 | |
| Reflect.callMethod = function(o,func,args) {
 | |
| 	return func.apply(o,args);
 | |
| }
 | |
| Reflect.fields = function(o) {
 | |
| 	var a = [];
 | |
| 	if(o != null) {
 | |
| 		var hasOwnProperty = Object.prototype.hasOwnProperty;
 | |
| 		for( var f in o ) {
 | |
| 		if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) {
 | |
| 			a.push(f);
 | |
| 		}
 | |
| 		}
 | |
| 	}
 | |
| 	return a;
 | |
| }
 | |
| Reflect.isFunction = function(f) {
 | |
| 	if(typeof(f) == "function") {
 | |
| 		return !((js_Boot().default).isClass(f) || (js_Boot().default).isEnum(f));
 | |
| 	} else {
 | |
| 		return false;
 | |
| 	}
 | |
| }
 | |
| Reflect.compare = function(a,b) {
 | |
| 	if(a == b) {
 | |
| 		return 0;
 | |
| 	} else if(a > b) {
 | |
| 		return 1;
 | |
| 	} else {
 | |
| 		return -1;
 | |
| 	}
 | |
| }
 | |
| Reflect.compareMethods = function(f1,f2) {
 | |
| 	if(f1 == f2) {
 | |
| 		return true;
 | |
| 	}
 | |
| 	if(!Reflect.isFunction(f1) || !Reflect.isFunction(f2)) {
 | |
| 		return false;
 | |
| 	}
 | |
| 	if(f1.scope == f2.scope && f1.method == f2.method) {
 | |
| 		return f1.method != null;
 | |
| 	} else {
 | |
| 		return false;
 | |
| 	}
 | |
| }
 | |
| Reflect.isEnumValue = function(v) {
 | |
| 	if(v != null) {
 | |
| 		return v.__enum__ != null;
 | |
| 	} else {
 | |
| 		return false;
 | |
| 	}
 | |
| }
 | |
| Reflect.deleteField = function(o,field) {
 | |
| 	if(!Reflect.hasField(o,field)) {
 | |
| 		return false;
 | |
| 	}
 | |
| 	delete(o[field]);
 | |
| 	return true;
 | |
| }
 | |
| Reflect.makeVarArgs = function(f) {
 | |
| 	return function() {
 | |
| 		var a = Array.prototype.slice.call(arguments);
 | |
| 		return f(a);
 | |
| 	};
 | |
| }
 | |
| 
 | |
| 
 | |
| // Export
 | |
| 
 | |
| exports.default = Reflect; |