Skip to content

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;