Hyperlinkv0.8.0-beta.28

Stream

Stream.fromEffectDrainconsteffect/Stream.ts:468
<A, E, R>(effect: Effect.Effect<A, E, R>): Stream<never, E, R>

Creates a stream that runs the effect and emits no elements.

Example (Draining an effect into a stream)

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

const program = Effect.gen(function*() {
  yield* Stream.fromEffectDrain(Console.log("Draining side effect")).pipe(
    Stream.runDrain
  )
})

Effect.runPromise(program)
// Output: Draining side effect
constructors
Source effect/Stream.ts:4682 lines
export const fromEffectDrain = <A, E, R>(effect: Effect.Effect<A, E, R>): Stream<never, E, R> =>
  fromPull(Effect.succeed(Effect.flatMap(effect, () => Cause.done())))
Referenced by 1 symbols