UNPKG

6.26 kBJavaScriptView Raw
1"use strict";
2var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6 return c > 3 && r && Object.defineProperty(target, key, r), r;
7};
8var __metadata = (this && this.__metadata) || function (k, v) {
9 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10};
11var __param = (this && this.__param) || function (paramIndex, decorator) {
12 return function (target, key) { decorator(target, key, paramIndex); }
13};
14var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16 return new (P || (P = Promise))(function (resolve, reject) {
17 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20 step((generator = generator.apply(thisArg, _arguments || [])).next());
21 });
22};
23var BullCoreModule_1;
24Object.defineProperty(exports, "__esModule", { value: true });
25exports.BullCoreModule = void 0;
26const common_1 = require("@nestjs/common");
27const metadata_scanner_1 = require("@nestjs/core/metadata-scanner");
28const bull_constants_1 = require("./bull.constants");
29const bull_queue_provider_service_1 = require("./services/bull-queue-provider.service");
30const bull_service_1 = require("./services/bull.service");
31const event_explorer_service_1 = require("./services/explorers/event-explorer.service");
32const processor_explorer_service_1 = require("./services/explorers/processor-explorer.service");
33let BullCoreModule = BullCoreModule_1 = class BullCoreModule {
34 constructor(processorExplorer, eventExplorer, options, bullService) {
35 this.processorExplorer = processorExplorer;
36 this.eventExplorer = eventExplorer;
37 this.options = options;
38 this.bullService = bullService;
39 }
40 onModuleInit() {
41 return __awaiter(this, void 0, void 0, function* () {
42 if (this.bullService.isAsync) {
43 const bullProviderService = new bull_queue_provider_service_1.BullQueueProviderService(this.options, this.bullService);
44 bullProviderService.createBullQueueProviders();
45 }
46 this.processorExplorer.explore();
47 this.eventExplorer.explore();
48 yield this.bullService.isReady();
49 });
50 }
51 onModuleDestroy() {
52 return __awaiter(this, void 0, void 0, function* () {
53 yield this.bullService.closeAll();
54 });
55 }
56 static forRoot(options) {
57 const bullService = new bull_service_1.BullService();
58 const bullProviderService = new bull_queue_provider_service_1.BullQueueProviderService(options, bullService);
59 const bullQueueProviders = bullProviderService.createBullQueueProviders();
60 const bullQueueServiceProvider = {
61 provide: bull_constants_1.BULL_MODULE_SERVICE,
62 useValue: bullService,
63 };
64 return {
65 module: BullCoreModule_1,
66 providers: [
67 {
68 provide: bull_constants_1.BULL_MODULE_OPTIONS,
69 useValue: options,
70 },
71 bullQueueServiceProvider,
72 ...bullQueueProviders,
73 ],
74 exports: [bullQueueServiceProvider, ...bullQueueProviders],
75 };
76 }
77 static forRootAsync(options) {
78 const bullService = new bull_service_1.BullService(true);
79 const bullQueueServiceProvider = {
80 provide: bull_constants_1.BULL_MODULE_SERVICE,
81 useValue: bullService,
82 };
83 const asyncProviders = this.createAsyncProviders(options);
84 return {
85 module: BullCoreModule_1,
86 imports: [...(options.imports || [])],
87 providers: [bullQueueServiceProvider, ...asyncProviders],
88 exports: [bullQueueServiceProvider],
89 };
90 }
91 static createAsyncProviders(options) {
92 if (options.useFactory) {
93 return [this.createAsyncOptionsProvider(options)];
94 }
95 return [
96 this.createAsyncOptionsProvider(options),
97 {
98 provide: options.useClass,
99 useClass: options.useClass,
100 inject: [options.inject || []],
101 },
102 ];
103 }
104 static createAsyncOptionsProvider(options) {
105 if (options.useFactory) {
106 return {
107 provide: bull_constants_1.BULL_MODULE_OPTIONS,
108 useFactory: options.useFactory,
109 inject: options.inject || [],
110 };
111 }
112 return {
113 provide: bull_constants_1.BULL_MODULE_OPTIONS,
114 useFactory: (optionsFactory) => __awaiter(this, void 0, void 0, function* () { return yield optionsFactory.createBullModuleOptions(); }),
115 inject: options.useClass ? [options.useClass] : [],
116 };
117 }
118};
119BullCoreModule = BullCoreModule_1 = __decorate([
120 common_1.Global(),
121 common_1.Module({
122 providers: [metadata_scanner_1.MetadataScanner, processor_explorer_service_1.BullQueueProcessorExplorerService, event_explorer_service_1.BullQueueEventExplorerService],
123 }),
124 __param(2, common_1.Inject(bull_constants_1.BULL_MODULE_OPTIONS)),
125 __param(3, common_1.Inject(bull_constants_1.BULL_MODULE_SERVICE)),
126 __metadata("design:paramtypes", [processor_explorer_service_1.BullQueueProcessorExplorerService,
127 event_explorer_service_1.BullQueueEventExplorerService, Object, bull_service_1.BullService])
128], BullCoreModule);
129exports.BullCoreModule = BullCoreModule;