import { AsyncIterableX } from '../../asynciterable/asynciterablex.js'; import { GroupJoinAsyncIterable } from '../../asynciterable/operators/groupjoin.js'; /** * @ignore */ export function groupJoinProto( this: AsyncIterableX, inner: AsyncIterable, outerSelector: (value: TOuter) => TKey | Promise, innerSelector: (value: TInner) => TKey | Promise, resultSelector: (outer: TOuter, inner: AsyncIterable) => TResult | Promise ): AsyncIterableX { return new GroupJoinAsyncIterable( this, inner, outerSelector, innerSelector, resultSelector ); } AsyncIterableX.prototype.groupJoin = groupJoinProto; declare module '../../asynciterable/asynciterablex' { interface AsyncIterableX { groupJoin: typeof groupJoinProto; } }