@acutmore/rxjs
Version:
Reactive Extensions for modern JavaScript
35 lines • 1.14 kB
JavaScript
var MockPromise = /** @class */ (function () {
function MockPromise(scheduler, time, value, error) {
var _this = this;
this.scheduler = scheduler;
this.time = time;
this.value = value;
this.error = error;
this.callbacks = [];
scheduler.schedule(function () {
_this.callbacks.forEach(function (_a) {
var resolve = _a[0], reject = _a[1];
var cb = _this.error ? reject : resolve;
try {
cb(_this.value);
}
catch (err) {
/* no op */
}
});
}, time);
}
MockPromise.prototype.then = function (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);
};
return MockPromise;
}());
export { MockPromise };
//# sourceMappingURL=MockPromise.js.map