Work around TypeScript limitation with the PartialDeep
type
#296
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 #295, fixing an edge-case where
PartialDeep
evaluation can result in infinite depth for specific recursive type situations. This started out trying to add the exact changes from the suggestion, but arrays and tuples behave differently so it got a little more complex.npm test
passes with TS 4.4.4 locally. Verified new test case failed withoutPartialDeep
changes. Added comments following the convention seen in other files, but happy to remove them if they are unnecessary.