This repository has been archived by the owner on Mar 25, 2021. It is now read-only.
strict-boolean-expressions: new option allow-boolean-or-undefined #2820
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.
PR checklist
Overview of change:
I find it weird to compare for strict equality on unions of boolean and undefined. Consider the following function:
allow-undefined-union
would allow too much, because it also allows for examplets.Node | undefined
.It's already awkward to use
ts.NodeArray#hasTrailingComma === true
. With my recent changes to typescripts typings (microsoft/TypeScript#15887, microsoft/TypeScript#15903), that will hit us with the next version of typescript, this pattern will occur in many more places (e.g.ts.forEachChild
).That's why I added this new option
allow-boolean-or-undefined
.Is there anything you'd like reviewers to focus on?
CHANGELOG.md entry:
[new-rule-options]
strict-boolean-expressions
addsallow-boolean-or-undefined