effect-io-ai

Package: effect
Module: Channel

Channel.runCollect

Runs a channel and collects all output elements into an array.

Example (Collecting channel output)

import { Channel, Data } from "effect"

class CollectError extends Data.TaggedError("CollectError")<{
  readonly reason: string
}> {}

// Create a channel with elements
const numbersChannel = Channel.fromIterable([1, 2, 3, 4, 5])

// Collect all elements into an array
const collectEffect = Channel.runCollect(numbersChannel)

// Effect.runSync(collectEffect) // Returns: [1, 2, 3, 4, 5]

Signature

declare const runCollect: <OutElem, OutErr, OutDone, Env>(self: Channel<OutElem, OutErr, OutDone, unknown, unknown, unknown, Env>) => Effect.Effect<Array<OutElem>, OutErr, Env>

Source

Since v2.0.0