@rsdk/nats.common 5.4.0 → 5.6.0-next.0
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 +0 -4
- package/dist/client/client.indicator.d.ts +8 -0
- package/dist/client/client.indicator.js +41 -0
- package/dist/client/client.indicator.js.map +1 -0
- package/dist/client/client.indicator.provider.d.ts +3 -0
- package/dist/client/client.indicator.provider.js +16 -0
- package/dist/client/client.indicator.provider.js.map +1 -0
- 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.indicator.provider.ts +22 -0
- package/src/client/client.indicator.ts +25 -0
- package/src/client/client.module.ts +12 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,10 +3,6 @@
|
|
|
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](https://github.com/R-Vision/rsdk/compare/v5.3.0...v5.4.0) (2024-12-15)
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @rsdk/nats.common
|
|
9
|
-
|
|
10
6
|
## [5.4.0-rc.0](https://github.com/R-Vision/rsdk/compare/v5.4.0-next.11...v5.4.0-rc.0) (2024-12-12)
|
|
11
7
|
|
|
12
8
|
**Note:** Version bump only for package @rsdk/nats.common
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HealthIndicator } from '@rsdk/core';
|
|
2
|
+
import { CheckResult } from '@rsdk/core';
|
|
3
|
+
import type { NatsConnection } from 'nats';
|
|
4
|
+
export declare class NatsClientIndicator implements HealthIndicator {
|
|
5
|
+
private readonly connection;
|
|
6
|
+
constructor(connection: NatsConnection);
|
|
7
|
+
check(): Promise<CheckResult>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __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
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.NatsClientIndicator = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const core_1 = require("@rsdk/core");
|
|
18
|
+
const client_constants_1 = require("./client.constants");
|
|
19
|
+
let NatsClientIndicator = class NatsClientIndicator {
|
|
20
|
+
connection;
|
|
21
|
+
constructor(connection) {
|
|
22
|
+
this.connection = connection;
|
|
23
|
+
}
|
|
24
|
+
async check() {
|
|
25
|
+
try {
|
|
26
|
+
const rtt = await this.connection.rtt();
|
|
27
|
+
return core_1.CheckResult.up({ rtt });
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return core_1.CheckResult.down({
|
|
31
|
+
error: error.message,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.NatsClientIndicator = NatsClientIndicator;
|
|
37
|
+
exports.NatsClientIndicator = NatsClientIndicator = __decorate([
|
|
38
|
+
__param(0, (0, common_1.Inject)(client_constants_1.NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE)),
|
|
39
|
+
__metadata("design:paramtypes", [Object])
|
|
40
|
+
], NatsClientIndicator);
|
|
41
|
+
//# sourceMappingURL=client.indicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.indicator.js","sourceRoot":"","sources":["../../src/client/client.indicator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwC;AAExC,qCAAyC;AAGzC,yDAA6E;AAE7E,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAGX;IAFnB,YAEmB,UAA0B;QAA1B,eAAU,GAAV,UAAU,CAAgB;IAC1C,CAAC;IAEJ,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YAExC,OAAO,kBAAW,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,kBAAW,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AAjBY,kDAAmB;8BAAnB,mBAAmB;IAE3B,WAAA,IAAA,eAAM,EAAC,0DAAuC,CAAC,CAAA;;GAFvC,mBAAmB,CAiB/B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNatsClientIndicatorProvider = void 0;
|
|
4
|
+
const core_1 = require("@rsdk/core");
|
|
5
|
+
const client_indicator_1 = require("./client.indicator");
|
|
6
|
+
const createNatsClientIndicatorProvider = (connectionName) => {
|
|
7
|
+
const DynamicNatsClientIndicator = class extends client_indicator_1.NatsClientIndicator {
|
|
8
|
+
constructor(connection) {
|
|
9
|
+
super(connection);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
(0, core_1.Indicator)(`nats_connection${connectionName ? `_${connectionName}` : ''}`)(DynamicNatsClientIndicator);
|
|
13
|
+
return DynamicNatsClientIndicator;
|
|
14
|
+
};
|
|
15
|
+
exports.createNatsClientIndicatorProvider = createNatsClientIndicatorProvider;
|
|
16
|
+
//# sourceMappingURL=client.indicator.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.indicator.provider.js","sourceRoot":"","sources":["../../src/client/client.indicator.provider.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AAGvC,yDAAyD;AAElD,MAAM,iCAAiC,GAAG,CAC/C,cAAuB,EACO,EAAE;IAChC,MAAM,0BAA0B,GAAG,KAAM,SAAQ,sCAAmB;QAClE,YAAY,UAA0B;YACpC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpB,CAAC;KACF,CAAC;IAEF,IAAA,gBAAS,EAAC,kBAAkB,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACvE,0BAA0B,CAC3B,CAAC;IAEF,OAAO,0BAA0B,CAAC;AACpC,CAAC,CAAC;AAdW,QAAA,iCAAiC,qCAc5C"}
|
|
@@ -11,6 +11,7 @@ exports.NatsClientModule = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const client_config_1 = require("./client.config");
|
|
13
13
|
const client_constants_1 = require("./client.constants");
|
|
14
|
+
const client_indicator_provider_1 = require("./client.indicator.provider");
|
|
14
15
|
const client_provider_1 = require("./client.provider");
|
|
15
16
|
const jetstream_client_provider_1 = require("./jetstream-client.provider");
|
|
16
17
|
const topics_service_1 = require("./topics.service");
|
|
@@ -25,7 +26,7 @@ let NatsClientModule = NatsClientModule_1 = class NatsClientModule {
|
|
|
25
26
|
natsClientToken = (0, client_constants_1.createNatsClientToken)(connectionName);
|
|
26
27
|
natsJetStreamToken = (0, client_constants_1.createNatsJetStreamToken)(connectionName);
|
|
27
28
|
}
|
|
28
|
-
const
|
|
29
|
+
const exportProviders = [
|
|
29
30
|
(0, client_provider_1.createNatsProvider)(configConstructor, natsClientToken),
|
|
30
31
|
(0, jetstream_client_provider_1.createNatsJetStreamProvider)(natsClientToken, natsJetStreamToken, jetstreamOptions),
|
|
31
32
|
{
|
|
@@ -37,8 +38,15 @@ let NatsClientModule = NatsClientModule_1 = class NatsClientModule {
|
|
|
37
38
|
return {
|
|
38
39
|
module: NatsClientModule_1,
|
|
39
40
|
global: true,
|
|
40
|
-
providers
|
|
41
|
-
|
|
41
|
+
providers: [
|
|
42
|
+
{
|
|
43
|
+
provide: client_constants_1.NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE,
|
|
44
|
+
useExisting: natsClientToken,
|
|
45
|
+
},
|
|
46
|
+
(0, client_indicator_provider_1.createNatsClientIndicatorProvider)(connectionName),
|
|
47
|
+
...exportProviders,
|
|
48
|
+
],
|
|
49
|
+
exports: exportProviders,
|
|
42
50
|
};
|
|
43
51
|
}
|
|
44
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.module.js","sourceRoot":"","sources":["../../src/client/client.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAgD;AAEhD,mDAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"client.module.js","sourceRoot":"","sources":["../../src/client/client.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAgD;AAEhD,mDAAoD;AACpD,yDAQ4B;AAC5B,2EAAgF;AAChF,uDAAuD;AACvD,2EAA0E;AAE1E,qDAAiD;AAO1C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,OAAO,CAAC,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACF;QACd,iBAAiB,GAAG,iBAAiB,IAAI,iCAAiB,CAAC;QAE3D,IAAI,eAAe,GAAoB,8CAA2B,CAAC;QACnE,IAAI,eAAe,GAAoB,8CAA2B,CAAC;QACnE,IAAI,kBAAkB,GACpB,wDAAqC,CAAC;QAExC,IAAI,cAAc,EAAE,CAAC;YACnB,eAAe,GAAG,IAAA,wCAAqB,EAAC,cAAc,CAAC,CAAC;YACxD,eAAe,GAAG,IAAA,wCAAqB,EAAC,cAAc,CAAC,CAAC;YACxD,kBAAkB,GAAG,IAAA,2CAAwB,EAAC,cAAc,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,eAAe,GAAe;YAClC,IAAA,oCAAkB,EAAC,iBAAiB,EAAE,eAAe,CAAC;YACtD,IAAA,uDAA2B,EACzB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,CACjB;YACD;gBACE,OAAO,EAAE,eAAe;gBACxB,MAAM,EAAE,CAAC,iBAAiB,CAAC;gBAC3B,UAAU,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,MAAM;aAClD;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,kBAAgB;YACxB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,0DAAuC;oBAChD,WAAW,EAAE,eAAe;iBAC7B;gBACD,IAAA,6DAAiC,EAAC,cAAc,CAAC;gBACjD,GAAG,eAAe;aACnB;YACD,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AA/CY,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,CA+C5B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/nats.common",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.6.0-next.0",
|
|
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": "cecf86b3768fdf74e8d02434379258126410bea5"
|
|
31
31
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Constructor } from '@rsdk/common';
|
|
2
|
+
import type { HealthIndicator } from '@rsdk/core';
|
|
3
|
+
import { Indicator } from '@rsdk/core';
|
|
4
|
+
import type { NatsConnection } from 'nats';
|
|
5
|
+
|
|
6
|
+
import { NatsClientIndicator } from './client.indicator';
|
|
7
|
+
|
|
8
|
+
export const createNatsClientIndicatorProvider = (
|
|
9
|
+
connectionName?: string,
|
|
10
|
+
): Constructor<HealthIndicator> => {
|
|
11
|
+
const DynamicNatsClientIndicator = class extends NatsClientIndicator {
|
|
12
|
+
constructor(connection: NatsConnection) {
|
|
13
|
+
super(connection);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
Indicator(`nats_connection${connectionName ? `_${connectionName}` : ''}`)(
|
|
18
|
+
DynamicNatsClientIndicator,
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
return DynamicNatsClientIndicator;
|
|
22
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Inject } from '@nestjs/common';
|
|
2
|
+
import type { HealthIndicator } from '@rsdk/core';
|
|
3
|
+
import { CheckResult } from '@rsdk/core';
|
|
4
|
+
import type { NatsConnection } from 'nats';
|
|
5
|
+
|
|
6
|
+
import { NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE } from './client.constants';
|
|
7
|
+
|
|
8
|
+
export class NatsClientIndicator implements HealthIndicator {
|
|
9
|
+
constructor(
|
|
10
|
+
@Inject(NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE)
|
|
11
|
+
private readonly connection: NatsConnection,
|
|
12
|
+
) {}
|
|
13
|
+
|
|
14
|
+
async check(): Promise<CheckResult> {
|
|
15
|
+
try {
|
|
16
|
+
const rtt = await this.connection.rtt();
|
|
17
|
+
|
|
18
|
+
return CheckResult.up({ rtt });
|
|
19
|
+
} catch (error: unknown) {
|
|
20
|
+
return CheckResult.down({
|
|
21
|
+
error: (error as Error).message,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -7,9 +7,11 @@ import {
|
|
|
7
7
|
createNatsConfigToken,
|
|
8
8
|
createNatsJetStreamToken,
|
|
9
9
|
NATS_CLIENT_INJECTION_TOKEN,
|
|
10
|
+
NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE,
|
|
10
11
|
NATS_CONFIG_INJECTION_TOKEN,
|
|
11
12
|
NATS_JETSTREAM_CLIENT_INJECTION_TOKEN,
|
|
12
13
|
} from './client.constants';
|
|
14
|
+
import { createNatsClientIndicatorProvider } from './client.indicator.provider';
|
|
13
15
|
import { createNatsProvider } from './client.provider';
|
|
14
16
|
import { createNatsJetStreamProvider } from './jetstream-client.provider';
|
|
15
17
|
import type { ModuleOptions } from './module-options.interface';
|
|
@@ -39,7 +41,7 @@ export class NatsClientModule {
|
|
|
39
41
|
natsJetStreamToken = createNatsJetStreamToken(connectionName);
|
|
40
42
|
}
|
|
41
43
|
|
|
42
|
-
const
|
|
44
|
+
const exportProviders: Provider[] = [
|
|
43
45
|
createNatsProvider(configConstructor, natsClientToken),
|
|
44
46
|
createNatsJetStreamProvider(
|
|
45
47
|
natsClientToken,
|
|
@@ -56,8 +58,15 @@ export class NatsClientModule {
|
|
|
56
58
|
return {
|
|
57
59
|
module: NatsClientModule,
|
|
58
60
|
global: true,
|
|
59
|
-
providers
|
|
60
|
-
|
|
61
|
+
providers: [
|
|
62
|
+
{
|
|
63
|
+
provide: NATS_CLIENT_INJECTION_TOKEN_FOR_PACKAGE,
|
|
64
|
+
useExisting: natsClientToken,
|
|
65
|
+
},
|
|
66
|
+
createNatsClientIndicatorProvider(connectionName),
|
|
67
|
+
...exportProviders,
|
|
68
|
+
],
|
|
69
|
+
exports: exportProviders,
|
|
61
70
|
};
|
|
62
71
|
}
|
|
63
72
|
}
|