getEq<A, B> function
Returns an Eq
for Either<A, B>
, given an Eq<A>
and Eq<B>
.
final intEq = Eq.fromEquals((int x, int y) => x == y);
final strEq = Eq.fromEquals((String x, String y) => x == y);
final eitherEq = getEq(intEq, strEq);
expect(eitherEq.equals(Right(1), Right(1)), true);
expect(eitherEq.equals(Right(1), Right(2)), false);
expect(eitherEq.equals(Right(1), Left("Error")), false);
expect(eitherEq.equals(Left("Error"), Left("Error")), true);
Implementation
Eq<Either<A, B>> getEq<A, B>(Eq<A> leftEq, Eq<B> rightEq) {
return EitherEq<A, B>(leftEq, rightEq);
}