Skip to content

chain

chain<A, B>(f): (data) => Maybe<B>

Defined in: Core/Maybe.ts:135

Chains Maybe computations. If the first is Some, passes the value to f. If the first is None, propagates None.

A

B

(a) => Maybe<B>

(data): Maybe<B>

Maybe<A>

Maybe<B>

const parseNumber = (s: string): Maybe<number> => {
  const n = parseInt(s, 10);
  return isNaN(n) ? Maybe.none() : Maybe.some(n);
};

pipe(Maybe.some("42"), Maybe.chain(parseNumber)); // Some(42)
pipe(Maybe.some("abc"), Maybe.chain(parseNumber)); // None