effect-io-ai

Package: effect
Module: Array

Array.liftResult

Lifts a Result-returning function into one that returns an array: failures produce [], successes produce [value].

When to use

Use when a fallible parser or lookup should participate in array pipelines as zero-or-one results and the failure value should be discarded.

Example (Lifting a Result function)

import { Array, Result } from "effect"

const parseNumber = (s: string): Result.Result<number, Error> =>
  isNaN(Number(s))
    ? Result.fail(new Error("Not a number"))
    : Result.succeed(Number(s))

const liftedParseNumber = Array.liftResult(parseNumber)
console.log(liftedParseNumber("42")) // [42]
console.log(liftedParseNumber("not a number")) // []

See

Signature

declare const liftResult: <A extends Array<unknown>, E, B>(f: (...a: A) => Result.Result<B, E>) => (...a: A) => Array<B>

Source

Since v4.0.0