Allen Wirfs-Brock (2013-07-12T19:32:21.000Z)
On Jul 12, 2013, at 12:14 PM, Jeremy Martin wrote:

> In brief: allow Symbol's to be constructed with a single parameter, with the following behavior:
> 
> > var obj = {};
> undefined
> > new Symbol({}) === new Symbol({})
> false
> > new Symbol(obj) === new Symbol(obj)
> true

You can use a WeakMap to build your own object-selected Symbol factory:

let known = new WeakMap;

function ObjSymFactory(obj) {
   //handle obj === undefined however you want
   let sym = known.get(obj);
   If (!sym) {
      sym = new Symbol;
      known.set(obj,sym);
   }
   return sym;
}

Allen   


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130712/de1be8f0/attachment.html>
domenic at domenicdenicola.com (2013-07-18T16:16:31.964Z)
You can use a WeakMap to build your own object-selected Symbol factory:

```js
let known = new WeakMap;

function ObjSymFactory(obj) {
   //handle obj === undefined however you want
   let sym = known.get(obj);
   if (!sym) {
      sym = new Symbol;
      known.set(obj,sym);
   }
   return sym;
}
```
domenic at domenicdenicola.com (2013-07-18T16:16:20.326Z)
You can use a WeakMap to build your own object-selected Symbol factory:

```js
let known = new WeakMap;

function ObjSymFactory(obj) {
   //handle obj === undefined however you want
   let sym = known.get(obj);
   If (!sym) {
      sym = new Symbol;
      known.set(obj,sym);
   }
   return sym;
}
```