Keeping non-empty nested objects #161
Merged
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.
This fixes #157
There is an edge case in merge() that the specified example hits. When we parse
'o.c.x': firebase.firestore.FieldValue.delete()
, we replace the entire contents of the current target object withnull
. That means that botho.b
ando.c
no longer exist when we try to append too.c
. We need to preserve the existing data if the object is non-empty.This is basically the same fix as #119, but expanded to also apply at any level within an object.