| /** PURE_IMPORTS_START _observable_ConnectableObservable PURE_IMPORTS_END */ |
| import { connectableObservableDescriptor } from '../observable/ConnectableObservable'; |
| export function multicast(subjectOrSubjectFactory, selector) { |
| return function multicastOperatorFunction(source) { |
| var subjectFactory; |
| if (typeof subjectOrSubjectFactory === 'function') { |
| subjectFactory = subjectOrSubjectFactory; |
| } |
| else { |
| subjectFactory = function subjectFactory() { |
| return subjectOrSubjectFactory; |
| }; |
| } |
| if (typeof selector === 'function') { |
| return source.lift(new MulticastOperator(subjectFactory, selector)); |
| } |
| var connectable = Object.create(source, connectableObservableDescriptor); |
| connectable.source = source; |
| connectable.subjectFactory = subjectFactory; |
| return connectable; |
| }; |
| } |
| var MulticastOperator = /*@__PURE__*/ (function () { |
| function MulticastOperator(subjectFactory, selector) { |
| this.subjectFactory = subjectFactory; |
| this.selector = selector; |
| } |
| MulticastOperator.prototype.call = function (subscriber, source) { |
| var selector = this.selector; |
| var subject = this.subjectFactory(); |
| var subscription = selector(subject).subscribe(subscriber); |
| subscription.add(source.subscribe(subject)); |
| return subscription; |
| }; |
| return MulticastOperator; |
| }()); |
| export { MulticastOperator }; |
| //# sourceMappingURL=multicast.js.map |