import { EnumerableFactory } from '../utilities/EnumerableFactory'; import { IEnumerable } from '../types'; import { IGrouping } from '../types'; import { EqualityComparer } from '../types'; import { applyGroupBy } from './applicators/applyGroupBy'; export function groupBy( src: Iterable, keySelector: (item: TSource) => TKey, equalityComparer?: EqualityComparer ): IEnumerable> { const factory = new EnumerableFactory(); return applyGroupBy(factory, src, keySelector, equalityComparer); }