Fix deeply nested value updates #4
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.
There is a bug where modifying results that are nested within a list
result does not work, the result is always undefined.
The reason modifying results that are within a list does not work is
that the nested relation is found on each item of the list rather than
the list itself, so when we get the relation by name the result is
always
undefined.When a
nextfunction is returning a relation that is nested within alist combine all the relation values into a single flat array. This
means middleware only has to handle flat arrays of results which makes
modifying the result before it is returned easier. If the result's
parent is needed then it is possible to go through the parent middleware
and traverse that relation; only a single depth of relation needs to be
traversed as the middleware will be called for each layer.
Add more specific tests to ensure the problem is fixed at various
depths.