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