@rsdk/nats.common 5.4.0-next.3 → 5.4.0-next.4
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/CHANGELOG.md +6 -0
- package/dist/client/client.constants.d.ts +2 -0
- package/dist/client/client.constants.js +4 -1
- package/dist/client/client.constants.js.map +1 -1
- package/dist/client/client.decorators.d.ts +1 -0
- package/dist/client/client.decorators.js +5 -1
- package/dist/client/client.decorators.js.map +1 -1
- package/dist/client/client.module.d.ts +1 -1
- package/dist/client/client.module.js +11 -3
- package/dist/client/client.module.js.map +1 -1
- package/package.json +2 -2
- package/src/client/client.constants.ts +4 -0
- package/src/client/client.decorators.ts +9 -0
- package/src/client/client.module.ts +18 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.4.0-next.4](https://github.com/R-Vision/rsdk/compare/v5.4.0-next.3...v5.4.0-next.4) (2024-11-27)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* export kv/os injection token functions + inject nats config ([#308](https://github.com/R-Vision/rsdk/issues/308)) ([d12e88c](https://github.com/R-Vision/rsdk/commit/d12e88c86bc922df94a9784f29443d8938cc57db))
|
|
11
|
+
|
|
6
12
|
## [5.4.0-next.3](https://github.com/R-Vision/rsdk/compare/v5.4.0-next.2...v5.4.0-next.3) (2024-11-25)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @rsdk/nats.common
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare const NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE = "NATS_CLIENT_FOR_PACKAGE";
|
|
2
2
|
export declare const NATS_JET_STREAM_INJECTION_TOKEN_FOR_PACKAGE = "NATS_JET_STREAM_FOR_PACKAGE";
|
|
3
|
+
export declare const NATS_CONFIG_INJECTION_TOKEN: unique symbol;
|
|
3
4
|
export declare const NATS_CLIENT_INJECTION_TOKEN: unique symbol;
|
|
4
5
|
export declare const NATS_JETSTREAM_CLIENT_INJECTION_TOKEN: unique symbol;
|
|
6
|
+
export declare const createNatsConfigToken: (name: string) => string;
|
|
5
7
|
export declare const createNatsClientToken: (name: string) => string;
|
|
6
8
|
export declare const createNatsJetStreamToken: (name: string) => string;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createNatsJetStreamToken = exports.createNatsClientToken = exports.NATS_JETSTREAM_CLIENT_INJECTION_TOKEN = exports.NATS_CLIENT_INJECTION_TOKEN = exports.NATS_JET_STREAM_INJECTION_TOKEN_FOR_PACKAGE = exports.NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE = void 0;
|
|
3
|
+
exports.createNatsJetStreamToken = exports.createNatsClientToken = exports.createNatsConfigToken = exports.NATS_JETSTREAM_CLIENT_INJECTION_TOKEN = exports.NATS_CLIENT_INJECTION_TOKEN = exports.NATS_CONFIG_INJECTION_TOKEN = exports.NATS_JET_STREAM_INJECTION_TOKEN_FOR_PACKAGE = exports.NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE = void 0;
|
|
4
4
|
exports.NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE = 'NATS_CLIENT_FOR_PACKAGE';
|
|
5
5
|
exports.NATS_JET_STREAM_INJECTION_TOKEN_FOR_PACKAGE = 'NATS_JET_STREAM_FOR_PACKAGE';
|
|
6
|
+
exports.NATS_CONFIG_INJECTION_TOKEN = Symbol('NatsConfig');
|
|
6
7
|
exports.NATS_CLIENT_INJECTION_TOKEN = Symbol('NatsClient');
|
|
7
8
|
exports.NATS_JETSTREAM_CLIENT_INJECTION_TOKEN = Symbol('NatsJetStreamClient');
|
|
9
|
+
const createNatsConfigToken = (name) => `NATS_CONFIG_${name.toUpperCase()}`;
|
|
10
|
+
exports.createNatsConfigToken = createNatsConfigToken;
|
|
8
11
|
const createNatsClientToken = (name) => `NATS_CLIENT_${name.toUpperCase()}`;
|
|
9
12
|
exports.createNatsClientToken = createNatsClientToken;
|
|
10
13
|
const createNatsJetStreamToken = (name) => `NATS_JET_STREAM_${name.toUpperCase()}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.constants.js","sourceRoot":"","sources":["../../src/client/client.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uCAAuC,GAClD,yBAAyB,CAAC;AACf,QAAA,2CAA2C,GACtD,6BAA6B,CAAC;AAEnB,QAAA,2BAA2B,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACnD,QAAA,qCAAqC,GAAG,MAAM,CACzD,qBAAqB,CACtB,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5D,eAAe,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AADzB,QAAA,qBAAqB,yBACI;AAE/B,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAU,EAAE,CAC/D,mBAAmB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AAD7B,QAAA,wBAAwB,4BACK"}
|
|
1
|
+
{"version":3,"file":"client.constants.js","sourceRoot":"","sources":["../../src/client/client.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uCAAuC,GAClD,yBAAyB,CAAC;AACf,QAAA,2CAA2C,GACtD,6BAA6B,CAAC;AAEnB,QAAA,2BAA2B,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACnD,QAAA,2BAA2B,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACnD,QAAA,qCAAqC,GAAG,MAAM,CACzD,qBAAqB,CACtB,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5D,eAAe,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AADzB,QAAA,qBAAqB,yBACI;AAE/B,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5D,eAAe,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AADzB,QAAA,qBAAqB,yBACI;AAE/B,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAU,EAAE,CAC/D,mBAAmB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AAD7B,QAAA,wBAAwB,4BACK"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export declare const InjectNatsConfig: (connectionName?: string) => ParameterDecorator;
|
|
1
2
|
export declare const InjectNatsClient: (connectionName?: string) => ParameterDecorator;
|
|
2
3
|
export declare const InjectNatsJetStreamClient: (connectionName?: string) => ParameterDecorator;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InjectNatsJetStreamClient = exports.InjectNatsClient = void 0;
|
|
3
|
+
exports.InjectNatsJetStreamClient = exports.InjectNatsClient = exports.InjectNatsConfig = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const client_constants_1 = require("./client.constants");
|
|
6
|
+
const InjectNatsConfig = (connectionName) => (0, common_1.Inject)(connectionName
|
|
7
|
+
? (0, client_constants_1.createNatsConfigToken)(connectionName)
|
|
8
|
+
: client_constants_1.NATS_CONFIG_INJECTION_TOKEN);
|
|
9
|
+
exports.InjectNatsConfig = InjectNatsConfig;
|
|
6
10
|
const InjectNatsClient = (connectionName) => (0, common_1.Inject)(connectionName
|
|
7
11
|
? (0, client_constants_1.createNatsClientToken)(connectionName)
|
|
8
12
|
: client_constants_1.NATS_CLIENT_INJECTION_TOKEN);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.decorators.js","sourceRoot":"","sources":["../../src/client/client.decorators.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,
|
|
1
|
+
{"version":3,"file":"client.decorators.js","sourceRoot":"","sources":["../../src/client/client.decorators.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,yDAO4B;AAErB,MAAM,gBAAgB,GAAG,CAAC,cAAuB,EAAsB,EAAE,CAC9E,IAAA,eAAM,EACJ,cAAc;IACZ,CAAC,CAAC,IAAA,wCAAqB,EAAC,cAAc,CAAC;IACvC,CAAC,CAAC,8CAA2B,CAChC,CAAC;AALS,QAAA,gBAAgB,oBAKzB;AAEG,MAAM,gBAAgB,GAAG,CAAC,cAAuB,EAAsB,EAAE,CAC9E,IAAA,eAAM,EACJ,cAAc;IACZ,CAAC,CAAC,IAAA,wCAAqB,EAAC,cAAc,CAAC;IACvC,CAAC,CAAC,8CAA2B,CAChC,CAAC;AALS,QAAA,gBAAgB,oBAKzB;AAEG,MAAM,yBAAyB,GAAG,CACvC,cAAuB,EACH,EAAE,CACtB,IAAA,eAAM,EACJ,cAAc;IACZ,CAAC,CAAC,IAAA,2CAAwB,EAAC,cAAc,CAAC;IAC1C,CAAC,CAAC,wDAAqC,CAC1C,CAAC;AAPS,QAAA,yBAAyB,6BAOlC"}
|
|
@@ -4,6 +4,6 @@ import { DefaultNatsConfig } from './client.config';
|
|
|
4
4
|
export declare class NatsClientModule {
|
|
5
5
|
static forRoot(connections?: {
|
|
6
6
|
connectionName: string;
|
|
7
|
-
|
|
7
|
+
configConstructor: Constructor<DefaultNatsConfig>;
|
|
8
8
|
}[]): DynamicModule;
|
|
9
9
|
}
|
|
@@ -18,12 +18,20 @@ let NatsClientModule = NatsClientModule_1 = class NatsClientModule {
|
|
|
18
18
|
static forRoot(connections) {
|
|
19
19
|
const providers = [];
|
|
20
20
|
if (connections) {
|
|
21
|
-
for (const { connectionName,
|
|
22
|
-
providers.push((0, client_provider_1.createNatsProvider)(
|
|
21
|
+
for (const { connectionName, configConstructor } of connections) {
|
|
22
|
+
providers.push((0, client_provider_1.createNatsProvider)(configConstructor, (0, client_constants_1.createNatsClientToken)(connectionName)), (0, jetstream_client_provider_1.createNatsJetStreamProvider)((0, client_constants_1.createNatsClientToken)(connectionName), (0, client_constants_1.createNatsJetStreamToken)(connectionName)), {
|
|
23
|
+
provide: (0, client_constants_1.createNatsConfigToken)(connectionName),
|
|
24
|
+
inject: [configConstructor],
|
|
25
|
+
useFactory: (config) => config,
|
|
26
|
+
});
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
29
|
else {
|
|
26
|
-
providers.push((0, client_provider_1.createNatsProvider)(client_config_1.DefaultNatsConfig, client_constants_1.NATS_CLIENT_INJECTION_TOKEN), (0, jetstream_client_provider_1.createNatsJetStreamProvider)(client_constants_1.NATS_CLIENT_INJECTION_TOKEN, client_constants_1.NATS_JETSTREAM_CLIENT_INJECTION_TOKEN)
|
|
30
|
+
providers.push((0, client_provider_1.createNatsProvider)(client_config_1.DefaultNatsConfig, client_constants_1.NATS_CLIENT_INJECTION_TOKEN), (0, jetstream_client_provider_1.createNatsJetStreamProvider)(client_constants_1.NATS_CLIENT_INJECTION_TOKEN, client_constants_1.NATS_JETSTREAM_CLIENT_INJECTION_TOKEN), {
|
|
31
|
+
provide: client_constants_1.NATS_CONFIG_INJECTION_TOKEN,
|
|
32
|
+
inject: [client_config_1.DefaultNatsConfig],
|
|
33
|
+
useFactory: (config) => config,
|
|
34
|
+
});
|
|
27
35
|
}
|
|
28
36
|
return {
|
|
29
37
|
module: NatsClientModule_1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.module.js","sourceRoot":"","sources":["../../src/client/client.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAgD;AAGhD,mDAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"client.module.js","sourceRoot":"","sources":["../../src/client/client.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAgD;AAGhD,mDAAoD;AACpD,yDAO4B;AAC5B,uDAAuD;AACvD,2EAA0E;AAC1E,qDAAiD;AAO1C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,OAAO,CACZ,WAGG;QAEH,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,WAAW,EAAE,CAAC;gBAChE,SAAS,CAAC,IAAI,CACZ,IAAA,oCAAkB,EAChB,iBAAiB,EACjB,IAAA,wCAAqB,EAAC,cAAc,CAAC,CACtC,EACD,IAAA,uDAA2B,EACzB,IAAA,wCAAqB,EAAC,cAAc,CAAC,EACrC,IAAA,2CAAwB,EAAC,cAAc,CAAC,CACzC,EACD;oBACE,OAAO,EAAE,IAAA,wCAAqB,EAAC,cAAc,CAAC;oBAC9C,MAAM,EAAE,CAAC,iBAAiB,CAAC;oBAC3B,UAAU,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,MAAM;iBAClD,CACF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CACZ,IAAA,oCAAkB,EAAC,iCAAiB,EAAE,8CAA2B,CAAC,EAClE,IAAA,uDAA2B,EACzB,8CAA2B,EAC3B,wDAAqC,CACtC,EACD;gBACE,OAAO,EAAE,8CAA2B;gBACpC,MAAM,EAAE,CAAC,iCAAiB,CAAC;gBAC3B,UAAU,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,MAAM;aAClD,CACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,kBAAgB;YACxB,SAAS;YACT,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;CACF,CAAA;AAhDY,4CAAgB;2BAAhB,gBAAgB;IAL5B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,8BAAa,CAAC;QAC1B,OAAO,EAAE,CAAC,8BAAa,CAAC;KACzB,CAAC;GACW,gBAAgB,CAgD5B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/nats.common",
|
|
3
|
-
"version": "5.4.0-next.
|
|
3
|
+
"version": "5.4.0-next.4",
|
|
4
4
|
"description": "Common functionality for nats consumers and producers",
|
|
5
5
|
"license": "Apache License 2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -27,5 +27,5 @@
|
|
|
27
27
|
"lodash": "^4.17.21",
|
|
28
28
|
"protobufjs": "^7.2.3"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "6f7d6802d4dc34620f3c0e8c8ec73887df36a647"
|
|
31
31
|
}
|
|
@@ -3,11 +3,15 @@ export const NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE =
|
|
|
3
3
|
export const NATS_JET_STREAM_INJECTION_TOKEN_FOR_PACKAGE =
|
|
4
4
|
'NATS_JET_STREAM_FOR_PACKAGE';
|
|
5
5
|
|
|
6
|
+
export const NATS_CONFIG_INJECTION_TOKEN = Symbol('NatsConfig');
|
|
6
7
|
export const NATS_CLIENT_INJECTION_TOKEN = Symbol('NatsClient');
|
|
7
8
|
export const NATS_JETSTREAM_CLIENT_INJECTION_TOKEN = Symbol(
|
|
8
9
|
'NatsJetStreamClient',
|
|
9
10
|
);
|
|
10
11
|
|
|
12
|
+
export const createNatsConfigToken = (name: string): string =>
|
|
13
|
+
`NATS_CONFIG_${name.toUpperCase()}`;
|
|
14
|
+
|
|
11
15
|
export const createNatsClientToken = (name: string): string =>
|
|
12
16
|
`NATS_CLIENT_${name.toUpperCase()}`;
|
|
13
17
|
|
|
@@ -2,11 +2,20 @@ import { Inject } from '@nestjs/common';
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
createNatsClientToken,
|
|
5
|
+
createNatsConfigToken,
|
|
5
6
|
createNatsJetStreamToken,
|
|
6
7
|
NATS_CLIENT_INJECTION_TOKEN,
|
|
8
|
+
NATS_CONFIG_INJECTION_TOKEN,
|
|
7
9
|
NATS_JETSTREAM_CLIENT_INJECTION_TOKEN,
|
|
8
10
|
} from './client.constants';
|
|
9
11
|
|
|
12
|
+
export const InjectNatsConfig = (connectionName?: string): ParameterDecorator =>
|
|
13
|
+
Inject(
|
|
14
|
+
connectionName
|
|
15
|
+
? createNatsConfigToken(connectionName)
|
|
16
|
+
: NATS_CONFIG_INJECTION_TOKEN,
|
|
17
|
+
);
|
|
18
|
+
|
|
10
19
|
export const InjectNatsClient = (connectionName?: string): ParameterDecorator =>
|
|
11
20
|
Inject(
|
|
12
21
|
connectionName
|
|
@@ -5,8 +5,10 @@ import type { Constructor } from '@rsdk/common';
|
|
|
5
5
|
import { DefaultNatsConfig } from './client.config';
|
|
6
6
|
import {
|
|
7
7
|
createNatsClientToken,
|
|
8
|
+
createNatsConfigToken,
|
|
8
9
|
createNatsJetStreamToken,
|
|
9
10
|
NATS_CLIENT_INJECTION_TOKEN,
|
|
11
|
+
NATS_CONFIG_INJECTION_TOKEN,
|
|
10
12
|
NATS_JETSTREAM_CLIENT_INJECTION_TOKEN,
|
|
11
13
|
} from './client.constants';
|
|
12
14
|
import { createNatsProvider } from './client.provider';
|
|
@@ -22,19 +24,27 @@ export class NatsClientModule {
|
|
|
22
24
|
static forRoot(
|
|
23
25
|
connections?: {
|
|
24
26
|
connectionName: string;
|
|
25
|
-
|
|
27
|
+
configConstructor: Constructor<DefaultNatsConfig>;
|
|
26
28
|
}[],
|
|
27
29
|
): DynamicModule {
|
|
28
30
|
const providers: Provider[] = [];
|
|
29
31
|
|
|
30
32
|
if (connections) {
|
|
31
|
-
for (const { connectionName,
|
|
33
|
+
for (const { connectionName, configConstructor } of connections) {
|
|
32
34
|
providers.push(
|
|
33
|
-
createNatsProvider(
|
|
35
|
+
createNatsProvider(
|
|
36
|
+
configConstructor,
|
|
37
|
+
createNatsClientToken(connectionName),
|
|
38
|
+
),
|
|
34
39
|
createNatsJetStreamProvider(
|
|
35
40
|
createNatsClientToken(connectionName),
|
|
36
41
|
createNatsJetStreamToken(connectionName),
|
|
37
42
|
),
|
|
43
|
+
{
|
|
44
|
+
provide: createNatsConfigToken(connectionName),
|
|
45
|
+
inject: [configConstructor],
|
|
46
|
+
useFactory: (config: DefaultNatsConfig) => config,
|
|
47
|
+
},
|
|
38
48
|
);
|
|
39
49
|
}
|
|
40
50
|
} else {
|
|
@@ -44,6 +54,11 @@ export class NatsClientModule {
|
|
|
44
54
|
NATS_CLIENT_INJECTION_TOKEN,
|
|
45
55
|
NATS_JETSTREAM_CLIENT_INJECTION_TOKEN,
|
|
46
56
|
),
|
|
57
|
+
{
|
|
58
|
+
provide: NATS_CONFIG_INJECTION_TOKEN,
|
|
59
|
+
inject: [DefaultNatsConfig],
|
|
60
|
+
useFactory: (config: DefaultNatsConfig) => config,
|
|
61
|
+
},
|
|
47
62
|
);
|
|
48
63
|
}
|
|
49
64
|
|