mirror of
https://github.com/IBM/fp-go.git
synced 2025-08-10 22:31:32 +02:00
12 lines
267 B
Go
12 lines
267 B
Go
package eq
|
|
|
|
// Contramap implements an Equals predicate based on a mapping
|
|
func Contramap[A, B any](f func(b B) A) func(Eq[A]) Eq[B] {
|
|
return func(fa Eq[A]) Eq[B] {
|
|
equals := fa.Equals
|
|
return FromEquals(func(x, y B) bool {
|
|
return equals(f(x), f(y))
|
|
})
|
|
}
|
|
}
|