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);
}

/amf-js/

    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