UNPKG

4.36 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.BullQueueInject = exports.BullQueueEventGlobalRemoved = exports.BullQueueEventGlobalDrained = exports.BullQueueEventGlobalCleaned = exports.BullQueueEventGlobalResumed = exports.BullQueueEventGlobalPaused = exports.BullQueueEventGlobalFailed = exports.BullQueueEventGlobalCompleted = exports.BullQueueEventGlobalProgress = exports.BullQueueEventGlobalStalled = exports.BullQueueEventGlobalActive = exports.BullQueueEventGlobalWaiting = exports.BullQueueEventGlobalError = exports.BullQueueEventRemoved = exports.BullQueueEventDrained = exports.BullQueueEventCleaned = exports.BullQueueEventResumed = exports.BullQueueEventPaused = exports.BullQueueEventFailed = exports.BullQueueEventCompleted = exports.BullQueueEventProgress = exports.BullQueueEventStalled = exports.BullQueueEventActive = exports.BullQueueEventWaiting = exports.BullQueueEventError = exports.EventHandler = exports.BullQueueProcess = exports.BullQueue = void 0;
4const common_1 = require("@nestjs/common");
5const deepmerge = require("deepmerge");
6require("reflect-metadata");
7const bull_constants_1 = require("./bull.constants");
8const bull_utils_1 = require("./bull.utils");
9exports.BullQueue = (options) => {
10 return (target) => {
11 Reflect.defineMetadata(bull_constants_1.BULL_QUEUE_DECORATOR, deepmerge({ name: target.name }, options || {}), target);
12 };
13};
14exports.BullQueueProcess = (options) => {
15 return (target, propertyName) => {
16 Reflect.defineMetadata(bull_constants_1.BULL_QUEUE_PROCESSOR_DECORATOR, options, target, propertyName);
17 };
18};
19exports.EventHandler = (type, isGlobal) => {
20 return (target, propertyName) => {
21 const eventName = `${isGlobal ? "global:" : ""}${type}`;
22 const options = deepmerge({ eventNames: [] }, Reflect.getMetadata(bull_constants_1.BULL_QUEUE_EVENT_DECORATOR, target, propertyName) || {});
23 if (options.eventNames.indexOf(eventName) !== -1) {
24 common_1.Logger.warn(`Not allowed multiple event on same function. ${eventName} on ${propertyName.toString()}`, bull_constants_1.BULL_MODULE, false);
25 return;
26 }
27 options.eventNames.push(eventName);
28 Reflect.defineMetadata(bull_constants_1.BULL_QUEUE_EVENT_DECORATOR, options, target, propertyName);
29 };
30};
31exports.BullQueueEventError = () => exports.EventHandler("error", false);
32exports.BullQueueEventWaiting = () => exports.EventHandler("waiting", false);
33exports.BullQueueEventActive = () => exports.EventHandler("active", false);
34exports.BullQueueEventStalled = () => exports.EventHandler("stalled", false);
35exports.BullQueueEventProgress = () => exports.EventHandler("progress", false);
36exports.BullQueueEventCompleted = () => exports.EventHandler("completed", false);
37exports.BullQueueEventFailed = () => exports.EventHandler("failed", false);
38exports.BullQueueEventPaused = () => exports.EventHandler("paused", false);
39exports.BullQueueEventResumed = () => exports.EventHandler("resumed", false);
40exports.BullQueueEventCleaned = () => exports.EventHandler("cleaned", false);
41exports.BullQueueEventDrained = () => exports.EventHandler("drained", false);
42exports.BullQueueEventRemoved = () => exports.EventHandler("removed", false);
43exports.BullQueueEventGlobalError = () => exports.EventHandler("error", true);
44exports.BullQueueEventGlobalWaiting = () => exports.EventHandler("waiting", true);
45exports.BullQueueEventGlobalActive = () => exports.EventHandler("active", true);
46exports.BullQueueEventGlobalStalled = () => exports.EventHandler("stalled", true);
47exports.BullQueueEventGlobalProgress = () => exports.EventHandler("progress", true);
48exports.BullQueueEventGlobalCompleted = () => exports.EventHandler("completed", true);
49exports.BullQueueEventGlobalFailed = () => exports.EventHandler("failed", true);
50exports.BullQueueEventGlobalPaused = () => exports.EventHandler("paused", true);
51exports.BullQueueEventGlobalResumed = () => exports.EventHandler("resumed", true);
52exports.BullQueueEventGlobalCleaned = () => exports.EventHandler("cleaned", true);
53exports.BullQueueEventGlobalDrained = () => exports.EventHandler("drained", true);
54exports.BullQueueEventGlobalRemoved = () => exports.EventHandler("removed", true);
55exports.BullQueueInject = (name) => common_1.Inject(bull_utils_1.getBullQueueToken(name));