(ref: Effect.Effect<A>, value: A)
| 11 | import { Array, Cause, Chunk, Deferred, Effect, Exit, Fiber, identity, pipe, Queue, Ref } from "effect" |
| 12 | |
| 13 | export const waitForValue = <A>(ref: Effect.Effect<A>, value: A): Effect.Effect<A> => { |
| 14 | return ref.pipe(Effect.zipLeft(Effect.yieldNow()), Effect.repeat({ until: (a) => value === a })) |
| 15 | } |
| 16 | |
| 17 | export const waitForSize = <A>(queue: Queue.Queue<A>, size: number): Effect.Effect<number> => { |
| 18 | return waitForValue(Queue.size(queue), size) |