@acutmore/rxjs
Version:
Reactive Extensions for modern JavaScript
31 lines • 947 B
JavaScript
export class MockPromise {
constructor(scheduler, time, value, error) {
this.scheduler = scheduler;
this.time = time;
this.value = value;
this.error = error;
this.callbacks = [];
scheduler.schedule(() => {
this.callbacks.forEach(([resolve, reject]) => {
const cb = this.error ? reject : resolve;
try {
cb(this.value);
}
catch (err) {
/* no op */
}
});
}, time);
}
then(resolve, reject) {
if (!resolve) {
resolve = function (v) { return v; };
}
if (!reject) {
reject = function (err) { throw err; };
}
this.callbacks.push([resolve, reject]);
return new MockPromise(this.scheduler, this.time, this.value, this.error);
}
}
//# sourceMappingURL=MockPromise.js.map