(u: unknown): u is TxPriorityQueue<unknown>Determines if the provided value is a TxPriorityQueue.
Example (Checking for a TxPriorityQueue)
import { Effect, Order, TxPriorityQueue } from "effect"
const program = Effect.gen(function*() {
const pq = yield* TxPriorityQueue.empty<number>(Order.Number)
console.log(TxPriorityQueue.isTxPriorityQueue(pq)) // true
console.log(TxPriorityQueue.isTxPriorityQueue("nope")) // false
})guards
Source effect/TxPriorityQueue.ts:5671 lines
export const const isTxPriorityQueue: (
u: unknown
) => u is TxPriorityQueue<unknown>
Determines if the provided value is a TxPriorityQueue.
Example (Checking for a TxPriorityQueue)
import { Effect, Order, TxPriorityQueue } from "effect"
const program = Effect.gen(function*() {
const pq = yield* TxPriorityQueue.empty<number>(Order.Number)
console.log(TxPriorityQueue.isTxPriorityQueue(pq)) // true
console.log(TxPriorityQueue.isTxPriorityQueue("nope")) // false
})
isTxPriorityQueue = (u: unknownu: unknown): u: unknownu is interface TxPriorityQueue<in out A>A transactional priority queue backed by a sorted Chunk.
Details
Elements are stored in ascending order according to the Order provided at
construction time. take returns the smallest element, peek observes it
without removing.
Example (Dequeuing values by priority)
import { Effect, Order, TxPriorityQueue } from "effect"
const program = Effect.gen(function*() {
const pq = yield* TxPriorityQueue.empty<number>(Order.Number)
yield* TxPriorityQueue.offer(pq, 3)
yield* TxPriorityQueue.offer(pq, 1)
yield* TxPriorityQueue.offer(pq, 2)
const first = yield* TxPriorityQueue.take(pq)
console.log(first) // 1
})
TxPriorityQueue<unknown> => import hasPropertyhasProperty(u: unknownu, const TypeId: "~effect/transactions/TxPriorityQueue"TypeId)