effect-io-ai

Package: effect
Module: Stream

Stream.tick

Creates a stream that emits void immediately once, then emits another void after each specified interval.

Example (Emitting ticks on an interval)

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

const program = Effect.gen(function*() {
  const ticks = yield* Stream.tick("200 millis").pipe(
    Stream.take(3),
    Stream.runCollect
  )
  yield* Console.log(ticks)
})

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

Signature

declare const tick: (interval: Duration.Input) => Stream<void>

Source

Since v2.0.0