<A = unknown, E = unknown>(u: unknown): u is TxQueue<A, E>Checks whether the given value is a TxQueue.
Example (Checking queue handles)
import { TxQueue } from "effect"
declare const someValue: unknown
if (TxQueue.isTxQueue(someValue)) {
// someValue is now typed as TxQueue<unknown, unknown>
console.log("This is a TxQueue")
}guards
Source effect/TxQueue.ts:3091 lines
export const const isTxQueue: <
A = unknown,
E = unknown
>(
u: unknown
) => u is TxQueue<A, E>
Checks whether the given value is a TxQueue.
Example (Checking queue handles)
import { TxQueue } from "effect"
declare const someValue: unknown
if (TxQueue.isTxQueue(someValue)) {
// someValue is now typed as TxQueue<unknown, unknown>
console.log("This is a TxQueue")
}
isTxQueue = <function (type parameter) A in <A = unknown, E = unknown>(u: unknown): u is TxQueue<A, E>A = unknown, function (type parameter) E in <A = unknown, E = unknown>(u: unknown): u is TxQueue<A, E>E = unknown>(u: unknownu: unknown): u: unknownu is interface TxQueue<in out A, in out E = never>Namespace containing type definitions for TxQueue variance annotations.
A TxQueue represents a transactional queue data structure that provides both
enqueue and dequeue operations with Software Transactional Memory (STM) semantics.
Example (Combining enqueue and dequeue operations)
import { Effect, TxQueue } from "effect"
const program = Effect.gen(function*() {
// Create a bounded transactional queue (E defaults to never)
const queue = yield* TxQueue.bounded<number>(10)
// Single operations - automatically transactional
const accepted = yield* TxQueue.offer(queue, 42)
const item = yield* TxQueue.take(queue) // Effect<number, never>
console.log(item) // 42
// Queue with error channel
const faultTolerantQueue = yield* TxQueue.bounded<number, string>(10)
// Operations can handle queue-level failures
yield* TxQueue.fail(faultTolerantQueue, "queue failed")
const result = yield* Effect.flip(TxQueue.take(faultTolerantQueue))
console.log(result) // "queue failed"
})
TxQueue<function (type parameter) A in <A = unknown, E = unknown>(u: unknown): u is TxQueue<A, E>A, function (type parameter) E in <A = unknown, E = unknown>(u: unknown): u is TxQueue<A, E>E> => import hasPropertyhasProperty(u: unknownu, const TypeId: "~effect/transactions/TxQueue"TypeId)