@webreflection/json-map

0.1.0 • Public • Published

JSON Map & Set

A basic utility to stringify and parse specialized Maps and Sets.

Exports

  • JSONMap as Map extend, it can contain only serializable instances
  • JSONSet as Set extend, it can contain only serializable instances
  • SerializableMap as Map extend, it can contain any JSON friendly value, but not serializable instances
  • SerializableSet as Set 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.

/@webreflection/json-map/

    Package Sidebar

    Install

    npm i @webreflection/json-map

    Weekly Downloads

    0

    Version

    0.1.0

    License

    ISC

    Unpacked Size

    6.48 kB

    Total Files

    6

    Last publish

    Collaborators

    • webreflection