UNPKG

opinionated-machine

Version:

Very opinionated DI framework for fastify, built on top of awilix

48 lines 1.56 kB
export const ENABLE_ALL = Symbol.for('ENABLE_ALL'); export const resolveJobQueuesEnabled = (options) => { const { jobQueuesEnabled } = options; if (!jobQueuesEnabled) { return false; } if (jobQueuesEnabled === ENABLE_ALL) { return true; } if (Array.isArray(jobQueuesEnabled)) { return jobQueuesEnabled.length ? jobQueuesEnabled : false; } return false; }; export const isEnqueuedJobWorkersEnabled = (enabled, name) => isEnabled(enabled, name); export const isPeriodicJobEnabled = (enabled, name) => isEnabled(enabled, name); /** * Returns true if either specific queue is enabled (if name is specified), or if any queue is enabled (if no name is provided) * @param enabled * @param name */ export const isJobQueueEnabled = (enabled, name) => { if (!enabled) { return false; } if (Array.isArray(enabled) && (!name || enabled.includes(name))) { return true; } if (enabled === ENABLE_ALL) { return true; } return false; }; export const isMessageQueueConsumerEnabled = (messageQueueConsumersEnabled, name) => isEnabled(messageQueueConsumersEnabled, name); export const isAnyMessageQueueConsumerEnabled = (options) => !!options.messageQueueConsumersEnabled; const isEnabled = (option, name) => { if (!option) { return false; } if (name && Array.isArray(option)) { return option.includes(name); } if (option === ENABLE_ALL) { return true; } return false; }; //# sourceMappingURL=diConfigUtils.js.map