fix: Add another defineItem signature when init function is passed
#1909
+18
−0
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.
Overview
#1601 adjusted the typing of
defineItemto examine whetherdefaultValueorfallbackwere passed, and only then, remove thenullfrom the possible returned value. However, it did not accommodate the case where aninitfunction is passed to prevent anullreturn, which was previously allowed.Add a new type signature for this case, and add some tests for type expectations to catch the issue.
Manual Testing
Added type tests that fail before this change, and succeed after.
Related Issue
defineItemfallback #1601