@lou.codes/iterables
Version:
🔁 Iterable and AsyncIterable utils
21 lines (20 loc) • 564 B
TypeScript
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;