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 have searched for related issues and found none that matched my issue.
- I have read the FAQ and my problem is not listed.
Playground Link
Repro Code
type BrandedKey = string & { _brand: undefined };
interface TempObject {
outer?: Record<BrandedKey, InnerObject>;
}
interface InnerObject {
inner: BrandedKey;
}
const a: TempObject = {};
const b = 'some key' as BrandedKey;
const c = a.outer?.[b]?.inner;
ESLint Config
module.exports = {
parser: "@typescript-eslint/parser",
rules: {
"@typescript-eslint/no-unnecessary-condition": [
"error"
]}
},
};
tsconfig
Expected Result
The line
const c = a.outer?.[b]?.inner;
does not have any error
Actual Result
The ?.
operator before .inner
is reported as an error (false positive)
const c = a.outer?.[b]?.inner;
Additional Info
No response