Package: effect
Module: Effect
Converts typed failures from the error channel into defects, removing the error type from the returned effect.
When to use
Use when you need to turn an Effect typed failure that represents an
unrecoverable bug or invalid state into a defect.
Example (Converting typed failures into defects)
import { Data, Effect } from "effect"
class DivideByZeroError extends Data.TaggedError("DivideByZeroError")<{}> {}
const divide = (a: number, b: number) =>
b === 0
? Effect.fail(new DivideByZeroError())
: Effect.succeed(a / b)
// ┌─── Effect<number, never, never>
// ▼
const program = Effect.orDie(divide(1, 0))
Effect.runPromise(program).catch(console.error)
// Output:
// (FiberFailure) DivideByZeroError
// ...stack trace...
Signature
declare const orDie: <A, E, R>(self: Effect<A, E, R>) => Effect<A, never, R>
Since v2.0.0