effect-io-ai

Package: effect
Module: TxPriorityQueue

TxPriorityQueue.takeOption

Tries to take the smallest element. Returns None if the queue is empty.

Example (Taking 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.takeOption(pq)
  console.log(Option.isNone(result)) // true
})

Signature

declare const takeOption: <A>(self: TxPriorityQueue<A>) => Effect.Effect<Option<A>>

Source

Since v2.0.0