Serializer implement of haxe.Serializer
The Serializer class can be used to encode values and objects into a String
,
from which the Unserializer
class can recreate the original representation.
This class can be used in two ways :
- create a
new Serializer()
instance, call itsrun()
method with any argument to retrieve itString
representation. - call
Serializer.serialize()
to obtain the serialized representation of a single argument.
The specification of the serialization format can be found here.
List of supported formats
- JavaScript native type :
- Array
- Boolean
- Date
- Null
- Number (Zero, Integer, Float, Positive / Negative infinity, NaN)
- Object
- String
- Error (Exception).
- « haxe-type » type :
- List (haxe.ds.List)
- Bytes (haxe.io.Bytes)
- IntMap (haxe.ds.IntMap)
- StringMap (haxe.ds.StringMap)
- Enum (experimental)
- Class (experimental)
List of unsupported formats
- ObjectMap (haxe.ds.ObjectMap)
- custom
Note
If you are looking for how to use it, you can look at some examples in the unit tests.
new Serializer(?useCache: Boolean = false, ?useEnumIndex: Boolean = false)
// cache setting for `this` Serializer instance.
public USE_CACHE: Boolean
// enum index setting for `this` Serializer instance.
USE_ENUM_INDEX: Boolean
// `String` cache for `this` Serializer instance.
StringCache: Array
// `Object` cache for `this` Serializer instance.
ObjectCache: Array
// Serializes `data` and returns the `String` representation.
static serialize(data: Mixed): String
// return serialized `data`
public run(data: Mixed): String
// return a string representation of `v` type (internal function)
public typeof(v: Mixed): String
public cache(type: String, v: Mixed): String | false
// return a string representation of `s` (internal function)
public serializeString(s: String): String
// return a string representation of `d` (internal function)
public serializeDate(d: Date): String
// return a string representation of `n` (internal function)
public serializeNumber(n: Int): String
// return a string representation of `o` according to `type` (internal function)
public serializeObject(o: Object, type: String): String
// return a string representation of `e` (internal function)
public serializeEnum(e: Enum): String
// return a string representation of `b` (internal function)
public serializeBytes(b: Bytes): String