UNPKG

redis-smq

Version:

A high-performance, reliable, and scalable message queue for Node.js.

58 lines 2.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseMessageAuditConfig = parseMessageAuditConfig; const default_config_js_1 = require("./default-config.js"); const index_js_1 = require("../errors/index.js"); function validateNumericValue(value) { const numericValue = Number(value); if (isNaN(numericValue) || numericValue < 0) return false; return numericValue; } function parseMessageAuditMessagesConfig(config, defaultConfigOptions) { if (typeof config === 'undefined') { return Object.assign({}, defaultConfigOptions); } if (typeof config === 'boolean') { return Object.assign(Object.assign({}, defaultConfigOptions), { enabled: config }); } const cfg = Object.assign(Object.assign({}, defaultConfigOptions), config); if (validateNumericValue(cfg.queueSize) === false) throw new index_js_1.InvalidMessageAuditQueueSizeError(); if (validateNumericValue(cfg.expire) === false) throw new index_js_1.ConfigurationMessageAuditExpireError(); return cfg; } function parseUnacknowledgementHistoryConfig(config, defaultConfigOptions) { if (typeof config === 'undefined') { return Object.assign({}, defaultConfigOptions); } if (typeof config === 'boolean') { return Object.assign(Object.assign({}, defaultConfigOptions), { enabled: config }); } const cfg = Object.assign(Object.assign({}, defaultConfigOptions), config); if (validateNumericValue(cfg.maxSize) === false) { throw new index_js_1.InvalidMessageAuditHistorySizeError(); } return cfg; } function parseMessageAuditConfig(config = {}) { let userConfig; if (typeof config === 'boolean') { userConfig = { acknowledgedMessages: config, deadLetteredMessages: config, unacknowledgementHistory: config, }; } else { userConfig = config; } const defaultMessageAudit = default_config_js_1.defaultConfig.messageAudit; return { acknowledgedMessages: parseMessageAuditMessagesConfig(userConfig.acknowledgedMessages, defaultMessageAudit.acknowledgedMessages), deadLetteredMessages: parseMessageAuditMessagesConfig(userConfig.deadLetteredMessages, defaultMessageAudit.deadLetteredMessages), unacknowledgementHistory: parseUnacknowledgementHistoryConfig(userConfig.unacknowledgementHistory, defaultMessageAudit.unacknowledgementHistory), }; } //# sourceMappingURL=parse-message-audit-config.js.map