Hyperlinkv0.8.0-beta.28

Stream

Stream.fromIterableEffectRepeatconsteffect/Stream.ts:1178
<A, E, R>(iterable: Effect.Effect<Iterable<A>, E, R>): Stream<
  A,
  Pull.ExcludeDone<E>,
  R
>

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 ]
constructors
Source effect/Stream.ts:11783 lines
export const fromIterableEffectRepeat = <A, E, R>(
  iterable: Effect.Effect<Iterable<A>, E, R>
): Stream<A, Pull.ExcludeDone<E>, R> => flatMap(fromEffectRepeat(iterable), fromIterable)