rxjs
Version:
Reactive Extensions for modern JavaScript
21 lines • 624 B
JavaScript
import { multicast } from './multicast';
import { refCount } from './refCount';
import { ReplaySubject } from '../ReplaySubject';
/**
* @method shareReplay
* @owner Observable
*/
export function shareReplay(bufferSize, windowTime, scheduler) {
let subject;
const connectable = multicast(function shareReplaySubjectFactory() {
if (this._isComplete) {
return subject;
}
else {
return (subject = new ReplaySubject(bufferSize, windowTime, scheduler));
}
});
return (source) => refCount()(connectable(source));
}
;
//# sourceMappingURL=shareReplay.js.map