Hyperlinkv0.8.0-beta.28

TxQueue

TxQueue.isOpenconsteffect/TxQueue.ts:1374
(self: TxQueueState): Effect.Effect<boolean>

Checks whether the queue is in the open state.

Example (Checking open state)

import { Effect, TxQueue } from "effect"

const program = Effect.gen(function*() {
  const queue = yield* TxQueue.bounded<number>(10)

  const open = yield* TxQueue.isOpen(queue)
  console.log(open) // true

  yield* TxQueue.interrupt(queue)
  const stillOpen = yield* TxQueue.isOpen(queue)
  console.log(stillOpen) // false
})
combinators
export const isOpen = (self: TxQueueState): Effect.Effect<boolean> =>
  Effect.map(TxRef.get(self.stateRef), (state) => state._tag === "Open")