import { EnumerableFactory } from '../utilities/EnumerableFactory'; import { IEnumerable } from '../types'; import { applyZip } from './applicators/applyZip'; export function zip( src: Iterable, second: Iterable ): IEnumerable<[TSource, TSecond]>; export function zip( src: Iterable, second: Iterable, resultSelector: (first: TSource, second: TSecond) => TResult ): IEnumerable; export function zip( src: Iterable, second: Iterable, resultSelector?: (first: TSource, second: TSecond) => TResult ): IEnumerable<[TSource, TSecond] | TResult> { return applyZip(new EnumerableFactory(), src, second, resultSelector); }