actually, `{type: 'String', value: ''}` ... so the rule is: usable as class
? `{new: 'ClassName', value: 'how to construct it'}` : `{type: 'Primitive',
value: 'how to create it'}` and the unserialized value uses `new
global[obj.new](obj.value)` or `global[obj.type](obj.value)` to recreate
the value.

Regards

On Tue, Jul 17, 2018 at 6:04 PM Andrea Giammarchi <
andrea.giammar...@gmail.com> wrote:

> My idea is that `JSON.stringify(new Uint8Array([1, 2, 3]));` is also an
> issue, not only BigInt.
>
> if every value could be represented as `{{type: 'BigInt', value:
> '55555555'}, {new: 'Uint8Array', value: [1, 2, 3]}, {type: 'string', value:
> 'dastring'}, {type: 'number', value: 123}, {new: 'String', value: 'as
> wrap'}}` and resurrected later on it's basically problem solved except for
> Weak* and Symbol, unless it's a global one, and it'd be OK.
>
> That transformation would be compatible also with all circular-json like
> libraries I know (or I've written).
>
> Regards
>
>
>
> On Tue, Jul 17, 2018 at 5:44 PM Cyril Auburtin <cyril.aubur...@gmail.com>
> wrote:
>
>> It would be great to have
>> ```js
>> JSON.stringify({x: 5n, y: BigInt('6')}) === '{"x":5n,"y":6n}'
>> JSON.parse('{"x": 3n}') // {x: 3n}
>> ```
>> I don't know how feasable it would be, maybe have a new JSON5 object if
>> JSON can't be changed for some reasons
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss@mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to