Skip to content
You are currently reading docs for v1.x. Go to the latest docs if you are using newer version.

useCollapsedIf

Diagnostic Category: lint/nursery/useCollapsedIf

Since: v1.9.4

Sources:

Enforce using single if instead of nested if clauses.

If an if (b) statement is the only statement in an if (a) block, it is often clearer to use an if (a && b) form.

if (condition) {
if (anotherCondition) {
// ...
}
}
code-block.js:1:17 lint/nursery/useCollapsedIf  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This if statement can be collapsed into another if statement.

> 1 │ if (condition) {

> 2 │ if (anotherCondition) {
> 3 │ // …
> 4 │ }
^
5 │ }
6 │

Safe fix: Use collapsed if instead.

1 - if·(condition)·{
2 - ····if·(anotherCondition)·{
1+ if·(condition·&&·anotherCondition)·{
3 2 // …
4 - ····}
5 - }
3+ ····}
6 4

if (condition) {
// Comment
if (anotherCondition) {
// ...
}
}
code-block.js:1:17 lint/nursery/useCollapsedIf ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This if statement can be collapsed into another if statement.

> 1 │ if (condition) {

> 2 │ // Comment
> 3 │ if (anotherCondition) {
> 4 │ // …
> 5 │ }
^
6 │ }
7 │

if (condition && anotherCondition) {
// ...
}
if (condition) {
if (anotherCondition) {
// ...
}
doSomething();
}
if (condition) {
if (anotherCondition) {
// ...
} else {
// ...
}
}
biome.json
{
"linter": {
"rules": {
"nursery": {
"useCollapsedIf": "error"
}
}
}
}