Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
Closed as not planned
Closed as not planned
Description
Before You File a Proposal Please Confirm You Have Done The Following...
- I havesearched for related issues and found none that match my proposal.
- I have searched thecurrent rule list and found no rules that match my proposal.
- I haveread the FAQ and my problem is not listed.
My proposal is suitable for this project
- I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).
Link to the rule's documentation
https://typescript-eslint.io/rules/no-unnecessary-condition/
Description
Let's say:
functionfoo():string|undefined{// bla bla bla}constbar=foo();if(typeofbar==='string'){// It's ok// bla bla bla}
One day, I refactored thefoo
function to return string only:
functionfoo():string{// bla bla bla}constbar=foo();if(typeofbar==='string'){// Smelly code. bar is always string. But no-unnecessary-condition does not report it// bla bla bla}
Fail
conststr:string='foo';if(typeofstr==='string'){// bla bla bla}
Pass
conststr:string|undefined='foo';if(typeofstr==='string'){// bla bla bla}
Additional Info
No response