<A, E>(self: Exit<A, E>): Option<Cause.Cause<E>>Returns the Cause of a failed Exit as an Option.
When to use
Use when you need the failure Cause from an Exit as an Option instead
of pattern matching.
Details
Returns Option.some(cause) for a Failure and Option.none() for a Success.
Example (Getting the failure cause)
import { Exit } from "effect"
console.log(Exit.getCause(Exit.fail("err"))) // { _tag: "Some", value: ... }
console.log(Exit.getCause(Exit.succeed(42))) // { _tag: "None" }export const const getCause: <A, E>(
self: Exit<A, E>
) => Option<Cause.Cause<E>>
Returns the Cause of a failed Exit as an Option.
When to use
Use when you need the failure Cause from an Exit as an Option instead
of pattern matching.
Details
Returns Option.some(cause) for a Failure and Option.none() for a Success.
Example (Getting the failure cause)
import { Exit } from "effect"
console.log(Exit.getCause(Exit.fail("err"))) // { _tag: "Some", value: ... }
console.log(Exit.getCause(Exit.succeed(42))) // { _tag: "None" }
getCause: <function (type parameter) A in <A, E>(self: Exit<A, E>): Option<Cause.Cause<E>>A, function (type parameter) E in <A, E>(self: Exit<A, E>): Option<Cause.Cause<E>>E>(self: Exit<A, E>self: type Exit<A, E = never> = Success<A, E> | Failure<A, E>Represents the result of an Effect computation.
When to use
Use when you need to synchronously inspect whether an Effect computation
succeeded or failed.
Details
An Exit<A, E> is either Success<A, E> containing a value of type A, or
Failure<A, E> containing a Cause<E> describing why the computation
failed.
Since Exit is also an Effect, you can yield it inside Effect.gen.
Example (Pattern matching on an Exit)
import { Exit } from "effect"
const success: Exit.Exit<number> = Exit.succeed(42)
const failure: Exit.Exit<number, string> = Exit.fail("error")
const result = Exit.match(success, {
onSuccess: (value) => `Got value: ${value}`,
onFailure: (cause) => `Got error: ${cause}`
})
Namespace containing helper types shared by Exit values.
When to use
Use to reference helper types that describe the shared structure of Exit
values.
Exit<function (type parameter) A in <A, E>(self: Exit<A, E>): Option<Cause.Cause<E>>A, function (type parameter) E in <A, E>(self: Exit<A, E>): Option<Cause.Cause<E>>E>) => type Option<A> = None<A> | Some<A>The Option data type represents optional values. An Option<A> is either
Some<A>, containing a value of type A, or None, representing absence.
When to use
Use to represent initial values that may not yet exist
- Returning from partial functions (not defined for all inputs)
- Managing optional fields in data structures
Namespace containing utility types for Option.
When to use
Use to access type-level helpers associated with Option.
Option<import CauseCause.type Cause.Cause = /*unresolved*/ anyCause<function (type parameter) E in <A, E>(self: Exit<A, E>): Option<Cause.Cause<E>>E>> = import effecteffect.const exitGetCause: <A, E>(
self: Exit.Exit<A, E>
) => Option.Option<Cause.Cause<E>>
exitGetCause