contramap<A> method
Return an Eq instance based on a parameter of type T
extracted from a class A
.
class Parent {
final int value1;
final double value2;
const Parent(this.value1, this.value2);
}
/// Equality for values of type [Parent] based on their `value1` ([int]).
final eqParentInt = Eq.eqInt.contramap<Parent>(
(p) => p.value1,
);
/// Equality for of type [Parent] based on their `value2` ([double]).
final eqParentDouble = Eq.eqDouble.contramap<Parent>(
(p) => p.value2,
);
Implementation
@override
PartialOrder<A> contramap<A>(T Function(A) map) => PartialOrder.from<A>(
(a1, a2) => partialCompare(map(a1), map(a2)),
);