publishReplay.js 725B

1234567891011121314
  1. /** PURE_IMPORTS_START .._ReplaySubject,._multicast PURE_IMPORTS_END */
  2. import { ReplaySubject } from '../ReplaySubject';
  3. import { multicast } from './multicast';
  4. /* tslint:enable:max-line-length */
  5. export function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {
  6. if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {
  7. scheduler = selectorOrScheduler;
  8. }
  9. var selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;
  10. var subject = new ReplaySubject(bufferSize, windowTime, scheduler);
  11. return function (source) { return multicast(function () { return subject; }, selector)(source); };
  12. }
  13. //# sourceMappingURL=publishReplay.js.map