Package: effect
Module: Deferred
Attempts to complete the Deferred with a defect.
When to use
Use to complete a Deferred with an unexpected defect.
Details
Fibers waiting on the Deferred die with that defect only if this call
completes it. The returned effect succeeds with true when this call
completed the Deferred, or false if it was already completed.
Example (Killing a Deferred with a defect)
import { Deferred, Effect } from "effect"
const program = Effect.gen(function*() {
const deferred = yield* Deferred.make<number>()
const success = yield* Deferred.die(
deferred,
new Error("Something went wrong")
)
console.log(success) // true
})
Signature
declare const die: { (defect: unknown): <A, E>(self: Deferred<A, E>) => Effect<boolean>; <A, E>(self: Deferred<A, E>, defect: unknown): Effect<boolean>; }
Since v2.0.0