import { EnumerableFactory } from '../utilities/EnumerableFactory'; import { IEnumerable } from '../types'; import { EqualityComparer } from '../types'; import { applyDistinct } from './applicators/applyDistinct'; export function distinct( src: Iterable, equalityComparer?: EqualityComparer ): IEnumerable { return applyDistinct(new EnumerableFactory(), src, x => x, equalityComparer); } export function distinctBy( src: Iterable, keySelector: (item: TSource) => TKey, equalityComparer?: EqualityComparer ): IEnumerable { return applyDistinct(new EnumerableFactory(), src, keySelector, equalityComparer); }