Skip to content

Commit 1425da2

Browse files
refactor(eslint/default-case-last): simplify default case last check in switch statement (#13529)
Related to #13515 Thanks @overlookmotel for the suggestion, indeed clearer 💪🏻.
1 parent d245376 commit 1425da2

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

crates/oxc_linter/src/rules/eslint/default_case_last.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,11 @@ impl Rule for DefaultCaseLast {
9191
let AstKind::SwitchStatement(switch) = node.kind() else {
9292
return;
9393
};
94+
9495
let cases = &switch.cases;
95-
if let Some((index, default_clause)) =
96-
cases.iter().enumerate().find(|(_, c)| c.test.is_none())
97-
{
98-
let is_default_clause_last = index == cases.len() - 1;
99-
if !is_default_clause_last {
100-
ctx.diagnostic(default_case_last_diagnostic(default_clause.span));
101-
}
96+
let cases_without_last = &cases[..cases.len().saturating_sub(1)];
97+
if let Some(default_clause) = cases_without_last.iter().find(|c| c.test.is_none()) {
98+
ctx.diagnostic(default_case_last_diagnostic(default_clause.span));
10299
}
103100
}
104101
}

0 commit comments

Comments
 (0)