Contravariant
Other
contramapComposition
Added in v0.24.0
Source
Composing two contravariant functors yields a Covariant functor.
Returns a default binary map composition.
Signature
declare function contramapComposition<F extends TypeLambda, G extends TypeLambda>(F: Contravariant<F>, G: Contravariant<G>): <FR, FO, FE, GR, GO, GE, A, B>(self: Kind<F, FR, FO, FE, Kind<G, GR, GO, GE, A>>, f: (a: A) => B) => Kind<F, FR, FO, FE, Kind<G, GR, GO, GE, B>>Returns a default imap implementation.
Signature
declare function imap<F extends TypeLambda>(contramap: <R, O, E, A, B>(self: Kind<F, R, O, E, A>, f: (b: B) => A) => Kind<F, R, O, E, B>): { <A, B>(to: (a: A) => B, from: (b: B) => A): <R, O, E>(self: Kind<F, R, O, E, A>) => Kind<F, R, O, E, B>; <R, O, E, A, B>(self: Kind<F, R, O, E, A>, to: (a: A) => B, from: (b: B) => A): Kind<F, R, O, E, B>;}Type Class
Contravariant interface
Added in v0.24.0
Source
Signature
interface Contravariant<F extends TypeLambda> extends Invariant<F> { readonly contramap: { <B, A>(f: (b: B) => A): <R, O, E>(self: Kind<F, R, O, E, A>) => Kind<F, R, O, E, B>; <R, O, E, A, B>(self: Kind<F, R, O, E, A>, f: (b: B) => A): Kind<F, R, O, E, B>; };}