Skip to content
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

[ON_HOLD] feat: custom decorators #7477

Closed
wants to merge 3 commits into from
Closed

Conversation

runspired
Copy link
Contributor

@runspired runspired commented Apr 22, 2021

This allows Ember to more easily remove support for some aspects of ComputedProperty, computed.meta etc. while also giving us better access to the schema at runtime. This is the first step towards being able to compile schema at build time, some deprecations are necessary to take that step.

In theory, this should provide a significant performance boost for accessing static schema and/or accessing a value. However, do to the complexity of also supporting sync-observers and async-proxies there are some caveats that may negate these wins. Benchmarking is needed.

Edit Going to put this on hold for now because (1) the various workarounds for reopen and sync observers seem to nuke perf in addition to adding a lot more size and complexity and (2) there's no clear path forward for this issue: emberjs/ember.js#19504

@runspired runspired requested a review from pzuraq April 22, 2021 22:30
@runspired runspired changed the title [FEAT] custom decorators [ON_HOLD] feat: custom decorators Apr 29, 2021
@runspired
Copy link
Contributor Author

this went on hold because it turned out we could not support classic syntax with custom decorators even with extensive private API abuse.

Since we are phasing out model, this change is now low priority. If we decide to keep a classic-class version of Model in the future we should deprecate classic syntax and then change the implementation.

@runspired runspired closed this Nov 27, 2024
@runspired runspired deleted the feat/custom-decorators branch November 27, 2024 00:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

1 participant