Hi there! Are you looking for the official Deno documentation? Try docs.deno.com for all your Deno learning needs.

Filterable

import type { Filterable } from "https://raw.githubusercontent.com/baetheus/fun/main/filterable.ts";

A Filterable structure allows one to filter over the values contained in the structure. This includes standard filter, filterMap, partition, and partitionMap.

interface Filterable <U extends Kind> extends Hold<U> {
readonly filter: {
<A, I extends A>(refinement: Refinement<A, I>): <B = never, C = never, D = unknown, E = unknown>(ta: $<U, [A, B, C], [D], [E]>) => $<U, [I, B, C], [D], [E]>;
<A>(predicate: Predicate<A>): <B = never, C = never, D = unknown, E = unknown>(ta: $<U, [A, B, C], [D], [E]>) => $<U, [A, B, C], [D], [E]>;
}
;
readonly filterMap: <A, I>(fai: (a: A) => Option<I>) => <B = never, C = never, D = unknown, E = unknown>(ua: $<U, [A, B, C], [D], [E]>) => $<U, [I, B, C], [D], [E]>;
readonly partition: {
<A, I extends A>(refinement: Refinement<A, I>): <B = never, C = never, D = unknown, E = unknown>(ta: $<U, [A, B, C], [D], [E]>) => Pair<$<U, [I, B, C], [D], [E]>, $<U, [A, B, C], [D], [E]>>;
<A>(predicate: Predicate<A>): <B = never, C = never, D = unknown, E = unknown>(ta: $<U, [A, B, C], [D], [E]>) => Pair<$<U, [A, B, C], [D], [E]>, $<U, [A, B, C], [D], [E]>>;
}
;
readonly partitionMap: <A, I, J>(fai: (a: A) => Either<J, I>) => <B = never, C = never, D = unknown, E = unknown>(ua: $<U, [A, B, C], [D], [E]>) => Pair<$<U, [I, B, C], [D], [E]>, $<U, [J, B, C], [D], [E]>>;
}

§Type Parameters

§
U extends Kind
[src]

§Extends

§Properties

§
readonly filter: {
<A, I extends A>(refinement: Refinement<A, I>): <B = never, C = never, D = unknown, E = unknown>(ta: $<U, [A, B, C], [D], [E]>) => $<U, [I, B, C], [D], [E]>;
<A>(predicate: Predicate<A>): <B = never, C = never, D = unknown, E = unknown>(ta: $<U, [A, B, C], [D], [E]>) => $<U, [A, B, C], [D], [E]>;
}
[src]
§
readonly filterMap: <A, I>(fai: (a: A) => Option<I>) => <B = never, C = never, D = unknown, E = unknown>(ua: $<U, [A, B, C], [D], [E]>) => $<U, [I, B, C], [D], [E]>
[src]
§
readonly partition: {
<A, I extends A>(refinement: Refinement<A, I>): <B = never, C = never, D = unknown, E = unknown>(ta: $<U, [A, B, C], [D], [E]>) => Pair<$<U, [I, B, C], [D], [E]>, $<U, [A, B, C], [D], [E]>>;
<A>(predicate: Predicate<A>): <B = never, C = never, D = unknown, E = unknown>(ta: $<U, [A, B, C], [D], [E]>) => Pair<$<U, [A, B, C], [D], [E]>, $<U, [A, B, C], [D], [E]>>;
}
[src]
§
readonly partitionMap: <A, I, J>(fai: (a: A) => Either<J, I>) => <B = never, C = never, D = unknown, E = unknown>(ua: $<U, [A, B, C], [D], [E]>) => Pair<$<U, [I, B, C], [D], [E]>, $<U, [J, B, C], [D], [E]>>
[src]