redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
42 lines • 1.61 kB
JavaScript
function parseBatchConfig(config, defaultConfig) {
if (config === undefined || config === true) {
return { ...defaultConfig };
}
if (config === false) {
return {
enabled: false,
batchSize: defaultConfig.batchSize,
batchTimeoutMs: defaultConfig.batchTimeoutMs,
};
}
return {
enabled: config.enabled ?? defaultConfig.enabled,
batchSize: config.batchSize ?? defaultConfig.batchSize,
batchTimeoutMs: config.batchTimeoutMs ?? defaultConfig.batchTimeoutMs,
};
}
export function _parseConsumerOptions(config, defaultConfig) {
if (config === undefined) {
return {
heartbeatTTL: defaultConfig.heartbeatTTL,
enableMultiplexing: defaultConfig.enableMultiplexing,
batchAcks: { ...defaultConfig.batchAcks },
batchUnacks: { ...defaultConfig.batchUnacks },
};
}
if (typeof config === 'boolean') {
return {
heartbeatTTL: defaultConfig.heartbeatTTL,
enableMultiplexing: config,
batchAcks: { ...defaultConfig.batchAcks },
batchUnacks: { ...defaultConfig.batchUnacks },
};
}
return {
heartbeatTTL: config.heartbeatTTL ?? defaultConfig.heartbeatTTL,
enableMultiplexing: config.enableMultiplexing ?? defaultConfig.enableMultiplexing,
batchAcks: parseBatchConfig(config.batchAcks, defaultConfig.batchAcks),
batchUnacks: parseBatchConfig(config.batchUnacks, defaultConfig.batchUnacks),
};
}
//# sourceMappingURL=_parse-consumer-options.js.map