Serializable Class
serializable-class
is a lightweight library that handles class serialization and deserialization.
Installation
npm install --save serializable-class
Quick Start
const SerializableClass = let object =
Serialization
let object = objectvalue = 10object // { _class: 'SerializableClass', value: 10 }
Deserialization
let object = objectvalue = 10let data = objectlet deserializedObject = SerializableClass // SerializableClass { value: 10 }
Extending Classes
Extending the SerializableClass
class is easy. Just be sure to register the extended class after it has been defined.
{}SerializableClasslet object = objectsubclass = let data = object // {_class: 'SerializableClass', subclass: { _class: 'Subclass' } }let deserializedObject = SerializableClass // SerializableClass { subclass: Subclass {} }
It is not necessary to call deserialize
on the extended class that you want to be returned. The class returned will always match the _class
of the serialized object that is provided.
{}SerializableClasslet object = objectvalue = 10let data = object // { _class: 'Subclass', value: 10 }let deserializedObject = SerializableClass // Subclass { value: 10}
Hooks
There are four hooks available — _preSerialize
, _postSerialize
, _preDeserialize
, _postDeserialize
— which are called at the respective steps in a class's serialization and deserialization.