sindresorhus/eslint-plugin-unicorn

no-fn-reference-in-iterator: Ignore locally declared functions?

Closed

#717 opened on May 4, 2020

 (8 comments) (2 reactions) (0 assignees)JavaScript (468 forks)user submission
enhancementhelp wanted

Repository metrics

Stars
 (5,022 stars)
PR merge metrics
 (Avg merge 1d 16h) (399 merged PRs in 30d)

Description

I would like the following to be ignored by no-fn-reference-in-iterator:

const fn = item => {
  // do stuff with iterator items
};

iter1.forEach(fn);
iter2.forEach(fn);
iter3.forEach(fn);

Since fn is locally declared and defined the purpose of no-fn-reference-in-iterator does not apply. I see value in the following situations being reported:

const mapper = require('unicorn-mapper');

function doStuff(iter, fn) {
  iter.forEach(fn); // error on `fn` provided by argument
}

[2, 3, 4].forEach(mapper); // error as `mapper` is from a `require`

Contributor guide