openfl
Version:
A fast, productive library for 2D cross-platform development.
194 lines (176 loc) • 4.54 kB
JavaScript
// Class: openfl.utils._internal.format.amf.AMFTools
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 Type() {return require("./../../../../../Type");}
function openfl_utils__$internal_format_amf_AMFValue() {return require("./../../../../../openfl/utils/_internal/format/amf/AMFValue");}
function haxe_ds_StringMap() {return require("./../../../../../haxe/ds/StringMap");}
function Reflect() {return require("./../../../../../Reflect");}
function js__$Boot_HaxeError() {return require("./../../../../../js/_Boot/HaxeError");}
function Std() {return require("./../../../../../Std");}
// Constructor
var AMFTools = function(){}
// Meta
AMFTools.__name__ = "openfl.utils._internal.format.amf.AMFTools";
AMFTools.__isInterface__ = false;
AMFTools.prototype = {
};
AMFTools.prototype.__class__ = AMFTools.prototype.constructor = $hxClasses["openfl.utils._internal.format.amf.AMFTools"] = AMFTools;
// Init
// Statics
AMFTools.encode = function(o) {
var _g = (Type().default).typeof(o);
switch(_g._hx_index) {
case 0:
return (openfl_utils__$internal_format_amf_AMFValue().default).ANull;
case 1:
return (openfl_utils__$internal_format_amf_AMFValue().default).ANumber(o);
case 2:
return (openfl_utils__$internal_format_amf_AMFValue().default).ANumber(o);
case 3:
return (openfl_utils__$internal_format_amf_AMFValue().default).ABool(o);
case 4:
var h = new (haxe_ds_StringMap().default)();
var _g1 = 0;
var _g11 = (Reflect().default).fields(o);
while(_g1 < _g11.length) {
var f = _g11[_g1];
++_g1;
h.set(f,AMFTools.encode((Reflect().default).field(o,f)));
}
return (openfl_utils__$internal_format_amf_AMFValue().default).AObject(h);
case 6:
var c = _g.c;
switch(c) {
case Array:
var o1 = o;
var a = [];
var _g2 = 0;
while(_g2 < o1.length) {
var v = o1[_g2];
++_g2;
a.push(AMFTools.encode(v));
}
return (openfl_utils__$internal_format_amf_AMFValue().default).AArray(a);
case String:
return (openfl_utils__$internal_format_amf_AMFValue().default).AString(o);
case (haxe_ds_StringMap().default):
var o2 = o;
var h1 = new (haxe_ds_StringMap().default)();
var f1 = o2.keys();
while(f1.hasNext()) {
var f2 = f1.next();
h1.set(f2,AMFTools.encode(o2.get(f2)));
}
return (openfl_utils__$internal_format_amf_AMFValue().default).AObject(h1);
default:
throw new (js__$Boot_HaxeError().default)("Can't encode instance of " + (Type().default).getClassName(c));
}
break;
default:
throw new (js__$Boot_HaxeError().default)("Can't encode " + (Std().default).string(o));
}
}
AMFTools.number = function(a) {
if(a == null) {
return null;
}
if(a._hx_index == 0) {
var n = a.f;
return n;
} else {
return null;
}
}
AMFTools.string = function(a) {
if(a == null) {
return null;
}
if(a._hx_index == 2) {
var s = a.s;
return s;
} else {
return null;
}
}
AMFTools.object = function(a) {
if(a == null) {
return null;
}
if(a._hx_index == 3) {
var _g1 = a.size;
var o = a.fields;
return o;
} else {
return null;
}
}
AMFTools.abool = function(a) {
if(a == null) {
return null;
}
if(a._hx_index == 1) {
var b = a.b;
return b;
} else {
return null;
}
}
AMFTools.array = function(a) {
if(a == null) {
return null;
}
if(a._hx_index == 7) {
var a1 = a.values;
return a1;
} else {
return null;
}
}
AMFTools.unwrapValue = function(val) {
switch(val._hx_index) {
case 0:
var f = val.f;
return f;
case 1:
var b = val.b;
return b;
case 2:
var s = val.s;
return s;
case 3:
var _g2 = val.size;
var vmap = val.fields;
var obj = { };
var name = vmap.keys();
while(name.hasNext()) {
var name1 = name.next();
(Reflect().default).setField(obj,name1,AMFTools.unwrapValue(vmap.get(name1)));
}
return obj;
case 4:
var d = val.d;
return d;
case 5:
return null;
case 6:
return null;
case 7:
var vals = val.values;
var f1 = AMFTools.unwrapValue;
var result = new Array(vals.length);
var _g = 0;
var _g1 = vals.length;
while(_g < _g1) {
var i = _g++;
result[i] = f1(vals[i]);
}
return result;
}
}
// Export
exports.default = AMFTools;