Skip to main content
Module

x/evt/tools/reducers/count.ts

💧EventEmitter's typesafe replacement
Go to Latest
File
import { toReduceArguments, ReduceArguments } from "./reduceify.ts";
export function arrCount<ArrOf>( arr: readonly ArrOf[], matcher: (e: ArrOf) => boolean): number {
return arr .map(e => matcher(e) ? 1 : 0) .reduce<number>((prev, curr) => prev + curr, 0) ;
}

export function count<ArrOf>( matcher: (e: ArrOf) => boolean): ReduceArguments<ArrOf, number> { return toReduceArguments(arrCount, matcher);}