effect-io-ai

Package: effect
Module: TxQueue

TxQueue.State

Represents the state of a transactional queue with sophisticated lifecycle management.

Details

The queue progresses through three states:

Example (Inspecting queue lifecycle states)

import type { TxQueue } from "effect"

// State progression example
declare const state: TxQueue.State<string, Error>

if (state._tag === "Open") {
  console.log("Queue is accepting new items")
} else if (state._tag === "Closing") {
  console.log("Queue is draining, cause:", state.cause)
} else {
  console.log("Queue is done, cause:", state.cause)
}

Signature

type State<_A, E> = | {
    readonly _tag: "Open"
  }
  | {
    readonly _tag: "Closing"
    readonly cause: Cause.Cause<E>
  }
  | {
    readonly _tag: "Done"
    readonly cause: Cause.Cause<E>
  }

Source

Since v4.0.0