Hyperlinkv0.8.0-beta.28

TxPubSub

TxPubSub.awaitShutdownconsteffect/TxPubSub.ts:655
<A>(self: TxPubSub<A>): Effect.Effect<void>

Waits for the TxPubSub to be shut down.

Example (Waiting for shutdown)

import { Effect, TxPubSub } from "effect"

const program = Effect.gen(function*() {
  const hub = yield* TxPubSub.unbounded<number>()

  const fiber = yield* Effect.forkChild(TxPubSub.awaitShutdown(hub))
  yield* TxPubSub.shutdown(hub)
  yield* fiber.await
})
mutations
export const awaitShutdown = <A>(self: TxPubSub<A>): Effect.Effect<void> =>
  Effect.gen(function*() {
    const shut = yield* TxRef.get(self.shutdownRef)
    if (shut) return
    return yield* Effect.txRetry
  }).pipe(Effect.tx)