Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
Open
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
I constantly see LLMs generating code that checks variables by calling Array.isArray on them despite them being strictly typed as array. Adding logic intono-unnecessary-condition to detect these redundant calls would reduce code by avoiding unnecessary conditions and helps in reviewing AI generated code.
Fail
constitems:number[]=[1,2,3];if(Array.isArray(items)){console.log("items is an array");}
Pass
constitems:number[]|null=[1,2,3];if(Array.isArray(items)){console.log("items is an array");}
Additional Info
Maybe also include logic to detect unnecessaryitems instanceof Array?