Skip to content

filterMap

filterMap<A, B>(f): <K>(m) => ReadonlyMap<K, B>

Defined in: Data/Dict.ts:342

Applies f to each value. Entries where f returns None are removed; entries where f returns Some are kept with the unwrapped value. Combines map and filter in one pass.

A

B

(a) => Maybe<B>

<K>(m) => ReadonlyMap<K, B>

const parse = (s: string): Maybe<number> => {
    const n = Number(s);
    return isNaN(n) ? Maybe.none() : Maybe.some(n);
};
Dict.filterMap(parse)(Dict.fromRecord({ a: "1", b: "two", c: "3" }));
// ReadonlyMap { "a" => 1, "c" => 3 }