getEq<L, R> static method
Build an Eq<Either>
by comparing the values inside two Either.
Return true
when the two Either are equal or when both are Left or
Right and comparing using eqL
or eqR
returns true
.
Implementation
static Eq<Either<L, R>> getEq<L, R>(Eq<L> eqL, Eq<R> eqR) =>
Eq.instance((e1, e2) =>
e1 == e2 ||
(e1.match((l1) => e2.match((l2) => eqL.eqv(l1, l2), (_) => false),
(r1) => e2.match((_) => false, (r2) => eqR.eqv(r1, r2)))));