UNPKG

@reactivex/ix-esnext-esm

Version:

The Interactive Extensions for JavaScript

21 lines (20 loc) 1.74 kB
import { AsyncIterableX } from '../asynciterablex'; import { OperatorAsyncFunction } from '../../interfaces'; export declare class GroupedAsyncIterable<TKey, TValue> extends AsyncIterableX<TValue> { readonly key: TKey; private _source; constructor(key: TKey, source: Iterable<TValue>); [Symbol.asyncIterator](): AsyncGenerator<TValue, void, unknown>; } export declare class GroupByAsyncIterable<TSource, TKey, TValue, TResult> extends AsyncIterableX<TResult> { private _source; private _keySelector; private _elementSelector; private _resultSelector; constructor(source: AsyncIterable<TSource>, keySelector: (value: TSource) => TKey | Promise<TKey>, elementSelector: (value: TSource) => TValue | Promise<TValue>, resultSelector: (key: TKey, values: Iterable<TValue>) => TResult | Promise<TResult>); [Symbol.asyncIterator](): AsyncGenerator<TResult, void, unknown>; } export declare function groupByResultIdentityAsync<TKey, TValue>(key: TKey, values: Iterable<TValue>): any; export declare function groupBy<TSource, TKey>(keySelector: (value: TSource) => TKey | Promise<TKey>): OperatorAsyncFunction<TSource, GroupedAsyncIterable<TKey, TSource>>; export declare function groupBy<TSource, TKey, TValue>(keySelector: (value: TSource) => TKey | Promise<TKey>, elementSelector?: (value: TSource) => TValue | Promise<TValue>): OperatorAsyncFunction<TSource, GroupedAsyncIterable<TKey, TValue>>; export declare function groupBy<TSource, TKey, TValue, TResult>(keySelector: (value: TSource) => TKey | Promise<TKey>, elementSelector?: (value: TSource) => TValue | Promise<TValue>, resultSelector?: (key: TKey, values: Iterable<TValue>) => TResult | Promise<TResult>): OperatorAsyncFunction<TSource, TResult>;