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