data-collectors
Version:
A collection of composable reduction operations for arbitrary streams of values
14 lines (13 loc) • 735 B
TypeScript
import { Collector, BaseCollector } from "../collector";
import { Mapper } from "../collections/groupingBy";
export declare class FilteringCollector<T, A, R> extends BaseCollector<T, A, R> {
protected predicate: Mapper<T, boolean>;
protected collector: Collector<T, A, R>;
constructor(predicate: Mapper<T, boolean>, collector: Collector<T, A, R>);
supply(): A;
accumulate(container: A, item: T): void;
combine(container1: A, container2: A): A;
finish(container: A): R;
}
export declare function filtering<T, U>(predicate: Mapper<T, boolean>): Collector<T, T[], T[]>;
export declare function filtering<T, A, R>(predicate: Mapper<T, boolean>, collector?: Collector<T, A, R>): Collector<T, A, R>;