Skip to content
Effect Days 2026 Get your ticket

MergeState

15 exports Added in v2.0.0 Source

Constructors

BothRunning

Added in v2.0.0 Source

Signature

declare const BothRunning: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(left: Fiber<Either<Elem, Done>, Err>, right: Fiber<Either<Elem, Done1>, Err1>) => MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>

LeftDone

Added in v2.0.0 Source

Signature

declare const LeftDone: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(f: (exit: Exit<Done1, Err1>) => Effect<Done2, Err2, Env>) => MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>

RightDone

Added in v2.0.0 Source

Signature

declare const RightDone: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(f: (exit: Exit<Done, Err>) => Effect<Done2, Err2, Env>) => MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>

Folding

match

Added in v2.0.0 Source

Signature

declare const match: {
<Env, Err, Err1, Err2, Elem, Done, Done1, Done2, Z>(options: {
readonly onBothRunning: (left: Fiber.Fiber<Either.Either<Elem, Done>, Err>, right: Fiber.Fiber<Either.Either<Elem, Done1>, Err1>) => Z;
readonly onLeftDone: (f: (exit: Exit.Exit<Done1, Err1>) => Effect.Effect<Done2, Err2, Env>) => Z;
readonly onRightDone: (f: (exit: Exit.Exit<Done, Err>) => Effect.Effect<Done2, Err2, Env>) => Z;
}): (self: MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>) => Z;
<Env, Err, Err1, Err2, Elem, Done, Done1, Done2, Z>(self: MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>, options: {
readonly onBothRunning: (left: Fiber.Fiber<Either.Either<Elem, Done>, Err>, right: Fiber.Fiber<Either.Either<Elem, Done1>, Err1>) => Z;
readonly onLeftDone: (f: (exit: Exit.Exit<Done1, Err1>) => Effect.Effect<Done2, Err2, Env>) => Z;
readonly onRightDone: (f: (exit: Exit.Exit<Done, Err>) => Effect.Effect<Done2, Err2, Env>) => Z;
}): Z;
}

Models

BothRunning interface

Added in v2.0.0 Source

Signature

interface BothRunning<_Env, out Err, out Err1, _Err2, out Elem, out Done, out Done1, _Done2> extends Proto {
readonly _tag: "BothRunning";
readonly left: Fiber<Either<Elem, Done>, Err>;
readonly right: Fiber<Either<Elem, Done1>, Err1>;
}

LeftDone interface

Added in v2.0.0 Source

Signature

interface LeftDone<out Env, _Err, in Err1, out Err2, _Elem, _Done, in Done1, out Done2> extends Proto {
readonly _tag: "LeftDone";
f(exit: Exit<Done1, Err1>): Effect<Done2, Err2, Env>;
}

MergeState type

Added in v2.0.0 Source

Signature

type MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> = BothRunning<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> | LeftDone<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> | RightDone<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>

RightDone interface

Added in v2.0.0 Source

Signature

interface RightDone<out Env, in Err, _Err1, out Err2, _Elem, in Done, _Done1, out Done2> extends Proto {
readonly _tag: "RightDone";
f(exit: Exit<Done, Err>): Effect<Done2, Err2, Env>;
}

Other

MergeState

Added in v2.0.0 Source

Refinements

Returns true if the specified MergeState is a BothRunning, false otherwise.

Signature

declare const isBothRunning: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(self: MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>) => self is BothRunning<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>

isLeftDone

Added in v2.0.0 Source

Returns true if the specified MergeState is a LeftDone, false otherwise.

Signature

declare const isLeftDone: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(self: MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>) => self is LeftDone<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>

isMergeState

Added in v2.0.0 Source

Returns true if the specified value is a MergeState, false otherwise.

Signature

declare const isMergeState: (u: unknown) => u is MergeState<unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown>

isRightDone

Added in v2.0.0 Source

Returns true if the specified MergeState is a RightDone, false otherwise.

Signature

declare const isRightDone: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(self: MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>) => self is RightDone<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>

Symbols

Signature

declare const MergeStateTypeId: unique symbol

MergeStateTypeId type

Added in v2.0.0 Source

Signature

type MergeStateTypeId = typeof MergeStateTypeId