Hyperlinkv0.8.0-beta.28

Sink

Sink.forEachconsteffect/Sink.ts:1779
<In, X, E, R>(f: (input: In) => Effect.Effect<X, E, R>): Sink<
  void,
  In,
  never,
  E,
  R
>

A sink that executes the provided effectful function for every item fed to it.

Example (Running effects for each item)

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

// Create a sink that logs each item
const sink = Sink.forEach((item: number) => Console.log(`Processing: ${item}`))

// Use it with a stream
const stream = Stream.make(1, 2, 3)
const program = Stream.run(stream, sink)

Effect.runPromise(program)
// Output:
// Processing: 1
// Processing: 2
// Processing: 3
constructors
Source effect/Sink.ts:17793 lines
export const forEach = <In, X, E, R>(
  f: (input: In) => Effect.Effect<X, E, R>
): Sink<void, In, never, E, R> => forEachArray(Effect.forEach((_) => f(_), { discard: true }))
Referenced by 1 symbols