Hyperlinkv0.8.0-beta.28

TxPriorityQueue

TxPriorityQueue.peekOptionconsteffect/TxPriorityQueue.ts:295
<A>(self: TxPriorityQueue<A>): Effect.Effect<Option<A>>

Observes the smallest element without removing it, returning None when the queue is empty.

When to use

Use to inspect the next prioritized value without retrying on an empty queue.

Example (Peeking without retrying)

import { Effect, Option, Order, TxPriorityQueue } from "effect"

const program = Effect.gen(function*() {
  const pq = yield* TxPriorityQueue.empty<number>(Order.Number)
  const result = yield* TxPriorityQueue.peekOption(pq)
  console.log(Option.isNone(result)) // true
})
getters
export const peekOption = <A>(self: TxPriorityQueue<A>): Effect.Effect<Option<A>> =>
  Effect.map(TxRef.get(self.ref), C.head)