Hyperlinkv0.8.0-beta.28

Array

Array.liftOptionconsteffect/Array.ts:3989
<A extends Array<unknown>, B>(f: (...a: A) => Option.Option<B>): (
  ...a: A
) => Array<B>

Lifts an Option-returning function into one that returns an array: Some(a) becomes [a], None becomes [].

When to use

Use when an optional parser or lookup should participate in array pipelines as zero-or-one results.

Example (Lifting an Option function)

import { Array, Option } from "effect"

const parseNumber = Array.liftOption((s: string) => {
  const n = Number(s)
  return isNaN(n) ? Option.none() : Option.some(n)
})
console.log(parseNumber("123")) // [123]
console.log(parseNumber("abc")) // []
Source effect/Array.ts:39894 lines
export const liftOption = <A extends Array<unknown>, B>(
  f: (...a: A) => Option.Option<B>
) =>
(...a: A): Array<B> => fromOption(f(...a))