UNPKG

@azure/core-amqp

Version:

Common library for amqp based azure sdks like @azure/event-hubs.

81 lines (80 loc) 3.32 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var amqpAnnotatedMessage_exports = {}; __export(amqpAnnotatedMessage_exports, { AmqpAnnotatedMessage: () => AmqpAnnotatedMessage }); module.exports = __toCommonJS(amqpAnnotatedMessage_exports); var import_messageHeader = require("./messageHeader.js"); var import_messageProperties = require("./messageProperties.js"); var import_constants = require("./util/constants.js"); const AmqpAnnotatedMessage = { /** * Takes RheaMessage(`Message` type from "rhea") and returns it in the AmqpAnnotatedMessage format. */ fromRheaMessage(msg) { const amqpMsg = { header: import_messageHeader.AmqpMessageHeader.fromRheaMessageHeader(msg), footer: msg.footer, messageAnnotations: msg.message_annotations, deliveryAnnotations: msg.delivery_annotations, applicationProperties: msg.application_properties, properties: import_messageProperties.AmqpMessageProperties.fromRheaMessageProperties(msg), body: msg.body }; if (msg.absolute_expiry_time) { const absoluteExpiryTime = msg.absolute_expiry_time.getTime(); amqpMsg.properties.absoluteExpiryTime = Math.min( absoluteExpiryTime, import_constants.Constants.maxAbsoluteExpiryTime ); if (msg.creation_time) { amqpMsg.header.timeToLive = amqpMsg.properties.absoluteExpiryTime - msg.creation_time.getTime(); } } return amqpMsg; }, /** * Takes AmqpAnnotatedMessage and returns it in the RheaMessage(`Message` type from "rhea") format. */ toRheaMessage(msg) { const rhMsg = { ...import_messageProperties.AmqpMessageProperties.toRheaMessageProperties(msg.properties || {}), ...import_messageHeader.AmqpMessageHeader.toRheaMessageHeader(msg.header || {}), body: msg.body, message_annotations: msg.messageAnnotations, delivery_annotations: msg.deliveryAnnotations, application_properties: msg.applicationProperties, footer: msg.footer }; if (msg.header?.timeToLive) { const ttl = msg.header.timeToLive; rhMsg.ttl = Math.min(ttl, import_constants.Constants.maxUint32Value); rhMsg.creation_time = rhMsg.creation_time ?? /* @__PURE__ */ new Date(); rhMsg.absolute_expiry_time = new Date( Math.min(rhMsg.creation_time.getTime() + ttl, import_constants.Constants.maxAbsoluteExpiryTime) ); } return rhMsg; } }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { AmqpAnnotatedMessage }); //# sourceMappingURL=amqpAnnotatedMessage.js.map