import { IterableX } from '../../iterable/iterablex.js'; import { tap } from '../../iterable/operators/tap.js'; import { PartialObserver } from '../../observer.js'; /** * @ignore */ export function tapProto( this: IterableX, observer: PartialObserver ): IterableX; export function tapProto( this: IterableX, next?: ((value: TSource) => any) | null, error?: ((err: any) => any) | null, complete?: (() => any) | null ): IterableX; export function tapProto( this: IterableX, observerOrNext?: PartialObserver | ((value: TSource) => any) | null, error?: ((err: any) => any) | null, complete?: (() => any) | null ): IterableX { return tap(observerOrNext as any, error, complete)(this); } IterableX.prototype.tap = tapProto; declare module '../../iterable/iterablex' { interface IterableX { tap: typeof tapProto; } }