Hyperlinkv0.8.0-beta.28

Effect

Effect.flattenconsteffect/Effect.ts:1988
<A, E, R, E2, R2>(self: Effect<Effect<A, E, R>, E2, R2>): Effect<
  A,
  E | E2,
  R | R2
>

Flattens an Effect that produces another Effect into a single effect.

Example (Flattening nested effects)

import { Console, Effect } from "effect"

const nested = Effect.succeed(Effect.succeed("hello"))

const program = Effect.gen(function*() {
  const value = yield* Effect.flatten(nested)
  yield* Console.log(value)
  // Output: hello
})
sequencing
Source effect/Effect.ts:19882 lines
export const flatten: <A, E, R, E2, R2>(self: Effect<Effect<A, E, R>, E2, R2>) => Effect<A, E | E2, R | R2> =
  internal.flatten
Referenced by 1 symbols