@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
35 lines (28 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.logEpic = void 0;
var _abShared = require("@aimee-blue/ab-shared");
var _conditionalOperator = require("../conditionalOperator");
const logEpic = (epic, paramsRaw) => {
const fn = (...[commands, ctx, ...rest]) => {
var _params$input, _params$output;
const params = {
logEvents: ctx.logger.logEvents,
...paramsRaw
};
const maybeLogIncoming = (0, _conditionalOperator.conditionalOperator)((_params$input = params.input) !== null && _params$input !== void 0 ? _params$input : true, params.logEvents);
const maybeLogOutgoing = (0, _conditionalOperator.conditionalOperator)((_params$output = params.output) !== null && _params$output !== void 0 ? _params$output : true, params.logEvents);
const incomingName = `commands@${params.name || epic.name}`;
const outgoingName = `results@${params.name || epic.name}`;
return epic(commands.pipe(maybeLogIncoming({
prefix: incomingName
})), ctx, ...rest).pipe(maybeLogOutgoing({
prefix: outgoingName
}));
};
return _abShared.Utils.setFunctionName(`logEpic.${epic.name}`, fn);
};
exports.logEpic = logEpic;
//# sourceMappingURL=logEpic.js.map