serializer/README.md
2019-01-14 23:30:00 +01:00

1.5 KiB

tk-serializer

Build status Code coverage NPM version Minified size

About

This library offers a generic serialization system for Javascript.

Deep objects state may be serialized to a string, and reconstructed back.

Class instances are reconstructed properly, as long as they are in the provided namespace. Circular references are handled.

Install

npm install tk-serializer

Use

Suppose you have 2 classes Class1 and Class2, whose instances you want to serialize.

import { Serializer } from "tk-serializer";

const namespace = {
    Class1,
    Class2
};
const obj = {
    a: [1, "a", new Class1()],
    b: new Class2("x"),
    c: new Class3()
};

let serializer = new Serializer(namespace);

// Optionally, some class instances may be ignored (they will be replaced by *undefined*)
serializer.addIgnoredClass("Class3");

// Serialize the object to a string
let state: string = serializer.serialize(obj);

// Reconstruct the object back (*c* will be undefined)
let nobj = serializer.unserialize(state);