Skip to content

traverse

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

Defined in: Utils/Arr.ts:367

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

A

B

(a) => Maybe<B>

(data): Maybe<readonly B[]>

readonly A[]

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