Package: effect
Module: Result
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
onSuccess if the result is a SuccessonFailure if the result is a FailureExample (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
merge to extract A | E without mappinggetOrElse to unwrap only the success with a fallbackSignature
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; }
Since v2.0.0