frontend/.pnpm-store/v3/files/ed/597416a54fe8550a6a91d432113bfa973750879116565d636291e7abfb44885ec08d483899be71f5455c2e4f6156d26c6a9f10ea523c15a3c8a4cbe8168704

33 lines
1.1 KiB
Plaintext

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