0.1.0 • Published 3 years ago
@webreflection/json-map v0.1.0
JSON Map & Set
A basic utility to stringify and parse specialized Maps and Sets.
Exports
JSONMap
asMap
extend, it can contain only serializable instancesJSONSet
asSet
extend, it can contain only serializable instancesSerializableMap
asMap
extend, it can contain any JSON friendly value, but not serializable instancesSerializableSet
asSet
extend, it can contain any JSON friendly value, but not serializable instances
import {JSONSet, SerializableSet} from '@webreflection/json-map';
const generic1 = new SerializableSet;
generic1.add(1);
generic1.add(2);
generic1.add(3);
const generic2 = new SerializableSet;
generic2.add('a');
generic2.add('b');
const serializable = new JSONSet;
serializable.add(generic1);
serializable.add(generic2);
// will invoke toJSON automatically
const asString = JSON.stringify(serializable);
// '{"json_set":[{"set":[1,2,3]},{"set":["a","b"]}]}'
const asJSONSet = JSONSet.fromJSON(JSON.parse(asString));
// JSONSet(2) [Set] {
// SerializableSet(3) [Set] { 1, 2, 3 },
// SerializableSet(2) [Set] { 'a', 'b' }
// }
Goal
This module has a very specific use case in mind, and it's best combined with flatted to be able to parse back and forward recursive maps and sets.