effect-io-ai

Package: effect
Module: Effect

Effect.transposeOption

Converts an Option of an Effect into an Effect of an Option.

When to use

Use when an effect should run only when an optional value is present, while preserving absence as a successful None.

Details

Example (Transposing an Option of an Effect)

import { Effect, Option } from "effect"

const some = Option.some(Effect.succeed(42))

//      ┌─── Effect<Option<number>, never, never>
//      ▼
const program = Effect.transposeOption(some)

Effect.runPromise(program).then(console.log)
// Output: { _id: 'Option', _tag: 'Some', value: 42 }

Signature

declare const transposeOption: <A = never, E = never, R = never>(self: Option<Effect<A, E, R>>) => Effect<Option<A>, E, R>

Source

Since v3.13.0