effect-io-ai

Package: effect
Module: Result

Result.match

Folds a Result into a single value by applying one of two functions.

When to use

Use when a Result’s success and failure branches should be collapsed into one plain output type.

Details

Example (Folding to a string)

import { pipe, Result } from "effect"

const format = Result.match({
  onSuccess: (n: number) => `Got ${n}`,
  onFailure: (e: string) => `Err: ${e}`
})

console.log(format(Result.succeed(42)))
// Output: "Got 42"

console.log(format(Result.fail("timeout")))
// Output: "Err: timeout"

See

Signature

declare const match: { <E, B, A, C = B>(options: { readonly onFailure: (error: E) => B; readonly onSuccess: (ok: A) => C; }): (self: Result<A, E>) => B | C; <A, E, B, C = B>(self: Result<A, E>, options: { readonly onFailure: (error: E) => B; readonly onSuccess: (ok: A) => C; }): B | C; }

Source

Since v2.0.0