@opra/nestjs-kafka 1.21.0 → 1.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm/opra-kafka-core.module.js → opra-kafka-core.module.js} +3 -0
- package/package.json +13 -30
- package/cjs/constants.js +0 -4
- package/cjs/index.js +0 -11
- package/cjs/opra-kafka-core.module.js +0 -137
- package/cjs/opra-kafka.module.js +0 -33
- package/cjs/package.json +0 -3
- package/esm/package.json +0 -3
- package/types/index.d.cts +0 -5
- /package/{types/constants.d.ts → constants.d.ts} +0 -0
- /package/{esm/constants.js → constants.js} +0 -0
- /package/{types/index.d.ts → index.d.ts} +0 -0
- /package/{esm/index.js → index.js} +0 -0
- /package/{types/opra-kafka-core.module.d.ts → opra-kafka-core.module.d.ts} +0 -0
- /package/{types/opra-kafka.module.d.ts → opra-kafka.module.d.ts} +0 -0
- /package/{esm/opra-kafka.module.js → opra-kafka.module.js} +0 -0
|
@@ -9,6 +9,9 @@ import { MQControllerFactory } from '@opra/nestjs';
|
|
|
9
9
|
import { OPRA_KAFKA_MODULE_CONFIG } from './constants.js';
|
|
10
10
|
const opraKafkaNestjsAdapterToken = Symbol('OpraKafkaNestjsAdapter');
|
|
11
11
|
let OpraKafkaCoreModule = OpraKafkaCoreModule_1 = class OpraKafkaCoreModule {
|
|
12
|
+
controllerFactory;
|
|
13
|
+
adapter;
|
|
14
|
+
config;
|
|
12
15
|
constructor(controllerFactory, adapter, config) {
|
|
13
16
|
this.controllerFactory = controllerFactory;
|
|
14
17
|
this.adapter = adapter;
|
package/package.json
CHANGED
|
@@ -1,61 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opra/nestjs-kafka",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.1",
|
|
4
4
|
"description": "Opra NestJS Kafka Module",
|
|
5
5
|
"author": "Panates",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@jsopen/objects": "^2.0.2",
|
|
9
|
-
"fast-tokenizer": "^1.
|
|
9
|
+
"fast-tokenizer": "^1.8.0",
|
|
10
10
|
"putil-promisify": "^1.10.1",
|
|
11
11
|
"reflect-metadata": "^0.2.2",
|
|
12
12
|
"tslib": "^2.8.1"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@opra/common": "^1.
|
|
16
|
-
"@opra/core": "^1.
|
|
17
|
-
"@opra/nestjs": "^1.
|
|
18
|
-
"@opra/kafka": "^1.
|
|
15
|
+
"@opra/common": "^1.22.1",
|
|
16
|
+
"@opra/core": "^1.22.1",
|
|
17
|
+
"@opra/nestjs": "^1.22.1",
|
|
18
|
+
"@opra/kafka": "^1.22.1",
|
|
19
19
|
"@nestjs/common": "^10.0.0 || ^11.0.0",
|
|
20
20
|
"@nestjs/core": "^10.0.0 || ^11.0.0",
|
|
21
21
|
"@nestjs/microservices": "^10.0.0 || ^11.0.0",
|
|
22
22
|
"kafkajs": "^2.2.4"
|
|
23
23
|
},
|
|
24
24
|
"type": "module",
|
|
25
|
+
"module": "./index.js",
|
|
26
|
+
"types": "./index.d.ts",
|
|
25
27
|
"exports": {
|
|
26
28
|
".": {
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
"default": "./esm/index.js"
|
|
30
|
-
},
|
|
31
|
-
"require": {
|
|
32
|
-
"types": "./types/index.d.cts",
|
|
33
|
-
"default": "./cjs/index.js"
|
|
34
|
-
},
|
|
35
|
-
"default": "./esm/index.js"
|
|
29
|
+
"types": "./index.d.ts",
|
|
30
|
+
"default": "./index.js"
|
|
36
31
|
},
|
|
37
32
|
"./package.json": "./package.json"
|
|
38
33
|
},
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=20.0"
|
|
36
|
+
},
|
|
42
37
|
"repository": {
|
|
43
38
|
"type": "git",
|
|
44
39
|
"url": "git+https://github.com/panates/opra.git",
|
|
45
40
|
"directory": "packages/nestjs-kafka"
|
|
46
41
|
},
|
|
47
|
-
"engines": {
|
|
48
|
-
"node": ">=16.0",
|
|
49
|
-
"npm": ">=7.0.0"
|
|
50
|
-
},
|
|
51
|
-
"files": [
|
|
52
|
-
"bin/",
|
|
53
|
-
"cjs/",
|
|
54
|
-
"esm/",
|
|
55
|
-
"types/",
|
|
56
|
-
"LICENSE",
|
|
57
|
-
"README.md"
|
|
58
|
-
],
|
|
59
42
|
"keywords": [
|
|
60
43
|
"opra",
|
|
61
44
|
"nestjs",
|
package/cjs/constants.js
DELETED
package/cjs/index.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Public = exports.OpraNestUtils = exports.IS_PUBLIC_KEY = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
require("reflect-metadata");
|
|
6
|
-
const nestjs_1 = require("@opra/nestjs");
|
|
7
|
-
Object.defineProperty(exports, "IS_PUBLIC_KEY", { enumerable: true, get: function () { return nestjs_1.IS_PUBLIC_KEY; } });
|
|
8
|
-
Object.defineProperty(exports, "OpraNestUtils", { enumerable: true, get: function () { return nestjs_1.OpraNestUtils; } });
|
|
9
|
-
Object.defineProperty(exports, "Public", { enumerable: true, get: function () { return nestjs_1.Public; } });
|
|
10
|
-
tslib_1.__exportStar(require("./constants.js"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./opra-kafka.module.js"), exports);
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var OpraKafkaCoreModule_1;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.OpraKafkaCoreModule = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const objects_1 = require("@jsopen/objects");
|
|
7
|
-
const common_1 = require("@nestjs/common");
|
|
8
|
-
const core_1 = require("@nestjs/core");
|
|
9
|
-
const common_2 = require("@opra/common");
|
|
10
|
-
const kafka_1 = require("@opra/kafka");
|
|
11
|
-
const nestjs_1 = require("@opra/nestjs");
|
|
12
|
-
const constants_js_1 = require("./constants.js");
|
|
13
|
-
const opraKafkaNestjsAdapterToken = Symbol('OpraKafkaNestjsAdapter');
|
|
14
|
-
let OpraKafkaCoreModule = OpraKafkaCoreModule_1 = class OpraKafkaCoreModule {
|
|
15
|
-
constructor(controllerFactory, adapter, config) {
|
|
16
|
-
this.controllerFactory = controllerFactory;
|
|
17
|
-
this.adapter = adapter;
|
|
18
|
-
this.config = config;
|
|
19
|
-
}
|
|
20
|
-
static forRoot(moduleOptions) {
|
|
21
|
-
return this._getDynamicModule({
|
|
22
|
-
...moduleOptions,
|
|
23
|
-
providers: [
|
|
24
|
-
...(moduleOptions?.providers || []),
|
|
25
|
-
{
|
|
26
|
-
provide: constants_js_1.OPRA_KAFKA_MODULE_CONFIG,
|
|
27
|
-
useValue: {
|
|
28
|
-
...moduleOptions,
|
|
29
|
-
logger: moduleOptions.logger || new common_1.Logger(moduleOptions.name),
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
static forRootAsync(moduleOptions) {
|
|
36
|
-
if (!moduleOptions.useFactory)
|
|
37
|
-
throw new Error('Invalid configuration. Must provide "useFactory"');
|
|
38
|
-
return this._getDynamicModule({
|
|
39
|
-
...moduleOptions,
|
|
40
|
-
providers: [
|
|
41
|
-
...(moduleOptions?.providers || []),
|
|
42
|
-
{
|
|
43
|
-
provide: constants_js_1.OPRA_KAFKA_MODULE_CONFIG,
|
|
44
|
-
inject: moduleOptions.inject,
|
|
45
|
-
useFactory: async (...args) => {
|
|
46
|
-
const result = await moduleOptions.useFactory(...args);
|
|
47
|
-
result.logger = result.logger || new common_1.Logger(result.name);
|
|
48
|
-
return result;
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
],
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
static _getDynamicModule(moduleOptions) {
|
|
55
|
-
const token = moduleOptions.id || kafka_1.KafkaAdapter;
|
|
56
|
-
const adapterProvider = {
|
|
57
|
-
provide: token,
|
|
58
|
-
inject: [nestjs_1.MQControllerFactory, core_1.ModuleRef, constants_js_1.OPRA_KAFKA_MODULE_CONFIG],
|
|
59
|
-
useFactory: async (controllerFactory, moduleRef, config) => {
|
|
60
|
-
const controllers = controllerFactory
|
|
61
|
-
.exploreControllers()
|
|
62
|
-
.map(x => x.wrapper.instance);
|
|
63
|
-
const document = await common_2.ApiDocumentFactory.createDocument({
|
|
64
|
-
info: config.info,
|
|
65
|
-
types: config.types,
|
|
66
|
-
references: config.references,
|
|
67
|
-
api: {
|
|
68
|
-
name: config.name,
|
|
69
|
-
description: config.description,
|
|
70
|
-
transport: 'mq',
|
|
71
|
-
platform: kafka_1.KafkaAdapter.PlatformName,
|
|
72
|
-
controllers,
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
const interceptors = moduleOptions.interceptors
|
|
76
|
-
? moduleOptions.interceptors.map(x => {
|
|
77
|
-
if ((0, objects_1.isConstructor)(x)) {
|
|
78
|
-
return async (ctx, next) => {
|
|
79
|
-
const interceptor = moduleRef.get(x);
|
|
80
|
-
if (typeof interceptor.intercept === 'function')
|
|
81
|
-
return interceptor.intercept(ctx, next);
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
return x;
|
|
85
|
-
})
|
|
86
|
-
: undefined;
|
|
87
|
-
return new kafka_1.KafkaAdapter(document, { ...config, interceptors });
|
|
88
|
-
},
|
|
89
|
-
};
|
|
90
|
-
return {
|
|
91
|
-
global: moduleOptions.global,
|
|
92
|
-
module: OpraKafkaCoreModule_1,
|
|
93
|
-
controllers: moduleOptions.controllers,
|
|
94
|
-
providers: [
|
|
95
|
-
...(moduleOptions?.providers || []),
|
|
96
|
-
nestjs_1.MQControllerFactory,
|
|
97
|
-
adapterProvider,
|
|
98
|
-
{
|
|
99
|
-
provide: opraKafkaNestjsAdapterToken,
|
|
100
|
-
useExisting: token,
|
|
101
|
-
},
|
|
102
|
-
],
|
|
103
|
-
imports: [...(moduleOptions?.imports || [])],
|
|
104
|
-
exports: [...(moduleOptions?.exports || []), adapterProvider],
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
onModuleInit() {
|
|
108
|
-
/** NestJS initialize controller instances on init stage.
|
|
109
|
-
* So we should update instance properties */
|
|
110
|
-
const mqApi = this.adapter.document.getMqApi();
|
|
111
|
-
const controllers = Array.from(mqApi.controllers.values());
|
|
112
|
-
for (const { wrapper } of this.controllerFactory
|
|
113
|
-
.exploreControllers()
|
|
114
|
-
.values()) {
|
|
115
|
-
const ctor = wrapper.instance.constructor;
|
|
116
|
-
const controller = controllers.find(x => x.ctor === ctor);
|
|
117
|
-
if (controller) {
|
|
118
|
-
controller.instance = wrapper.instance;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
async onApplicationBootstrap() {
|
|
123
|
-
await this.adapter.start();
|
|
124
|
-
}
|
|
125
|
-
async onApplicationShutdown() {
|
|
126
|
-
await this.adapter.close();
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
exports.OpraKafkaCoreModule = OpraKafkaCoreModule;
|
|
130
|
-
exports.OpraKafkaCoreModule = OpraKafkaCoreModule = OpraKafkaCoreModule_1 = tslib_1.__decorate([
|
|
131
|
-
(0, common_1.Module)({}),
|
|
132
|
-
(0, common_1.Global)(),
|
|
133
|
-
tslib_1.__param(1, (0, common_1.Inject)(opraKafkaNestjsAdapterToken)),
|
|
134
|
-
tslib_1.__param(2, (0, common_1.Inject)(constants_js_1.OPRA_KAFKA_MODULE_CONFIG)),
|
|
135
|
-
tslib_1.__metadata("design:paramtypes", [nestjs_1.MQControllerFactory,
|
|
136
|
-
kafka_1.KafkaAdapter, Object])
|
|
137
|
-
], OpraKafkaCoreModule);
|
package/cjs/opra-kafka.module.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var OpraKafkaModule_1;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.OpraKafkaModule = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const common_1 = require("@nestjs/common");
|
|
7
|
-
const opra_kafka_core_module_js_1 = require("./opra-kafka-core.module.js");
|
|
8
|
-
let OpraKafkaModule = OpraKafkaModule_1 = class OpraKafkaModule {
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @param options
|
|
12
|
-
*/
|
|
13
|
-
static forRoot(options) {
|
|
14
|
-
return {
|
|
15
|
-
module: OpraKafkaModule_1,
|
|
16
|
-
imports: [opra_kafka_core_module_js_1.OpraKafkaCoreModule.forRoot(options)],
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
*
|
|
21
|
-
* @param options
|
|
22
|
-
*/
|
|
23
|
-
static forRootAsync(options) {
|
|
24
|
-
return {
|
|
25
|
-
module: OpraKafkaModule_1,
|
|
26
|
-
imports: [opra_kafka_core_module_js_1.OpraKafkaCoreModule.forRootAsync(options)],
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
exports.OpraKafkaModule = OpraKafkaModule;
|
|
31
|
-
exports.OpraKafkaModule = OpraKafkaModule = OpraKafkaModule_1 = tslib_1.__decorate([
|
|
32
|
-
(0, common_1.Module)({})
|
|
33
|
-
], OpraKafkaModule);
|
package/cjs/package.json
DELETED
package/esm/package.json
DELETED
package/types/index.d.cts
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|