UNPKG

ix

Version:

The Interactive Extensions for JavaScript

11 lines (10 loc) 1.06 kB
import { AsyncIterableX } from '../../asynciterable/asynciterablex'; import { GroupedAsyncIterable } from '../../asynciterable/groupby'; export declare function groupByProto<TSource, TKey>(this: AsyncIterableX<TSource>, keySelector: (value: TSource) => TKey | Promise<TKey>): AsyncIterableX<GroupedAsyncIterable<TKey, TSource>>; export 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>>; export 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>; declare module '../../asynciterable/asynciterablex' { interface AsyncIterableX<T> { groupBy: typeof groupByProto; } }