0.1.0 • Published 4 years ago
@webreflection/json-map v0.1.0
JSON Map & Set
A basic utility to stringify and parse specialized Maps and Sets.
Exports
JSONMapasMapextend, it can contain only serializable instancesJSONSetasSetextend, it can contain only serializable instancesSerializableMapasMapextend, it can contain any JSON friendly value, but not serializable instancesSerializableSetasSetextend, 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.