Hyperlinkv0.8.0-beta.28

Stream

Stream.fromAsyncIterableconsteffect/Stream.ts:1458
<A, E>(
  iterable: AsyncIterable<A>,
  onError: (error: unknown) => E
): Stream<A, E>

Creates a stream from an AsyncIterable.

Example (Creating a stream from an AsyncIterable)

import { Data, Effect, Stream } from "effect"

class StreamError extends Data.TaggedError("StreamError")<{ readonly cause: unknown }> {}

const iterable = (async function*() {
  yield 1
  yield 2
  yield 3
})()

Effect.runPromise(Effect.gen(function*() {
  const stream = Stream.fromAsyncIterable(iterable, (cause) => new StreamError({ cause }))
  const values = yield* Stream.runCollect(stream)
  yield* Effect.sync(() => console.log(values))
}))

// [ 1, 2, 3 ]
constructors
Source effect/Stream.ts:14584 lines
export const fromAsyncIterable = <A, E>(
  iterable: AsyncIterable<A>,
  onError: (error: unknown) => E
): Stream<A, E> => fromChannel(Channel.fromAsyncIterableArray(iterable, onError))