redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
43 lines • 1.37 kB
JavaScript
import { redisKeys } from '../../../common/redis-keys/redis-keys.js';
import { QueueInvalidQueueParameterError } from '../errors/index.js';
import { _parseQueueParams } from './_parse-queue-params.js';
function isQueueParams(args) {
return (!!args &&
typeof args === 'object' &&
Object.keys(args).includes('ns') &&
Object.keys(args).includes('name'));
}
export function _parseQueueExtendedParams(args) {
if (typeof args === 'string') {
const queueParams = _parseQueueParams(args);
if (queueParams instanceof Error)
return queueParams;
return {
queueParams,
groupId: null,
};
}
if (isQueueParams(args)) {
const queueParams = _parseQueueParams(args);
if (queueParams instanceof Error)
return queueParams;
return {
queueParams,
groupId: null,
};
}
const queueParams = _parseQueueParams(args.queue);
if (queueParams instanceof Error)
return queueParams;
let groupId = null;
if (args.groupId) {
groupId = redisKeys.validateRedisKey(args.groupId);
if (groupId instanceof Error)
return new QueueInvalidQueueParameterError();
}
return {
queueParams,
groupId,
};
}
//# sourceMappingURL=_parse-queue-extended-params.js.map