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
Description
Before You File a Bug Report Please Confirm You Have Done The Following...
- I have tried restarting my IDE and the issue persists.
- I have updated to the latest version of the packages.
- I havesearched for related issues and found none that matched my issue.
- I haveread the FAQ and my problem is not listed.
Playground Link
Repro Code
exportfunctionget<Obj,KeyextendskeyofObj>(obj:Obj,key:Key){constvalue=obj[key];if(value){returnvalue;}thrownewError('BOOM!')}get({foo:null},"foo");
ESLint Config
module.exports={"parser":"@typescript-eslint/parser","parserOptions":{"ecmaVersion":"latest","sourceType":"module","project":"./tsconfig.json"},"plugins":["@typescript-eslint"],"rules":{"@typescript-eslint/no-unnecessary-condition":"error"}}
tsconfig
{"compilerOptions": {"strictNullChecks":true }}
Expected Result
No error.
Actual Result
The rule flagsif (value)
as error because it thinksvalue
is always truthy.
Additional Info
The type of value isObj[Key]
here. Maybe the rule wrongly thinks that generic lookup types are always truthy.