Covariant
Mapping
Signature
declare function as<F extends TypeLambda>(
F: Covariant<F>,
): {
<B>(b: B): <R, O, E, _>(self: Kind<F, R, O, E, _>) => Kind<F, R, O, E, B>;
<R, O, E, _, B>(self: Kind<F, R, O, E, _>, b: B): Kind<F, R, O, E, B>;
};Signature
declare function asVoid<F extends TypeLambda>(
F: Covariant<F>,
): <R, O, E, _>(self: Kind<F, R, O, E, _>) => Kind<F, R, O, E, void>;Signature
declare function flap<F extends TypeLambda>(
F: Covariant<F>,
): {
<R, O, E, A, B>(self: Kind<F, R, O, E, (a: A) => B>): (a: A) => Kind<F, R, O, E, B>;
<A, R, O, E, B>(a: A, self: Kind<F, R, O, E, (a: A) => B>): Kind<F, R, O, E, B>;
};Other
Signature
declare function imap<F extends TypeLambda>(
map: <R, O, E, A, B>(self: Kind<F, R, O, E, A>, f: (a: A) => B) => 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>;
};Signature
declare function let<F extends TypeLambda>(
F: Covariant<F>,
): {
<N extends string, A extends object, B>(
name: Exclude<N, keyof A>,
f: (a: A) => B,
): <R, O, E>(
self: Kind<F, R, O, E, A>,
) => Kind<F, R, O, E, { [K in string | number | symbol]: K extends keyof A ? A[K] : B }>;
<R, O, E, A extends object, N extends string, B>(
self: Kind<F, R, O, E, A>,
name: Exclude<N, keyof A>,
f: (a: A) => B,
): Kind<F, R, O, E, { [K in string | number | symbol]: K extends keyof A ? A[K] : B }>;
};mapComposition
Added in v0.24.0
Source
Returns a default map composition.
Signature
declare function mapComposition<F extends TypeLambda, G extends TypeLambda>(
F: Covariant<F>,
G: Covariant<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>>;Type Class
Signature
interface Covariant<F extends TypeLambda> extends Invariant<F> {
readonly map: {
<A, B>(f: (a: A) => B): <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: (a: A) => B): Kind<F, R, O, E, B>;
};
}
Returns a default
imapimplementation.