| 1244 | export 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 | * ``` |