sindresorhus/eslint-plugin-unicorn

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

已關閉

#1,704 建立於 2022年1月25日

 (7 則留言) (4 個反應) (0 位負責人)JavaScript (468 個分叉)user submission
help wantednew rule

倉庫指標

星標
 (5,022 顆星)
PR 合併指標
 (平均合併 1天 16小時) (30 天內合併 399 個 PR)

描述

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;
	  })
);

貢獻者指南