redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
24 lines • 1.07 kB
JavaScript
import { _getQueueProperties } from '../../queue/_/_get-queue-properties.js';
import { EQueueDeliveryModel } from '../../queue/index.js';
import { QueueMessagesConsumerGroupIdNotSupportedError, QueueMessagesConsumerGroupIdRequiredError, } from '../errors/index.js';
export function _validateQueueExtendedParams(redisClient, queue, requireGroupId, cb) {
const { queueParams, groupId } = queue;
_getQueueProperties(redisClient, queueParams, (err, properties) => {
if (err)
cb(err);
else {
if (requireGroupId &&
properties?.deliveryModel === EQueueDeliveryModel.PUB_SUB &&
!groupId) {
cb(new QueueMessagesConsumerGroupIdRequiredError());
}
else if (properties?.deliveryModel === EQueueDeliveryModel.POINT_TO_POINT &&
groupId) {
cb(new QueueMessagesConsumerGroupIdNotSupportedError());
}
else
cb();
}
});
}
//# sourceMappingURL=_validate-queue-extended-params.js.map