Hyperlinkv0.8.0-beta.28

Result

Result.fromOptionconsteffect/Result.ts:459
<E>(onNone: () => E): <A>(self: Option<A>) => Result<A, E>
<A, E>(self: Option<A>, onNone: () => E): Result<A, E>

Converts an Option<A> into a Result<A, E>.

When to use

Use when an existing Option should become a Result, preserving Some as success and turning None into a caller-provided failure.

Details

  • Some<A> becomes Success<A>
  • None becomes Failure<E> using the provided function
  • Supports both data-first and data-last (piped) usage

Example (Converting an Option to a Result)

import { Option, Result } from "effect"

const some = Result.fromOption(Option.some(1), () => "missing")
console.log(some)
// Output: { _tag: "Success", success: 1, ... }

const none = Result.fromOption(Option.none(), () => "missing")
console.log(none)
// Output: { _tag: "Failure", failure: "missing", ... }
Source effect/Result.ts:4594 lines
export const fromOption: {
  <E>(onNone: () => E): <A>(self: Option<A>) => Result<A, E>
  <A, E>(self: Option<A>, onNone: () => E): Result<A, E>
} = result.fromOption
Referenced by 1 symbols