(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> => hasProperty<"~effect/transactions/TxPriorityQueue">(self: unknown, property: "~effect/transactions/TxPriorityQueue"): self is { [K in "~effect/transactions/TxPriorityQueue"]: unknown; } (+1 overload)Checks whether a value has a given property key.
When to use
Use when you need a Predicate guard for property access on unknown
values with a simple structural object check.
Details
Uses the in operator and isObjectKeyword. This does not check property
value types.
Example (Guarding object properties)
import { Predicate } from "effect"
const hasName = Predicate.hasProperty("name")
const data: unknown = { name: "Ada" }
if (hasName(data)) {
console.log(data.name)
}
hasProperty(u: unknownu, const TypeId: "~effect/transactions/TxPriorityQueue"TypeId)