Package: effect
Module: Stream
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 ]
Signature
declare const fromAsyncIterable: <A, E>(iterable: AsyncIterable<A>, onError: (error: unknown) => E) => Stream<A, E>
Since v2.0.0