import { AsyncReducer } from "https://deno.land/x/rimbu@1.1.0/stream/async/index.ts";
const { Base } = AsyncReducer;
A base class that can be used to easily create AsyncReducer
instances.
Constructors
new
Base(init: () => MaybePromise<S>,
next: () => MaybePromise<S>,
stateToResult: (state: S) => MaybePromise<O>,
onClose?: (state: S, error?: unknown) => MaybePromise<void>,
Methods
chain(...nextReducers: AsyncOptLazy<AsyncReducer<I, any>, [any]>[]): AsyncReducer<I, O>
collectInput<I2>(collectFun: AsyncCollectFun<I2, I>): AsyncReducer<I2, O>
compile(): AsyncReducer.Instance<I, O>
dropInput(amount: number): AsyncReducer<I, O>
filterInput(pred: () => MaybePromise<boolean>, options?: { negate?: boolean; }): AsyncReducer<I, O>
flatMapInput<I2>(flatMapFun: (value: I2, index: number) => MaybePromise<AsyncStreamSource<I>>): AsyncReducer<I2, O>
mapInput<I2>(mapFun: (value: I2, index: number) => MaybePromise<I>): AsyncReducer<I2, O>
mapOutput<O2>(mapFun: (value: O) => MaybePromise<O2>): AsyncReducer<I, O2>
pipe<O2>(...nextReducers: AsyncReducer<O, O2>[]): AsyncReducer<I, O2>
sliceInput(from?, amount?: number): AsyncReducer<I, O>
takeInput(amount: number): AsyncReducer<I, O>