Rules for making switch/case expressions for union type values exhaustively checkable at compile time.
You'll first need to install ESLint and its dependency, espree
:
npm i eslint espree --save-dev
Next, install eslint-plugin-exhaustive-switch
. If you want to use the included assertUnreachable
in your source
code, make sure to save it as a dependency
and not a devDependency
.
npm install eslint-plugin-exhaustive-switch --save-dev
Add exhaustive-switch
to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin-
prefix:
{
"plugins": ["@ethanresnick/exhaustive-switch"]
}
Then configure the rule under the rules section.
{
"rules": {
"exhaustive-switch/require-unreachable-default-case": [
2,
{ "unreachableDefaultCaseAssertionFunctionName": "assertNever" }
]
}
}
🔧 Automatically fixable by the --fix
CLI option.
💭 Requires type information.
Name | Description | 🔧 | 💭 |
---|---|---|---|
require-appropriate-default-case | require unreachable default case | 🔧 | 💭 |