fix(reducer): MERGE action added and SET action to reverted to v1 behavior #255
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I previously made the v2.0.0 SET action merge redux state data rather than overwrite it. This fixed a bug with multiple queries using population (and likely also issue #130), but it had unintended consequences for regular data subscriptions (most notably: if a field is deleted from a single object being subscribed to, it won't get deleted by the reducer).
This PR reverts that change and introduces a new MERGE action that keeps this merge semantics when useful. For now, I use MERGE when populating data only to fix the aforementioned bug. Down the road, it can be exposed to end-users as an option in a query. This may be useful, for example, when subscribing to collections of objects that one might not want to overwrite across different containers.
Check List
If not relevant to pull request, check off as complete