superjson icon indicating copy to clipboard operation
superjson copied to clipboard

Add Immutable.js Support

Open nrdobie opened this issue 5 years ago • 0 comments

This would add support for Immutable.js types as values.

Proposed usage:

import SJSON from '@onedeadpixel/superjson'
import * as Immutable from 'immutable'

// In application setup
import '@onedeadpixel/superjson-type-immutable-js/register' 

const data = {
  immutableMap: Immutable.Map([[1, 'Mocha']])
}

const jsonString = SJSON.stringify(data) // => {
//   "immutableMap": {
//     "__sj_type": "Immutable#Map",
//     "__sj_value": [[1, "Mocha"]
//   }
// }

// JSON string sent to another memory instance

const data = SJSON.parse(jsonString) // => {
//   immutableMap: Immutable.Map([[1, 'Mocha']])
// }

nrdobie avatar Jul 19 '19 15:07 nrdobie