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.
Closes #795
Notes:
Currently, there’s no way to remove nullables just from the rest element in an array type. For instance, you can’t get
[string | null, …number[]]
from[string | null, …(number | null)[]]
.Furthermore, it’s not very obvious what
KeyPaths
should be used to target the rest element. Usingnumber
would target all elements, not just the rest element (refer to the next point).Rest elements in array types behave slightly differently across versions when
KeyPaths
includesnumber
. Refer the example below:SetNonNullableDeep
currently doesn't deeply remove all nullables ifKeyPaths
isany
. This will require a separateNonNullableDeep
type, which I'll create it a separate PR.