@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
25 lines (19 loc) • 837 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.prepareWaitForCompletionFn = prepareWaitForCompletionFn;
var _rxjs = require("rxjs");
var _operators = require("rxjs/operators");
var _whenCompleted = require("../whenCompleted");
var _publishStream = require("../publishStream");
function prepareWaitForCompletionFn(results, timeout) {
const completedOrTimedOut = (0, _publishStream.publishReplayStream)(results.pipe((0, _whenCompleted.whenCompleted)(), (0, _operators.defaultIfEmpty)('completed')), 1);
return {
connect: () => completedOrTimedOut.connect(),
waitForCompletion: async () => {
return await completedOrTimedOut.pipe((0, _operators.timeoutWith)(timeout, (0, _rxjs.of)('timed-out'))).toPromise();
}
};
}
//# sourceMappingURL=prepareWaitForCompletionFn.js.map