1.0.4 • Published 6 years ago

amf-js v1.0.4

Weekly downloads
9
License
GPLv1
Repository
-
Last release
6 years ago

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

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

7 years ago

1.0.0

7 years ago