noUselessSwitchCase
Summary
Section titled “Summary”- Rule available since:
v1.0.0 - Diagnostic Category:
lint/complexity/noUselessSwitchCase - This rule is recommended, which means is enabled by default.
- This rule has an unsafe fix.
- The default severity of this rule is information.
- Sources:
- Same as
unicorn/no-useless-switch-case
- Same as
How to configure
Section titled “How to configure”{ "linter": { "rules": { "complexity": { "noUselessSwitchCase": "error" } } }}Description
Section titled “Description”Disallow useless case in switch statements.
A switch statement can optionally have a default clause.
The default clause will be still executed only if there is no match in the case clauses.
An empty case clause that precedes the default clause is thus useless.
Examples
Section titled “Examples”Invalid
Section titled “Invalid”switch (foo) { case 0: default: break; case 1: break;}code-block.js:2:5 lint/complexity/noUselessSwitchCase FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Useless case clause.
1 │ switch (foo) {
> 2 │ case 0:
│ ^^^^^^^
3 │ default:
4 │ break;
ℹ because the default clause is present:
1 │ switch (foo) {
2 │ case 0:
> 3 │ default:
│ ^^^^^^^^
> 4 │ break;
│ ^^^^^^
5 │ case 1:
6 │ break;
ℹ Unsafe fix: Remove the useless case.
1 1 │ switch (foo) {
2 │ - ····case·0:
3 2 │ default:
4 3 │ break;
switch (foo) { default: case 0: break; case 1: break;}code-block.js:3:5 lint/complexity/noUselessSwitchCase FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Useless case clause.
1 │ switch (foo) {
2 │ default:
> 3 │ case 0:
│ ^^^^^^^
> 4 │ break;
│ ^^^^^^
5 │ case 1:
6 │ break;
ℹ because the default clause is present:
1 │ switch (foo) {
> 2 │ default:
│ ^^^^^^^^
3 │ case 0:
4 │ break;
ℹ Unsafe fix: Remove the useless case.
1 1 │ switch (foo) {
2 │ - ····default:
3 │ - ····case·0:
2 │ + ····default:
4 3 │ break;
5 4 │ case 1:
switch (foo) { case 0: break; default: break;}switch (foo) { case 0: break;}Related links
Section titled “Related links”Copyright (c) 2023-present Biome Developers and Contributors.