FuncType - v0.45.0
    Preparing search index...

    Type Alias ExitType

    ExitType: <E extends unknown, A extends unknown>(value: A) => ExitType<E, A> & {
        all: <E extends unknown, A extends unknown>(
            exits: readonly ExitType<E, A>[],
        ) => ExitType<E, readonly A[]>;
        fail: <E extends unknown, A extends unknown>(error: E) => ExitType<E, A>;
        fromEither: <E extends unknown, A extends unknown>(
            either: Either<E, A>,
        ) => ExitType<E, A>;
        fromOption: <A extends unknown>(
            option: Option<A>,
            onNone: () => unknown,
        ) => ExitType<unknown, A>;
        interrupt: <E extends unknown, A extends unknown>(
            fiberId: string,
        ) => ExitType<E, A>;
        interrupted: <E extends unknown, A extends unknown>() => ExitType<E, A>;
        isFailure: <E extends unknown, A extends unknown>(
            exit: ExitType<E, A>,
        ) => exit is ExitType<E, A> & { _tag: "Failure"; error: E };
        isInterrupted: <E extends unknown, A extends unknown>(
            exit: ExitType<E, A>,
        ) => exit is ExitType<E, A> & { _tag: "Interrupted"; fiberId: string };
        isSuccess: <E extends unknown, A extends unknown>(
            exit: ExitType<E, A>,
        ) => exit is ExitType<E, A> & { _tag: "Success"; value: A };
        succeed: <E extends unknown, A extends unknown>(value: A) => ExitType<E, A>;
        zip: <E extends unknown, A extends unknown, B extends unknown>(
            exitA: ExitType<E, A>,
            exitB: ExitType<E, B>,
        ) => ExitType<E, readonly [A, B]>;
    }

    Exit type for representing effect outcomes.

    Type Declaration

      • <E extends unknown, A extends unknown>(value: A): ExitType<E, A>
      • Exit constructor - creates an Exit from a value (defaults to Success)

        Type Parameters

        • E extends unknown
        • A extends unknown

        Parameters

        • value: A

        Returns ExitType<E, A>

    • all: <E extends unknown, A extends unknown>(
          exits: readonly ExitType<E, A>[],
      ) => ExitType<E, readonly A[]>

      Collects all Exits into an Exit of array

    • fail: <E extends unknown, A extends unknown>(error: E) => ExitType<E, A>

      Creates a Failure Exit

    • fromEither: <E extends unknown, A extends unknown>(either: Either<E, A>) => ExitType<E, A>

      Creates an Exit from an Either

    • fromOption: <A extends unknown>(
          option: Option<A>,
          onNone: () => unknown,
      ) => ExitType<unknown, A>

      Creates an Exit from an Option

    • interrupt: <E extends unknown, A extends unknown>(fiberId: string) => ExitType<E, A>

      Creates an Interrupted Exit with a fiber ID

    • interrupted: <E extends unknown, A extends unknown>() => ExitType<E, A>

      Creates an Interrupted Exit with a default fiber ID

    • isFailure: <E extends unknown, A extends unknown>(
          exit: ExitType<E, A>,
      ) => exit is ExitType<E, A> & { _tag: "Failure"; error: E }

      Type guard for Failure

    • isInterrupted: <E extends unknown, A extends unknown>(
          exit: ExitType<E, A>,
      ) => exit is ExitType<E, A> & { _tag: "Interrupted"; fiberId: string }

      Type guard for Interrupted

    • isSuccess: <E extends unknown, A extends unknown>(
          exit: ExitType<E, A>,
      ) => exit is ExitType<E, A> & { _tag: "Success"; value: A }

      Type guard for Success

    • succeed: <E extends unknown, A extends unknown>(value: A) => ExitType<E, A>

      Creates a Success Exit

    • zip: <E extends unknown, A extends unknown, B extends unknown>(
          exitA: ExitType<E, A>,
          exitB: ExitType<E, B>,
      ) => ExitType<E, readonly [A, B]>

      Combines two Exits, keeping the first failure or combining successes

    const success = Exit.succeed(42)
    const failure = Exit.fail(new Error("oops"))
    const interrupted = Exit.interrupt("fiber-123")

    success.fold(
    (err) => console.error(err),
    (value) => console.log(value),
    (fiberId) => console.log("interrupted:", fiberId)
    )