effect-io-ai

Package: effect
Module: Stream

Stream.orElseSucceed

Returns a stream that emits a fallback value when this stream fails.

Example (Recovering with a fallback value)

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

const program = Effect.gen(function*() {
  const stream = Stream.fail("NetworkError").pipe(
    Stream.orElseSucceed((error) => `Recovered: ${error}`)
  )

  const values = yield* Stream.runCollect(stream)
  yield* Console.log(values)
})

Effect.runPromise(program)
// Output: [ "Recovered: NetworkError" ]

Signature

declare const orElseSucceed: { <E, A2>(f: (error: E) => A2): <A, R>(self: Stream<A, E, R>) => Stream<A | A2, never, R>; <A, E, R, A2>(self: Stream<A, E, R>, f: (error: E) => A2): Stream<A | A2, never, R>; }

Source

Since v2.0.0