@message-queue-toolkit/sqs
Version:
SQS adapter for message-queue-toolkit
21 lines • 1.01 kB
JavaScript
import { isOffloadedPayloadPointerPayload } from '@message-queue-toolkit/core';
import { OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE } from "../sqs/AbstractSqsPublisher.js";
export function resolveOutgoingMessageAttributes(payload) {
const attributes = {};
if (isOffloadedPayloadPointerPayload(payload)) {
// Prefer payloadRef.size (new format), fall back to offloadedPayloadSize (legacy format)
const size = payload.payloadRef?.size ?? payload.offloadedPayloadSize;
if (size === undefined) {
throw new Error('Offloaded payload is missing size information. Expected either payloadRef.size or offloadedPayloadSize.');
}
attributes[OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE] = {
DataType: 'Number',
StringValue: size.toString(),
};
}
return attributes;
}
export function hasOffloadedPayload(message) {
return !!message.attributes && OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE in message.attributes;
}
//# sourceMappingURL=messageUtils.js.map