Skip to content

traverse

traverse<A, B>(f): (data) => Maybe<readonly B[]>

Defined in: Data/Arr.ts:531

Maps each element to a Maybe and collects the results. Returns None if any mapping returns None.

A

B

(a) => Maybe<B>

(data) => Maybe<readonly B[]>

const parseNum = (s: string): Maybe<number> => {
  const n = Number(s);
  return isNaN(n) ? Maybe.none() : Maybe.some(n);
};

pipe(["1", "2", "3"], Arr.traverse(parseNum)); // Some([1, 2, 3])
pipe(["1", "x", "3"], Arr.traverse(parseNum)); // None