import {ReplaySubject} from '../ReplaySubject'; import {Scheduler} from '../Scheduler'; import {multicast} from './multicast'; import {ConnectableObservable} from '../observable/ConnectableObservable'; /** * @param bufferSize * @param windowTime * @param scheduler * @return {ConnectableObservable} * @method publishReplay * @owner Observable */ export function publishReplay(bufferSize: number = Number.POSITIVE_INFINITY, windowTime: number = Number.POSITIVE_INFINITY, scheduler?: Scheduler): ConnectableObservable { return multicast.call(this, new ReplaySubject(bufferSize, windowTime, scheduler)); } export interface PublishReplaySignature { (bufferSize?: number, windowTime?: number, scheduler?: Scheduler): ConnectableObservable; }