--- /dev/null
+import { Observable } from '../Observable';
+import { asap } from '../scheduler/asap';
+import { isNumeric } from '../util/isNumeric';
+export class SubscribeOnObservable extends Observable {
+ constructor(source, delayTime = 0, scheduler = asap) {
+ super();
+ this.source = source;
+ this.delayTime = delayTime;
+ this.scheduler = scheduler;
+ if (!isNumeric(delayTime) || delayTime < 0) {
+ this.delayTime = 0;
+ }
+ if (!scheduler || typeof scheduler.schedule !== 'function') {
+ this.scheduler = asap;
+ }
+ }
+ static create(source, delay = 0, scheduler = asap) {
+ return new SubscribeOnObservable(source, delay, scheduler);
+ }
+ static dispatch(arg) {
+ const { source, subscriber } = arg;
+ return this.add(source.subscribe(subscriber));
+ }
+ _subscribe(subscriber) {
+ const delay = this.delayTime;
+ const source = this.source;
+ const scheduler = this.scheduler;
+ return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {
+ source, subscriber
+ });
+ }
+}
+//# sourceMappingURL=SubscribeOnObservable.js.map
\ No newline at end of file