effect-io-ai

Package: effect
Module: Result

Result.transposeOption

Transforms Option<Result<A, E>> into Result<Option<A>, E>.

When to use

Use when optional absence should be treated as a successful None, while an inner Result failure should still fail the whole result.

Details

Example (Transposing an Option of a Result)

import { Option, Result } from "effect"

const some = Option.some(Result.succeed(42))
console.log(Result.transposeOption(some))
// Output: { _tag: "Success", success: { _tag: "Some", value: 42 }, ... }

const none = Option.none<Result.Result<number, string>>()
console.log(Result.transposeOption(none))
// Output: { _tag: "Success", success: { _tag: "None" }, ... }

See

Signature

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

Source

Since v3.14.0