UNPKG

@russ-b/nestjs-common-tools

Version:
34 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_OUTBOX_OPERATIONAL_POLICY = void 0; exports.resolveOutboxModuleOptions = resolveOutboxModuleOptions; exports.DEFAULT_OUTBOX_OPERATIONAL_POLICY = { claimBatchSize: 100, maxRetries: 5, staleProcessingMinutes: 5, resetStaleProcessingEvents: true, processedEventRetentionHours: 24, }; function resolveOutboxModuleOptions(options = {}) { const policy = options.operationalPolicy ?? {}; const operationalPolicy = { claimBatchSize: resolvePositiveNumber(policy.claimBatchSize, exports.DEFAULT_OUTBOX_OPERATIONAL_POLICY.claimBatchSize), maxRetries: resolvePositiveNumber(policy.maxRetries, exports.DEFAULT_OUTBOX_OPERATIONAL_POLICY.maxRetries), staleProcessingMinutes: resolvePositiveNumber(policy.staleProcessingMinutes, exports.DEFAULT_OUTBOX_OPERATIONAL_POLICY.staleProcessingMinutes), resetStaleProcessingEvents: policy.resetStaleProcessingEvents ?? exports.DEFAULT_OUTBOX_OPERATIONAL_POLICY.resetStaleProcessingEvents, processedEventRetentionHours: resolvePositiveNumber(policy.processedEventRetentionHours, exports.DEFAULT_OUTBOX_OPERATIONAL_POLICY.processedEventRetentionHours), }; if (policy.maxConcurrentEvents !== undefined && policy.maxConcurrentEvents > 0) { operationalPolicy.maxConcurrentEvents = Math.floor(policy.maxConcurrentEvents); } return { operationalPolicy }; } function resolvePositiveNumber(value, fallback) { if (value !== undefined && Number.isFinite(value) && value > 0) { return value; } return fallback; } //# sourceMappingURL=outbox-options.util.js.map