import { toReduceArguments, ReduceArguments } from "./reduceify"; export function arrCount( arr: readonly ArrOf[], matcher: (e: ArrOf) => boolean ): number { return arr .map(e => matcher(e) ? 1 : 0) .reduce((prev, curr) => prev + curr, 0) ; } export function count( matcher: (e: ArrOf) => boolean ): ReduceArguments { return toReduceArguments(arrCount, matcher); }