opinionated-machine
Version:
Very opinionated DI framework for fastify, built on top of awilix
43 lines • 1.39 kB
JavaScript
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);
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