types: support stricter typechecking for returnEmptyString and returnNull #2129
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 is an adaptation of #2000 addressing the feedback and rebasing.
Checklist
npm run test
Motivation
For TypeScript users who are using key fallback (
returnEmptyString
orreturnNull
set to false), the improved type inference introduced in v23 isn't working at the moment. This PR fixes that.Fix
Check the
returnEmptyString
andreturnNull
settings when deciding whether we can return null/empty string or fallback to the key.Testing
Added tests; ran on a large codebase and verified it typechecked still