amf-js

1.0.4 • Public • Published

AMF.JS

This project uses the modern Javascript Typed Array specification (e.g, ArrayBuffer, U8intArray, DataView, etc.).

Designed for browsers or Node.JS.

Errata

Inspiration

Everything you need to know about the data structure:

Understanding [A]BNF frequently referenced throughout the spec:

Reverse-engineering via ActionScript 3:

AS3 Object serialization:

import com.hurlant.util.Hex;
import flash.utils.ByteArray;
 
// ...
 
public function serialize():void {
  var o:Object = new Object();
  o.name = "John Doe";
  var byteArray:ByteArray = new ByteArray();
  byteArray.writeObject(o);
  trace("serialized: "+ Hex.fromArray(byteArray));
}

AS3 Object deserialization:

import com.hurlant.util.Hex;
import flash.utils.ByteArray;
 
// ...
 
public function dumpObj(oObj:Object, sPrefix:String = ""):void {
  sPrefix == "" ? sPrefix = "---" : sPrefix += "---";
  for (var i:* in oObj) {
    trace(sPrefix, i + " : " + oObj[i], "  ");
    if (typeof(oObj[i]) == "object") dumpObj(oObj[i], sPrefix);
  }
}
 
public function deserialize():void {
  var byteArray:ByteArray = new ByteArrray();
  // ... fill with bytes ...
  var o:Object = byteArray.readObject();
  trace("deserialized: "+ this.name +" hex= "+ Hex.fromArray(ba));
  dumpObj(o);
}

Readme

Keywords

none

Package Sidebar

Install

npm i amf-js

Weekly Downloads

13

Version

1.0.4

License

GPLv1

Unpacked Size

17.1 kB

Total Files

4

Last publish

Collaborators

  • mikesmullin