ix
Version:
The Interactive Extensions for JavaScript
24 lines (20 loc) • 675 B
text/typescript
import { IterableX } from '../../iterable/iterablex.js';
import { innerJoin } from '../../iterable/operators/innerjoin.js';
/**
* @ignore
*/
export function innerJoinProto<TOuter, TInner, TKey, TResult>(
this: IterableX<TOuter>,
inner: Iterable<TInner>,
outerSelector: (value: TOuter) => TKey,
innerSelector: (value: TInner) => TKey,
resultSelector: (outer: TOuter, inner: TInner) => TResult
): IterableX<TResult> {
return innerJoin(inner, outerSelector, innerSelector, resultSelector)(this);
}
IterableX.prototype.innerJoin = innerJoinProto;
declare module '../../iterable/iterablex' {
interface IterableX<T> {
innerJoin: typeof innerJoinProto;
}
}