UNPKG

redis-smq

Version:

A simple high-performance Redis message queue for Node.js.

41 lines 1.28 kB
import { ConfigurationMessageQueueSizeError, ConfigurationMessageStoreExpireError, } from '../errors/index.js'; function getMessageStorageConfig(config, key) { const { store } = config.messages ?? {}; if (typeof store === 'undefined' || typeof store === 'boolean') { return Boolean(store); } const params = store[key]; if (params) return params; return false; } function getMessageStorageParams(config, key) { const params = getMessageStorageConfig(config, key); if (typeof params === 'boolean') { return { store: params, queueSize: 0, expire: 0, }; } const queueSize = Number(params.queueSize ?? 0); if (isNaN(queueSize) || queueSize < 0) { throw new ConfigurationMessageQueueSizeError(); } const expire = Number(params.expire ?? 0); if (isNaN(expire) || expire < 0) { throw new ConfigurationMessageStoreExpireError(); } return { store: true, queueSize, expire, }; } export default function Store(config) { return { acknowledged: getMessageStorageParams(config, 'acknowledged'), deadLettered: getMessageStorageParams(config, 'deadLettered'), }; } //# sourceMappingURL=store.js.map