effect-io-ai

Package: effect
Module: Stream

Stream.fromEffectSchedule

Creates a stream from an effect producing a value of type A, which is repeated using the specified schedule.

Example (Repeating an effect with a schedule)

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

const program = Effect.gen(function*() {
  const stream = Stream.fromEffectSchedule(
    Effect.succeed("ping"),
    Schedule.recurs(2)
  )
  const result = yield* Stream.runCollect(stream)
  yield* Console.log(result)
})

Effect.runPromise(program)
// Output: [ "ping", "ping", "ping" ]

Signature

declare const fromEffectSchedule: <A, E, R, X, AS extends A, ES, RS>(effect: Effect.Effect<A, E, R>, schedule: Schedule.Schedule<X, AS, ES, RS>) => Stream<A, E | ES, R | RS>

Source

Since v4.0.0