getEq<A, B> function

Eq<Either<A, B>> getEq<A, B>(
  1. Eq<A> leftEq,
  2. Eq<B> rightEq
)

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