@reactivex/ix-esnext-esm
Version:
The Interactive Extensions for JavaScript
16 lines (15 loc) • 957 B
TypeScript
import { AsyncIterableX } from '../asynciterablex';
import { IRefCountList } from '../../iterable/operators/_refcountlist';
import { OperatorAsyncFunction } from '../../interfaces';
export declare class MemoizeAsyncBuffer<T> extends AsyncIterableX<T> {
protected _source: AsyncIterator<T>;
protected _buffer: IRefCountList<T>;
protected _shared: Promise<IteratorResult<T>> | null;
protected _error: any;
protected _stopped: boolean;
constructor(source: AsyncIterator<T>, buffer: IRefCountList<T>);
[Symbol.asyncIterator](): AsyncGenerator<T, void, unknown>;
protected _getIterable(offset?: number): AsyncGenerator<T, void, unknown>;
}
export declare function memoize<TSource>(readerCount?: number): OperatorAsyncFunction<TSource, TSource>;
export declare function memoize<TSource, TResult>(readerCount?: number, selector?: (value: AsyncIterableX<TSource>) => AsyncIterable<TResult>): OperatorAsyncFunction<TSource, TResult>;