//#region src/iterator/uniqBy.d.ts /** * Lazily yields the elements of `source` whose mapped key has not been seen * before, preserving the order of first occurrence. Keys are compared with * SameValueZero semantics (matching `Set`). * * Deduplication is streaming: each element is emitted as soon as it is found to * be unique, so this works with infinite iterators when bounded by a * short-circuiting helper. * * @template T - The type of elements produced by the iterator. * @template K - The type of the key used for comparison. * @param source - The iterator to deduplicate. * @param getKey - Maps an element to the key used to detect duplicates. * @returns A lazy iterator over the elements with duplicate keys removed. * * @example * uniqBy([1.1, 1.2, 2.3, 2.4].values(), Math.floor).toArray(); // => [1.1, 2.3] */ declare function uniqBy(source: Iterator, getKey: (value: T) => K): IteratorObject; //#endregion export { uniqBy };