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