diff options
Diffstat (limited to 'node_modules/rxjs/dist/esm/internal/testing/HotObservable.js')
| -rw-r--r-- | node_modules/rxjs/dist/esm/internal/testing/HotObservable.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/esm/internal/testing/HotObservable.js b/node_modules/rxjs/dist/esm/internal/testing/HotObservable.js new file mode 100644 index 0000000..403247e --- /dev/null +++ b/node_modules/rxjs/dist/esm/internal/testing/HotObservable.js @@ -0,0 +1,37 @@ +import { Subject } from '../Subject'; +import { Subscription } from '../Subscription'; +import { SubscriptionLoggable } from './SubscriptionLoggable'; +import { applyMixins } from '../util/applyMixins'; +import { observeNotification } from '../Notification'; +export class HotObservable extends Subject { + constructor(messages, scheduler) { + super(); + this.messages = messages; + this.subscriptions = []; + this.scheduler = scheduler; + } + _subscribe(subscriber) { + const subject = this; + const index = subject.logSubscribedFrame(); + const subscription = new Subscription(); + subscription.add(new Subscription(() => { + subject.logUnsubscribedFrame(index); + })); + subscription.add(super._subscribe(subscriber)); + return subscription; + } + setup() { + const subject = this; + const messagesLength = subject.messages.length; + for (let i = 0; i < messagesLength; i++) { + (() => { + const { notification, frame } = subject.messages[i]; + subject.scheduler.schedule(() => { + observeNotification(notification, subject); + }, frame); + })(); + } + } +} +applyMixins(HotObservable, [SubscriptionLoggable]); +//# sourceMappingURL=HotObservable.js.map
\ No newline at end of file |
