Skip to content

traverse

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

Defined in: Core/Arr.ts:353

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

A

B

(a) => Option<B>

(data): Option<readonly B[]>

readonly A[]

Option<readonly B[]>

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

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