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
Labels
accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulelocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-plugin
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
Description
This comment was never implemented. The case that is not possible to detect is case 1 from the original thread
This should throw an error because all cases are not enumerated (despite there being a fallthrough).
Fail
declareconstliteral:"a"|"b";switch(literal){case"a":break;default:break;}
Pass
declareconstliteral:"a"|"b";// Validswitch(literal){case"a":break;case"b":break;}// Validswitch(literal){case"a":break;case"b":break;default:break;}
Additional Info
Why is this useful? Say you want to define explicit behavior for each enum value. I then add an enum value to my type. Having an error in this case will be an extra catch that will allow me to ensure that I remember to update the switch statements. Essentially I want to be able to always define behavior for known types.
Metadata
Metadata
Assignees
Labels
accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulelocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-plugin