UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

11 lines (10 loc) 650 B
type ReduceWhileTag = 'cont' | 'halt'; type ReduceWhileTuple<TAccumulator> = [ReduceWhileTag, TAccumulator]; type ReduceWhileObject<TAccumulator> = { tag: ReduceWhileTag; value: TAccumulator; }; type ReduceWhileStep<TAccumulator> = ReduceWhileTuple<TAccumulator> | ReduceWhileObject<TAccumulator>; type ReduceWhileReducer<TAccumulator, TValue> = (accumulator: TAccumulator, value: TValue, index: number, array: TValue[]) => ReduceWhileStep<TAccumulator>; export declare function reduce_while<TAccumulator, TValue>(values: TValue[] | unknown, initial: TAccumulator, reducer: ReduceWhileReducer<TAccumulator, TValue>): TAccumulator; export {};