<A = unknown, E = unknown>(u: unknown): u is Enqueue<A, E>Type guard to check if a value is an Enqueue.
When to use
Use to narrow an unknown value before calling queue operations that require write-side access.
Gotchas
A full Queue also satisfies this guard because every queue includes the
enqueue side.
export const const isEnqueue: <
A = unknown,
E = unknown
>(
u: unknown
) => u is Enqueue<A, E>
Type guard to check if a value is an Enqueue.
When to use
Use to narrow an unknown value before calling queue operations that require
write-side access.
Gotchas
A full Queue also satisfies this guard because every queue includes the
enqueue side.
isEnqueue = <function (type parameter) A in <A = unknown, E = unknown>(u: unknown): u is Enqueue<A, E>A = unknown, function (type parameter) E in <A = unknown, E = unknown>(u: unknown): u is Enqueue<A, E>E = unknown>(
u: unknownu: unknown
): u: unknownu is interface Enqueue<in A, in E = never>An Enqueue is a queue that can be offered to.
Details
This interface represents the write-only part of a Queue, allowing you to offer
elements to the queue but not take elements from it.
Example (Offering through enqueue handles)
import { Effect, Queue } from "effect"
// Function that only needs write access to a queue
const producer = (enqueue: Queue.Enqueue<string>) =>
Effect.gen(function*() {
yield* Queue.offer(enqueue, "hello")
yield* Queue.offerAll(enqueue, ["world", "!"])
})
const program = Effect.gen(function*() {
const queue = yield* Queue.bounded<string>(10)
yield* producer(queue)
})
Companion namespace containing type-level metadata for the Enqueue
write-only queue interface.
Enqueue<function (type parameter) A in <A = unknown, E = unknown>(u: unknown): u is Enqueue<A, E>A, function (type parameter) E in <A = unknown, E = unknown>(u: unknown): u is Enqueue<A, E>E> => import hasPropertyhasProperty(u: unknownu, const EnqueueTypeId: "~effect/Queue/Enqueue"EnqueueTypeId)