redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
24 lines • 1.02 kB
JavaScript
import { MessageEnvelope } from '../message-envelope.js';
import { MessageState } from '../message-state.js';
import { ProducibleMessage } from '../producible-message.js';
export function _fromMessage(msg, status, msgState) {
const { destinationQueue, consumerGroupId, ...params } = typeof msg === 'string' ? JSON.parse(msg) : msg.toJSON();
const messagePub = new ProducibleMessage();
Object.assign(messagePub, params);
const m = new MessageEnvelope(messagePub);
m.setDestinationQueue(destinationQueue);
if (consumerGroupId) {
m.setConsumerGroupId(consumerGroupId);
}
if (status !== null) {
m.setStatus(status);
}
if (msgState !== null) {
const messageStateInstance = new MessageState();
const messageStateJSON = typeof msgState === 'string' ? JSON.parse(msgState) : msgState;
Object.assign(messageStateInstance, messageStateJSON);
m.setMessageState(messageStateInstance);
}
return m;
}
//# sourceMappingURL=_from-message.js.map