@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
23 lines (18 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.logWarningIfOutgoingStreamNotComplete = logWarningIfOutgoingStreamNotComplete;
var _rxjs = require("rxjs");
var _operators = require("rxjs/operators");
var _whenCompleted = require("../whenCompleted");
function logWarningIfOutgoingStreamNotComplete(logger, data, outgoing, timeout, id, name) {
const incomingCompleted = data.pipe((0, _whenCompleted.whenCompleted)());
const outgoingCompleted = outgoing.pipe((0, _whenCompleted.whenCompleted)());
const log = incomingCompleted.pipe((0, _operators.take)(1), (0, _operators.concatMap)(() => (0, _rxjs.timer)(timeout).pipe((0, _operators.switchMap)(() => {
logger.warn(`🚨 Epic (${name}) stream for connection with id ${id} did not complete ${(timeout / 1000).toFixed(2)} seconds after the socket closure. Is something wrong?`);
return (0, _rxjs.empty)();
}), (0, _operators.takeUntil)(outgoingCompleted))), (0, _operators.ignoreElements)());
return log;
}
//# sourceMappingURL=logWarningIfOutgoingStreamNotComplete.js.map