I addressed some of these as well but didn't put it up here yet. Semantics (this is all on the gist as well in more readable form)
* Objects keep an internal map of protector *Name* objects to keys. * A protector can only protect one key per object. * Each key on an object can only have one protector (this isn't necessary but seems preferable). * The key a protector protects can vary between objects. * The protector for an object's key can be changed. * A non-writable property's value can always be changed via the protector (but not direct assignment). * Setting an object to non-configurable makes it non-protected (they are mutually exclusive and configurability trumps). * By extension, a non-configurable property cannot become protected. * For Accessors, the __public__ property of the protector is passed to the setter (matches how private Names work with Proxies).
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

