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