UNPKG

@lou.codes/iterables

Version:
21 lines (20 loc) 564 B
import type { ReadOnlyIterable, Reducer } from "@lou.codes/types"; /** * Reducer function for iterables. * * @category Reducers * @example * ```typescript * const sum = reduce<number>(item => total => total + item); * const sumFrom0 = sum(0); * * sumFrom0([1, 2, 3]); // 6 * ``` * @param reducer Reducer function. * @returns Curried function with `reducer` in context. */ export declare const reduce: <Item, Accumulator>( reducer: Reducer<Item, Accumulator>, ) => ( initialValue: Accumulator, ) => (iterable: ReadOnlyIterable<Item>) => Accumulator;