@gabliam/amqp
Version:
amqp plugin for gabliam
28 lines (27 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Fields = exports.Properties = exports.Content = exports.Message = exports.makeRabbitParamDecorator = void 0;
const core_1 = require("@gabliam/core");
const lodash_1 = require("lodash");
const constants_1 = require("../constants");
const makeRabbitParamDecorator = (handler) => (0, core_1.makeParamDecorator)(constants_1.METADATA_KEY.RabbitcontrollerParameter, (...args) => ({ args, handler }));
exports.makeRabbitParamDecorator = makeRabbitParamDecorator;
exports.Message = (0, exports.makeRabbitParamDecorator)((args, msg) => msg);
exports.Content = (0, exports.makeRabbitParamDecorator)(([path], msg, content) => {
if (path) {
return (0, lodash_1.get)(content, path);
}
return content;
});
exports.Properties = (0, exports.makeRabbitParamDecorator)(([path], msg) => {
if (path) {
return (0, lodash_1.get)(msg.properties, path);
}
return msg.properties;
});
exports.Fields = (0, exports.makeRabbitParamDecorator)(([path], msg) => {
if (path) {
return (0, lodash_1.get)(msg.fields, path);
}
return msg.fields;
});