UNPKG

openfl

Version:

A fast, productive library for 2D cross-platform development.

116 lines (98 loc) 3.34 kB
// Class: openfl.utils._internal.format.amf.AMFReader 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 haxe_ds_StringMap() {return require("./../../../../../haxe/ds/StringMap");} function openfl_utils__$internal_format_amf_AMFValue() {return require("./../../../../../openfl/utils/_internal/format/amf/AMFValue");} function js__$Boot_HaxeError() {return require("./../../../../../js/_Boot/HaxeError");} // Constructor var AMFReader = function(i) { this.i = i; i.set_bigEndian(true); } // Meta AMFReader.__name__ = "openfl.utils._internal.format.amf.AMFReader"; AMFReader.__isInterface__ = false; AMFReader.prototype = { readObject: function() { var h = new (haxe_ds_StringMap().default)(); while(true) { var c1 = this.i.readByte(); var c2 = this.i.readByte(); var name = this.i.readString(c1 << 8 | c2); var k = this.i.readByte(); if(k == 9) { break; } h.set(name,this.readWithCode(k)); } return h; }, readArray: function(n) { var a = []; var _g = 0; var _g1 = n; while(_g < _g1) { var i = _g++; a.push(this.read()); } return a; }, readInt: function() { return this.i.readInt32(); }, readWithCode: function(id) { var i = this.i; switch(id) { case 0: return (openfl_utils__$internal_format_amf_AMFValue().default).ANumber(i.readDouble()); case 1: var tmp; switch(i.readByte()) { case 0: tmp = false; break; case 1: tmp = true; break; default: throw new (js__$Boot_HaxeError().default)("Invalid AMF"); } return (openfl_utils__$internal_format_amf_AMFValue().default).ABool(tmp); case 2: return (openfl_utils__$internal_format_amf_AMFValue().default).AString(i.readString(i.readUInt16())); case 5: return (openfl_utils__$internal_format_amf_AMFValue().default).ANull; case 6: return (openfl_utils__$internal_format_amf_AMFValue().default).AUndefined; case 7: throw new (js__$Boot_HaxeError().default)("Not supported : Reference"); case 3:case 8: var ismixed = id == 8; var size = ismixed ? this.readInt() : null; return (openfl_utils__$internal_format_amf_AMFValue().default).AObject(this.readObject(),size); case 10: return (openfl_utils__$internal_format_amf_AMFValue().default).AArray(this.readArray(this.readInt())); case 11: var time_ms = i.readDouble(); var tz_min = i.readUInt16(); return (openfl_utils__$internal_format_amf_AMFValue().default).ADate(new Date(time_ms + tz_min * 60 * 1000.0)); case 12: return (openfl_utils__$internal_format_amf_AMFValue().default).AString(i.readString(this.readInt())); default: throw new (js__$Boot_HaxeError().default)("Unknown AMF " + id); } }, read: function() { return this.readWithCode(this.i.readByte()); } }; AMFReader.prototype.__class__ = AMFReader.prototype.constructor = $hxClasses["openfl.utils._internal.format.amf.AMFReader"] = AMFReader; // Init // Statics // Export exports.default = AMFReader;