-
-
Notifications
You must be signed in to change notification settings - Fork 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
feat(store): strict projectors #3581
Conversation
✅ Deploy Preview for ngrx-io canceled.
|
Not sure how to approach the migration (#3572). Since the |
Planning to update to remove the conditional generics this week. |
What's the experience for someone upgrading from non-strict projectors? Are all their existing selectors going to produce type errors? |
Anywhere a projector is called, it will be required to be called with the correct arguments. Projectors called with incorrect arguments will produce errors. |
Ok, we definitely need to provide instructions on how to work around this for existing users in the migration guide, as I'm sure there will be some breakages for existing apps. |
I'll look to add to this PR. |
Co-authored-by: Marko Stanimirović <[email protected]>
Co-authored-by: Marko Stanimirović <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🎉
We should also provide the same changes to MemoizedSelectorWithProps
in a follow-up PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📦
I assumed, since they're deprecated, they shouldn't receive updates. |
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Closes #3571
What is the new behavior?
The
projector
is strict by default, but can be bypassed with anany
generic parameter.Does this PR introduce a breaking change?
A migration will be included to include
<any>
for every existing projector.Other information