MCPcopy Create free account
hub / github.com/effect-app/libs / collect

Function collect

repos/effect/packages/effect/src/Queue.ts:1246–1264  ·  view source on GitHub ↗
(self: Dequeue<A, E | Done>)

Source from the content-addressed store, hash-verified

1244export const takeAll = <A, E>(self: Dequeue<A, E>): Effect<Arr.NonEmptyArray<A>, E> =>
1245 takeBetween(self, 1, Number.POSITIVE_INFINITY) as any
1246
1247/**
1248 * Takes all messages from the queue, until the queue has errored or is done.
1249 *
1250 * **Example** (Collecting values until completion)
1251 *
1252 * ```ts import.meta.vitest
1253 * import { Cause, Effect, Queue } from "effect"
1254 *
1255 * const program = Effect.gen(function*() {
1256 * const queue = yield* Queue.bounded<number, Cause.Done>(5)
1257 *
1258 * // Add several messages
1259 * yield* Queue.offerAll(queue, [1, 2, 3, 4, 5])
1260 * yield* Queue.end(queue)
1261 *
1262 * // Collect all available messages
1263 * return yield* Queue.collect(queue)
1264 * })
1265 *
1266 * await Effect.runPromise(program) // => [1, 2, 3, 4, 5]
1267 * ```

Callers

nothing calls this directly

Calls 2

constantFunction · 0.90
takeAllFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…