-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Map and MapWithDefault marked as private #13815
Comments
The shims aren't guaranteed to all point to public things. I'm unsure if we intend to have these be public or not. I'd like to hear from other core team members... |
can I interpret the 👍 from @stefanpenner as acknowledgement? 😉 |
@rwjblue @stefanpenner any news on this? |
because ember-data uses them, they are at the very least intimate API. I would be fine to make them public, as Map is a pretty close to a strict subset of ES6 Map. So if we switch to ES6 map, it should "just work". We should confirm that MapWithDefault could be implemented as a subclass. If those are both true, I would push for making them public. |
@stefanpenner @rwjblue |
I'm strongly opposed to this, this should not be in core, they are not used by anything in core and currently only used in Ember Data. This is the kind of thing we need to drop to lighten up core. |
Seems good to me. We should check in with the ember-data folks about a migration path... |
This is used in many add-ons and apps, regardless how we feel this is in core, it is defacto public. Marking it as private, and removing it wont yield much for apps as nearly everyone will pull it back in immediately, which will result in a pointless deprecation. We should be honest, make it public and as part of a future tree-shaking (or ES6 friendly) effort re-visit. |
@rwjblue @stefanpenner has there been any discussion on this since last year? if the classes are not used by Ember itself IMHO we should remove them. we could build a sort of shim addon that checks the Ember version at buildtime and if Ember provides the classes ifself it would delegate to Ember, and otherwise provide the implementation itself (or even delegate to the native ES6 Map). |
The basic plan forward here is:
|
@rwjblue thanks for the detailed plan. I'll put it on the todo list :) |
The
Map
andMapWithDefault
classes are currently marked as@private
, yet they are exported through the shims. It looks like the@private
tag was added in #11362.It seems inconsistent to me to export the classes but mark them as private so I'd like to propose marking them as public.
/cc @pangratz
The text was updated successfully, but these errors were encountered: