Nope. This is exactly why it seems that "protected" couldn't have any way
to work that has "hard" enforcement.

The only true privacy in JS is via closure (including WeakMaps), or via the
upcoming "private fields" proposal, assuming it stays as "hard private".
Anything shared is publicly accessible.

I'd be very interested to hear any idea that would allow modules A and B to
privately share something, without module C being able to; the only thing I
could think of would be some sort of private export that explicitly
included a list of module specifiers that were allowed to import it - which
would still not be secure whenever loader hooks exist.

On Sun, Apr 23, 2017 at 1:42 PM, /#!/JoePea <j...@trusktr.io> wrote:

> Is there a way to share some secret value across a few modules, and
> prevent other modules? f.e. prevent modules of an app dev who is importing
> modules of a library where the library wants to share private stuff across
> its modules. Is this possible to implement somehow?
>
> WeakMaps can be encapsulated inside a module to implement "private"
> properties for a class defined inside that module and then exported. But
> "protected" can't be implemented with a WeakMap shared with modules because
> then end-user app code can import the WeakMap and read all the stuff. Is
> there some way to share a WeakMap private with classes defined across
> modules?
>
> */#!/*JoePea
>
> _______________________________________________
> 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