effect-io-ai

Package: effect
Module: Stream

Stream.fromIterableEffectRepeat

Creates a stream by repeatedly running an effect that yields an iterable of values.

Example (Repeating an iterable effect)

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

const program = Effect.gen(function*() {
  const stream = Stream.fromIterableEffectRepeat(Effect.succeed([1, 2])).pipe(
    Stream.take(5)
  )
  const values = yield* Stream.runCollect(stream)
  yield* Console.log(values)
})

Effect.runPromise(program)
// Output: [ 1, 2, 1, 2, 1 ]

Signature

declare const fromIterableEffectRepeat: <A, E, R>(iterable: Effect.Effect<Iterable<A>, E, R>) => Stream<A, Pull.ExcludeDone<E>, R>

Source

Since v4.0.0