sindresorhus/eslint-plugin-unicorn

Rule proposal: `no-useless-recursion`

Chiusa

#1078 aperta il 27 gen 2021

 (7 commenti) (0 reazioni) (0 assegnatari)JavaScript (468 fork)user submission
help wantednew rule

Metriche repository

Star
 (5022 stelle)
Metriche merge PR
 (Merge medio 4h 30m) (26 PR mergiate in 30 g)

Descrizione

Disallow simple recursive function.

Fail

function foo(bar) {
  if (bar.baz) {
    return foo(bar.baz);
  }

  return bar;
}

Pass

function foo(bar) {
  while (bar.baz) {
    bar = bar.baz:
  }

  return bar;
}
function foo(bar) {
  for (; bar.baz; bar = bar.baz) {}

  return bar;
}
function foo(bar) {
  if (Array.isArray(bar)) {
    return bar.map(baz => foo(bar));
  }

  return bar;
}

I'm not sure how to define "simple".

Guida contributor