sindresorhus/eslint-plugin-unicorn

`explicit-length-check`: ignore variables with non-array properties?

Closed

#1,266 opened on May 12, 2021

 (1 comment) (1 reaction) (0 assignees)JavaScript (468 forks)user submission
bughelp wantedtypes

Repository metrics

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

Description

if (
  dimensions.width &&
  dimensions.height &&
  dimensions.length // violation reported by unicorn/explicit-length-check
) { }

In this example, packagingData.dimensions is an object, and length could be a string.

As a heuristic to avoid false positives with detecting length or size on variables that are not actually arrays, could we ignore variables that have non-array properties? For example, an array does not have a width property, so if we see that used, we would assume dimensions is not an array, and ignore it.

Contributor guide