(oops, forgot to reply-all)

Begin forwarded message:

> From: Allen Wirfs-Brock <[email protected]>
> Date: October 3, 2012 10:15:57 AM PDT
> To: Herby Vojčík <[email protected]>
> Subject: Re: Sets plus JSON
> 
> 
> On Oct 3, 2012, at 9:56 AM, Herby Vojčík wrote:
> 
>> 
>> 
>> Nicholas C. Zakas wrote:
>>> After a little more experimenting with sets (still a really big fan!!),
>>> I've come across an interesting problem. Basically, I found myself using
>>> a set and then wanting to convert that into JSON for storage.
>>> JSON.stringify() run on a set returns "{}", because it's an object
>>> without any enumerable properties. I'm wondering if that's the correct
>>> behavior because a set is really more like an array than it is an
>>> object, and perhaps it would be best to define a toJSON() method for
>>> sets such as:
>>> 
>>> Set.prototype.toJSON = function() {
>>> return Array.from(this);
>> It depends... you should be able to reread it, so the best thing would 
>> proably be to use matching set of transformers for both stringify and parse. 
>> I personally would rather see something like
>>      { _Set_from_: Array.from(this) }
>> here.
>>> };
>>> ...
> 
> This is one of the reasons that it is important that Set (and Map, etc.) are 
> specified (and implemented) in a manner that makes them fully subclassable.   
> By subclassing, individual use cases for serializing them can be kept 
> distinct rather than multiple libraries or subsystems fighting over who gets 
> control of the single implementation of Set.prototype.toJSON
> 
> Allen
> 

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to