useCollapsedIf
Diagnostic Category: lint/nursery/useCollapsedIf
Since: v1.9.4
Sources:
- Same as: unicorn/no-lonely-if
- Same as: collapsible_if
Description
Section titled DescriptionEnforce 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.
Examples
Section titled ExamplesInvalid
Section titled Invalidif (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 │ 
  
Valid
Section titled Validif (condition && anotherCondition) {    // ...}if (condition) {    if (anotherCondition) {        // ...    }    doSomething();}if (condition) {    if (anotherCondition) {        // ...    } else {        // ...    }}How to configure
Section titled How to configure{  "linter": {    "rules": {      "nursery": {        "useCollapsedIf": "error"      }    }  }} 
 