transit-immutable-js
Transit serialisation for Immutable.js
Install
npm install transit-immutable-js
You must also be using immutable
for this to be any use.
I have chosen to apply very broad npm peerDependencies for simplicity, please check that the versions you have pulled in actually work.
Usage
var transit = require('transit-immutable-js');
var Immutable = require('immutable');
var m = Immutable.Map({with: "Some", data: "In"});
var str = transit.toJSON(m);
console.log(str)
var m2 = transit.fromJSON(str);
console.log(Immutable.is(m, m2));
This library also manages to preserve objects which are a mixture of plain javascript and Immutable.
var obj = {
iMap: Immutable.Map().set(Immutable.List.of(1, 2, 3), "123"),
iList: Immutable.List.of("a", "b", "c"),
array: [ "javascript", 4, "lyfe" ]
}
console.log(transit.fromJSON(transit.toJSON(obj)));
API
transit.fromJSON(object) => string
Convert an immutable object into a JSON representation
transit.toJSON(string) => object
Convert a JSON representation back into an immutable object