UNPKG

1.06 kBTypeScriptView Raw
1import { AsyncIterableX } from '../../asynciterable/asynciterablex';
2import { GroupedAsyncIterable } from '../../asynciterable/groupby';
3export declare function groupByProto<TSource, TKey>(this: AsyncIterableX<TSource>, keySelector: (value: TSource) => TKey | Promise<TKey>): AsyncIterableX<GroupedAsyncIterable<TKey, TSource>>;
4export declare function groupByProto<TSource, TKey, TValue>(this: AsyncIterableX<TSource>, keySelector: (value: TSource) => TKey | Promise<TKey>, elementSelector?: (value: TSource) => TValue | Promise<TValue>): AsyncIterableX<GroupedAsyncIterable<TKey, TValue>>;
5export declare function groupByProto<TSource, TKey, TValue, TResult>(this: AsyncIterableX<TSource>, keySelector: (value: TSource) => TKey | Promise<TKey>, elementSelector?: (value: TSource) => TValue | Promise<TValue>, resultSelector?: (key: TKey, values: Iterable<TValue>) => TResult | Promise<TResult>): AsyncIterableX<TResult>;
6declare module '../../asynciterable/asynciterablex' {
7 interface AsyncIterableX<T> {
8 groupBy: typeof groupByProto;
9 }
10}