From 3a77e209783933bac3aaddba1b05ff6a9ac72b36 Mon Sep 17 00:00:00 2001 From: Giulio Canti Date: Fri, 7 Jun 2024 15:22:22 +0200 Subject: [PATCH] Remove unnecessary `===` comparison in `getEquivalence` functions (#2948) --- .changeset/tasty-toys-wave.md | 7 +++++++ packages/effect/src/Either.ts | 5 ++--- packages/effect/src/Option.ts | 2 +- packages/effect/src/Redacted.ts | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 .changeset/tasty-toys-wave.md diff --git a/.changeset/tasty-toys-wave.md b/.changeset/tasty-toys-wave.md new file mode 100644 index 0000000000..2b2ce7de5b --- /dev/null +++ b/.changeset/tasty-toys-wave.md @@ -0,0 +1,7 @@ +--- +"effect": patch +--- + +Remove unnecessary `===` comparison in `getEquivalence` functions + +In some `getEquivalence` functions that use `make`, there is an unnecessary `===` comparison. The `make` function already handles this comparison. diff --git a/packages/effect/src/Either.ts b/packages/effect/src/Either.ts index 21470727ee..fa789efeed 100644 --- a/packages/effect/src/Either.ts +++ b/packages/effect/src/Either.ts @@ -290,10 +290,9 @@ export const getEquivalence = ({ left, right }: { left: Equivalence.Equivalence }): Equivalence.Equivalence> => Equivalence.make((x, y) => - x === y || - (isLeft(x) ? + isLeft(x) ? isLeft(y) && left(x.left, y.left) : - isRight(y) && right(x.right, y.right)) + isRight(y) && right(x.right, y.right) ) /** diff --git a/packages/effect/src/Option.ts b/packages/effect/src/Option.ts index 6f9f16e6db..3d77e44731 100644 --- a/packages/effect/src/Option.ts +++ b/packages/effect/src/Option.ts @@ -1057,7 +1057,7 @@ export const filter: { * @since 2.0.0 */ export const getEquivalence = (isEquivalent: Equivalence.Equivalence): Equivalence.Equivalence> => - Equivalence.make((x, y) => x === y || (isNone(x) ? isNone(y) : isNone(y) ? false : isEquivalent(x.value, y.value))) + Equivalence.make((x, y) => isNone(x) ? isNone(y) : isNone(y) ? false : isEquivalent(x.value, y.value)) /** * The `Order` instance allows `Option` values to be compared with diff --git a/packages/effect/src/Redacted.ts b/packages/effect/src/Redacted.ts index 3c8a2b4261..4a8dd9c992 100644 --- a/packages/effect/src/Redacted.ts +++ b/packages/effect/src/Redacted.ts @@ -130,4 +130,4 @@ export const unsafeWipe: (self: Redacted) => boolean = redacted_.unsafeWip * @since 3.3.0 */ export const getEquivalence = (isEquivalent: Equivalence.Equivalence): Equivalence.Equivalence> => - Equivalence.make((x, y) => x === y || (isEquivalent(value(x), value(y)))) + Equivalence.make((x, y) => isEquivalent(value(x), value(y)))