sindresorhus/eslint-plugin-unicorn

Rule proposal: `no-negated-some-every`

クローズ

#1,704 opened on 2022/01/25

 (7 件のコメント) (4 件のリアクション) (0 人の担当者)JavaScript (468 件のフォーク)user submission
help wantednew rule

Repository metrics

Stars
 (5,022 個のスター)
PR merge metrics
 (平均マージ 4h 30m) (30d で 26 merged PRs)

説明

Description

I believe all negative Array.every() can write in positive Array.some()

[
    ![].every(() => true) === [].some(() => !true),
    ![0].every(() => true) === [0].some(() => !true),
    ![1].every(() => true) === [1].some(() => !true),
    ![].every(() => false) === [].some(() => !false),
    ![0].every(() => false) === [0].some(() => !false),
    ![1].every(() => false) === [1].some(() => !false),
]

Fail

if (!array.some(element => test(element)));
if (!array.every(element => test(element)));

Pass

if (array.every(element => !test(element)));
if (array.some(element => !test(element)));
if (!array.every(Boolean));

Extra

I'm not sure about this, maybe only simple cases?

if (
	  !array.some(element => {
	  	if (foo) {
			return true;
		}

	  	if (bar) {
			return false;
		}

		return baz;
	  })
);

コントリビューターガイド