UNPKG

1.71 kBTypeScriptView Raw
1import { AsyncIterableX } from './asynciterablex';
2export declare class GroupedAsyncIterable<TKey, TValue> extends AsyncIterableX<TValue> {
3 readonly key: TKey;
4 private _source;
5 constructor(key: TKey, source: Iterable<TValue>);
6 [Symbol.asyncIterator](): AsyncIterableIterator<TValue>;
7}
8export declare class GroupByAsyncIterable<TSource, TKey, TValue, TResult> extends AsyncIterableX<TResult> {
9 private _source;
10 private _keySelector;
11 private _elementSelector;
12 private _resultSelector;
13 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>);
14 [Symbol.asyncIterator](): AsyncIterableIterator<TResult>;
15}
16export declare function groupByResultIdentityAsync<TKey, TValue>(key: TKey, values: Iterable<TValue>): any;
17export declare function groupBy<TSource, TKey>(source: AsyncIterable<TSource>, keySelector: (value: TSource) => TKey | Promise<TKey>): AsyncIterableX<GroupedAsyncIterable<TKey, TSource>>;
18export declare function groupBy<TSource, TKey, TValue>(source: AsyncIterable<TSource>, keySelector: (value: TSource) => TKey | Promise<TKey>, elementSelector?: (value: TSource) => TValue | Promise<TValue>): AsyncIterableX<GroupedAsyncIterable<TKey, TValue>>;
19export declare function groupBy<TSource, TKey, TValue, TResult>(source: AsyncIterable<TSource>, keySelector: (value: TSource) => TKey | Promise<TKey>, elementSelector?: (value: TSource) => TValue | Promise<TValue>, resultSelector?: (key: TKey, values: Iterable<TValue>) => TResult | Promise<TResult>): AsyncIterableX<TResult>;