FlatMap
Other
Signature
declare function composeK<F extends TypeLambda>(
F: FlatMap<F>,
): {
<B, R2, O2, E2, C>(
bfc: (b: B) => Kind<F, R2, O2, E2, C>,
): <A, R1, O1, E1>(
afb: (a: A) => Kind<F, R1, O1, E1, B>,
) => (a: A) => Kind<F, R1 & R2, O2 | O1, E2 | E1, C>;
<A, R1, O1, E1, B, R2, O2, E2, C>(
afb: (a: A) => Kind<F, R1, O1, E1, B>,
bfc: (b: B) => Kind<F, R2, O2, E2, C>,
): (a: A) => Kind<F, R1 & R2, O1 | O2, E1 | E2, C>;
};Signature
declare function flatten<F extends TypeLambda>(
F: FlatMap<F>,
): <R2, O2, E2, R1, O1, E1, A>(
self: Kind<F, R2, O2, E2, Kind<F, R1, O1, E1, A>>,
) => Kind<F, R1 & R2, O2 | O1, E2 | E1, A>;Signature
declare function zipRight<F extends TypeLambda>(
F: FlatMap<F>,
): {
<R2, O2, E2, B>(
that: Kind<F, R2, O2, E2, B>,
): <R1, O1, E1, _>(self: Kind<F, R1, O1, E1, _>) => Kind<F, R1 & R2, O2 | O1, E2 | E1, B>;
<R1, O1, E1, _, R2, O2, E2, B>(
self: Kind<F, R1, O1, E1, _>,
that: Kind<F, R2, O2, E2, B>,
): Kind<F, R1 & R2, O1 | O2, E1 | E2, B>;
};Type Class
Signature
interface FlatMap<F extends TypeLambda> extends TypeClass<F> {
readonly flatMap: {
<A, R2, O2, E2, B>(
f: (a: A) => Kind<F, R2, O2, E2, B>,
): <R1, O1, E1>(self: Kind<F, R1, O1, E1, A>) => Kind<F, R1 & R2, O2 | O1, E2 | E1, B>;
<R1, O1, E1, A, R2, O2, E2, B>(
self: Kind<F, R1, O1, E1, A>,
f: (a: A) => Kind<F, R2, O2, E2, B>,
): Kind<F, R1 & R2, O1 | O2, E1 | E2, B>;
};
}
A variant of
flatMapthat ignores the value produced by this effect.