@rsdk/grpc.clients 3.0.2 → 3.1.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/middleware/exception-mapper.middleware.js +4 -25
  3. package/dist/middleware/exception-mapper.middleware.js.map +1 -1
  4. package/package.json +9 -9
  5. package/src/middleware/exception-mapper.middleware.ts +6 -29
  6. package/dist/clients.module.d.ts +0 -15
  7. package/dist/clients.module.js +0 -102
  8. package/dist/clients.module.js.map +0 -1
  9. package/dist/grpc-client-key-map.generator.d.ts +0 -5
  10. package/dist/grpc-client-key-map.generator.js +0 -32
  11. package/dist/grpc-client-key-map.generator.js.map +0 -1
  12. package/dist/grpc-client.plugin.d.ts +0 -10
  13. package/dist/grpc-client.plugin.js +0 -27
  14. package/dist/grpc-client.plugin.js.map +0 -1
  15. package/dist/grpc-clients.plugin.d.ts +0 -5
  16. package/dist/grpc-clients.plugin.js +0 -10
  17. package/dist/grpc-clients.plugin.js.map +0 -1
  18. package/dist/grpc-storage.module.d.ts +0 -12
  19. package/dist/grpc-storage.module.js +0 -33
  20. package/dist/grpc-storage.module.js.map +0 -1
  21. package/dist/grpc.servers.d.ts +0 -5
  22. package/dist/grpc.servers.js +0 -32
  23. package/dist/grpc.servers.js.map +0 -1
  24. package/dist/grpcClientInstanceMetadataValue.d.ts +0 -5
  25. package/dist/grpcClientInstanceMetadataValue.js +0 -3
  26. package/dist/grpcClientInstanceMetadataValue.js.map +0 -1
  27. package/dist/inject-client-factory.decorator.d.ts +0 -16
  28. package/dist/inject-client-factory.decorator.js +0 -19
  29. package/dist/inject-client-factory.decorator.js.map +0 -1
  30. package/dist/inject-client.decorator.d.ts +0 -11
  31. package/dist/inject-client.decorator.js +0 -20
  32. package/dist/inject-client.decorator.js.map +0 -1
  33. package/dist/middleware/rich-error.middlewate.d.ts +0 -2
  34. package/dist/middleware/rich-error.middlewate.js +0 -48
  35. package/dist/middleware/rich-error.middlewate.js.map +0 -1
  36. package/dist/storage/grpc-client.storage.d.ts +0 -18
  37. package/dist/storage/grpc-client.storage.js +0 -39
  38. package/dist/storage/grpc-client.storage.js.map +0 -1
  39. package/dist/storage/grpc-storage.module.d.ts +0 -6
  40. package/dist/storage/grpc-storage.module.js +0 -25
  41. package/dist/storage/grpc-storage.module.js.map +0 -1
  42. package/dist/storage/grpc.storage.d.ts +0 -11
  43. package/dist/storage/grpc.storage.js +0 -16
  44. package/dist/storage/grpc.storage.js.map +0 -1
  45. package/dist/tsconfig.tsbuildinfo +0 -1
  46. package/dist/types.d.ts +0 -26
  47. package/dist/types.js +0 -3
  48. package/dist/types.js.map +0 -1
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
+ ## [3.1.0-next.0](https://github.com/R-Vision/rsdk/compare/v3.0.2...v3.1.0-next.0) (2023-08-08)
7
+
8
+ ### Features
9
+
10
+ * added exception code to payload ([#92](https://github.com/R-Vision/rsdk/issues/92)) ([6a9565b](https://github.com/R-Vision/rsdk/commit/6a9565b23746122676abb1f5166f9ef8b181864b))
11
+
6
12
  ## [3.0.2](https://github.com/R-Vision/rsdk/compare/v3.0.1...v3.0.2) (2023-08-07)
7
13
 
8
14
  **Note:** Version bump only for package @rsdk/grpc.clients
@@ -33,32 +33,11 @@ async function* (call, options) {
33
33
  cause: error,
34
34
  });
35
35
  }
36
- const message = 'GRPC Call failed!';
36
+ const message = status?.message ?? error.details ?? 'GRPC Call failed!';
37
37
  const props = {
38
- details: {
39
- /*
40
- * Details - will be original message from server,
41
- * while message field will be a composite string with
42
- * status path and original message in one line
43
- */
44
- message: error.details,
45
- /**
46
- * GRPC-package and method
47
- */
48
- path: error.path,
49
- /**
50
- * A developer-facing error message, which should be in English. Any
51
- * user-facing error message should be localized and sent in the
52
- * [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
53
- *
54
- * https://github.com/deeplay-io/nice-grpc/blob/f0db4d130e1243db1cecb6586dca679e5d9b8fd5/packages/nice-grpc-error-details/proto/google/rpc/status.proto#L39
55
- */
56
- statusMessage: status?.message,
57
- /**
58
- * any context from call
59
- */
60
- details: status?.details,
61
- },
38
+ details: status?.details,
39
+ code: status?.exceptionCode,
40
+ cause: error,
62
41
  };
63
42
  /**
64
43
  * According to /docs/images/exceptions.mapping.png
@@ -1 +1 @@
1
- {"version":3,"file":"exception-mapper.middleware.js","sourceRoot":"","sources":["../../src/middleware/exception-mapper.middleware.ts"],"names":[],"mappings":";;;AAAA,2EAAyE;AACzE,qCASoB;AACpB,yCAAkE;AAGlE;;GAEG;AACI,MAAM,yBAAyB,GAAG,GAAqB,EAAE;AAC9D,+DAA+D;AAC/D,KAAK,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO;IAC5B,IAAI,MAA0B,CAAC;IAE/B,IAAI;QACF,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACpC,GAAG,OAAO;YACV;;;eAGG;YACH,SAAS,CAAC,OAAO;gBACf,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAE7D,IAAI,aAAa,IAAI,IAAI,EAAE;oBACzB,MAAM,GAAG,cAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;iBACvC;gBAED,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;KACJ;IAAC,OAAO,KAAc,EAAE;QACvB,IAAI,CAAC,CAAC,KAAK,YAAY,uBAAW,CAAC,EAAE;YACnC,MAAM,IAAI,wBAAiB,CAAC,qCAAqC,EAAE;gBACjE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;SACJ;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC;QACpC,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE;gBACP;;;;mBAIG;gBACH,OAAO,EAAE,KAAK,CAAC,OAAO;gBAEtB;;mBAEG;gBACH,IAAI,EAAE,KAAK,CAAC,IAAI;gBAEhB;;;;;;mBAMG;gBACH,aAAa,EAAE,MAAM,EAAE,OAAO;gBAE9B;;mBAEG;gBACH,OAAO,EAAE,MAAM,EAAE,OAAO;aACzB;SACF,CAAC;QAEF;;WAEG;QAEH,qDAAqD;QACrD,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,kBAAc,CAAC,iBAAiB;gBACnC,MAAM,IAAI,uBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7C,KAAK,kBAAc,CAAC,gBAAgB;gBAClC,MAAM,IAAI,qBAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,KAAK,kBAAc,CAAC,cAAc;gBAChC,MAAM,IAAI,+BAAwB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,KAAK,kBAAc,CAAC,mBAAmB;gBACrC,MAAM,IAAI,wBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,kBAAc,CAAC,eAAe;gBACjC,MAAM,IAAI,oBAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1C,KAAK,kBAAc,CAAC,iBAAiB;gBACnC,MAAM,IAAI,0BAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChD,KAAK,kBAAc,CAAC,SAAS;gBAC3B,MAAM,IAAI,wBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9C;gBACE,MAAM,IAAI,wBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC/C;KACF;AACH,CAAC,CAAC;AApFS,QAAA,yBAAyB,6BAoFlC"}
1
+ {"version":3,"file":"exception-mapper.middleware.js","sourceRoot":"","sources":["../../src/middleware/exception-mapper.middleware.ts"],"names":[],"mappings":";;;AAAA,2EAAyE;AAEzE,qCASoB;AACpB,yCAAkE;AAGlE;;GAEG;AACI,MAAM,yBAAyB,GAAG,GAAqB,EAAE;AAC9D,+DAA+D;AAC/D,KAAK,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO;IAC5B,IAAI,MAA0B,CAAC;IAE/B,IAAI;QACF,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACpC,GAAG,OAAO;YACV;;;eAGG;YACH,SAAS,CAAC,OAAO;gBACf,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAE7D,IAAI,aAAa,IAAI,IAAI,EAAE;oBACzB,MAAM,GAAG,cAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;iBACvC;gBAED,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;KACJ;IAAC,OAAO,KAAc,EAAE;QACvB,IAAI,CAAC,CAAC,KAAK,YAAY,uBAAW,CAAC,EAAE;YACnC,MAAM,IAAI,wBAAiB,CAAC,qCAAqC,EAAE;gBACjE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;SACJ;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,mBAAmB,CAAC;QACxE,MAAM,KAAK,GAAoB;YAC7B,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,IAAI,EAAE,MAAM,EAAE,aAAa;YAC3B,KAAK,EAAE,KAAK;SACb,CAAC;QAEF;;WAEG;QAEH,qDAAqD;QACrD,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,kBAAc,CAAC,iBAAiB;gBACnC,MAAM,IAAI,uBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7C,KAAK,kBAAc,CAAC,gBAAgB;gBAClC,MAAM,IAAI,qBAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,KAAK,kBAAc,CAAC,cAAc;gBAChC,MAAM,IAAI,+BAAwB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,KAAK,kBAAc,CAAC,mBAAmB;gBACrC,MAAM,IAAI,wBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,kBAAc,CAAC,eAAe;gBACjC,MAAM,IAAI,oBAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1C,KAAK,kBAAc,CAAC,iBAAiB;gBACnC,MAAM,IAAI,0BAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChD,KAAK,kBAAc,CAAC,SAAS;gBAC3B,MAAM,IAAI,wBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9C;gBACE,MAAM,IAAI,wBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC/C;KACF;AACH,CAAC,CAAC;AA5DS,QAAA,yBAAyB,6BA4DlC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/grpc.clients",
3
- "version": "3.0.2",
3
+ "version": "3.1.0-next.0",
4
4
  "description": "Grpc clients infrastructure",
5
5
  "license": "Apache License 2.0",
6
6
  "publishConfig": {
@@ -17,16 +17,16 @@
17
17
  "@grpc/grpc-js": "^1.8.7",
18
18
  "@nestjs/common": "^10.1.3",
19
19
  "@nestjs/microservices": "^10.1.3",
20
- "@rsdk/autodoc.protocol": "^3.0.2",
21
- "@rsdk/builtin-contract": "^3.0.2",
22
- "@rsdk/common": "^3.0.2",
23
- "@rsdk/core": "^3.0.2",
24
- "@rsdk/grpc.common": "^3.0.2",
25
- "@rsdk/logging": "^3.0.2",
26
- "@rsdk/metadata": "^3.0.2",
20
+ "@rsdk/autodoc.protocol": "^3.1.0-next.0",
21
+ "@rsdk/builtin-contract": "^3.1.0-next.0",
22
+ "@rsdk/common": "^3.1.0-next.0",
23
+ "@rsdk/core": "^3.1.0-next.0",
24
+ "@rsdk/grpc.common": "^3.1.0-next.0",
25
+ "@rsdk/logging": "^3.1.0-next.0",
26
+ "@rsdk/metadata": "^3.1.0-next.0",
27
27
  "nice-grpc": "^2.1.4",
28
28
  "nice-grpc-opentelemetry": "^0.1.2",
29
29
  "rxjs": "^7.0.0"
30
30
  },
31
- "gitHead": "3ee33710bf18bfadf87a6da92b060e6a17481110"
31
+ "gitHead": "55598931db264fb6d5b5c4787c48298ed86bbc0d"
32
32
  }
@@ -1,4 +1,5 @@
1
1
  import { Status } from '@rsdk/builtin-contract/dist/grpc/error/v1/error';
2
+ import type { ExceptionsProps } from '@rsdk/core';
2
3
  import {
3
4
  AuthException,
4
5
  ConflictException,
@@ -44,35 +45,11 @@ export const exceptionMapperMiddleware = (): ClientMiddleware =>
44
45
  });
45
46
  }
46
47
 
47
- const message = 'GRPC Call failed!';
48
- const props = {
49
- details: {
50
- /*
51
- * Details - will be original message from server,
52
- * while message field will be a composite string with
53
- * status path and original message in one line
54
- */
55
- message: error.details,
56
-
57
- /**
58
- * GRPC-package and method
59
- */
60
- path: error.path,
61
-
62
- /**
63
- * A developer-facing error message, which should be in English. Any
64
- * user-facing error message should be localized and sent in the
65
- * [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
66
- *
67
- * https://github.com/deeplay-io/nice-grpc/blob/f0db4d130e1243db1cecb6586dca679e5d9b8fd5/packages/nice-grpc-error-details/proto/google/rpc/status.proto#L39
68
- */
69
- statusMessage: status?.message,
70
-
71
- /**
72
- * any context from call
73
- */
74
- details: status?.details,
75
- },
48
+ const message = status?.message ?? error.details ?? 'GRPC Call failed!';
49
+ const props: ExceptionsProps = {
50
+ details: status?.details,
51
+ code: status?.exceptionCode,
52
+ cause: error,
76
53
  };
77
54
 
78
55
  /**
@@ -1,15 +0,0 @@
1
- import type { DynamicModule } from '@nestjs/common';
2
- import type { CompatServiceDefinition } from 'nice-grpc/lib/service-definitions';
3
- export declare class GrpcClientsModule1 {
4
- private static logger;
5
- private static factory;
6
- /**
7
- * Adds grpc client to module's scope. Is nesessary to make the
8
- * client available in DI.
9
- * @param serverName Name of the grpc server.
10
- * @param definition grpc-service definitions (from generated code)
11
- * @returns ParameterDecorator
12
- */
13
- static forInstance(serverName: string, definition: CompatServiceDefinition): DynamicModule;
14
- static forFactory(definition: CompatServiceDefinition): DynamicModule;
15
- }
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GrpcClientsModule1 = void 0;
4
- const autodoc_protocol_1 = require("@rsdk/autodoc.protocol");
5
- const core_1 = require("@rsdk/core");
6
- const grpc_common_1 = require("@rsdk/grpc-common");
7
- const logging_1 = require("@rsdk/logging");
8
- const metadata_1 = require("@rsdk/metadata");
9
- const nice_grpc_1 = require("nice-grpc");
10
- const nice_grpc_opentelemetry_1 = require("nice-grpc-opentelemetry");
11
- const constants_1 = require("./metadata/constants");
12
- const grpc_clients_autodoc_resolver_1 = require("./metadata/grpc-clients.autodoc-resolver");
13
- const grpc_client_storage_1 = require("./storage/grpc-client.storage");
14
- const grpc_storage_module_1 = require("./storage/grpc-storage.module");
15
- const token_factories_1 = require("./token.factories");
16
- const cached = (cache, fn) => {
17
- return (key) => {
18
- if (cache.has(key)) {
19
- return cache.get(key);
20
- }
21
- const result = fn();
22
- cache.set(key, result);
23
- return result;
24
- };
25
- };
26
- class GrpcClientsModule1 {
27
- static logger = logging_1.LoggerFactory.create(GrpcClientsModule1);
28
- static factory = (0, nice_grpc_1.createClientFactory)().use((0, nice_grpc_opentelemetry_1.openTelemetryClientMiddleware)());
29
- /**
30
- * Adds grpc client to module's scope. Is nesessary to make the
31
- * client available in DI.
32
- * @param serverName Name of the grpc server.
33
- * @param definition grpc-service definitions (from generated code)
34
- * @returns ParameterDecorator
35
- */
36
- static forInstance(serverName, definition) {
37
- const CONFIG_PROPERTY_ALIAS = (0, token_factories_1.getPropertyKey)(serverName);
38
- const propertyToken = (0, core_1.getPropertyToken)(CONFIG_PROPERTY_ALIAS);
39
- const clientToken = (0, token_factories_1.getClientToken)(definition);
40
- const channelToken = (0, token_factories_1.getChannelToken)(serverName);
41
- const channelProvider = {
42
- provide: channelToken,
43
- inject: [propertyToken, grpc_client_storage_1.GrpcClientStorage],
44
- useFactory: (address, grpc) => {
45
- const channels = grpc.channels;
46
- return cached(channels, () => {
47
- this.logger.info(`Creating channel for ${serverName} (${address})...`);
48
- return (0, nice_grpc_1.createChannel)(address);
49
- })(channelToken);
50
- },
51
- };
52
- const clientProvider = {
53
- provide: clientToken,
54
- inject: [channelToken, grpc_client_storage_1.GrpcClientStorage],
55
- useFactory: (channel, grpc) => {
56
- return cached(grpc.clients, () => {
57
- this.logger.info(`Creating client for ${definition.fullName.toString()} on (${channel.getTarget()})...`);
58
- return this.factory.create(definition, channel);
59
- })(clientToken);
60
- },
61
- };
62
- const moduleDefinition = {
63
- imports: [
64
- core_1.PlatformConfigModule.forProperty(CONFIG_PROPERTY_ALIAS),
65
- grpc_storage_module_1.GrpcStorageModule,
66
- ],
67
- module: GrpcClientsModule1,
68
- providers: [channelProvider, clientProvider],
69
- exports: [clientProvider],
70
- };
71
- const key = (0, token_factories_1.getPropertyKey)(serverName);
72
- core_1.ConfigMetadataRegistry.registerProperty(moduleDefinition, key, {
73
- key: key,
74
- parser: new grpc_common_1.GrpcAddressParser(),
75
- description: `${serverName.toString()} service host`,
76
- expectedInEnv: false,
77
- });
78
- metadata_1.RsdkMetadata.add(moduleDefinition, {
79
- serverName,
80
- definition,
81
- }, constants_1.GRPC_CLIENTS_RSDK_METADATA_SCOPE);
82
- autodoc_protocol_1.AutodocMetadata.defineResolver(moduleDefinition, constants_1.GRPC_CLIENTS_RSDK_METADATA_SCOPE, grpc_clients_autodoc_resolver_1.grpcClientAutodocResolver);
83
- return moduleDefinition;
84
- }
85
- static forFactory(definition) {
86
- const provider = {
87
- provide: (0, token_factories_1.getFactoryToken)(definition),
88
- useFactory: () => ({
89
- create(address) {
90
- return GrpcClientsModule1.factory.create(definition, (0, nice_grpc_1.createChannel)(address));
91
- },
92
- }),
93
- };
94
- return {
95
- module: GrpcClientsModule1,
96
- providers: [provider],
97
- exports: [provider],
98
- };
99
- }
100
- }
101
- exports.GrpcClientsModule1 = GrpcClientsModule1;
102
- //# sourceMappingURL=clients.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clients.module.js","sourceRoot":"","sources":["../src/clients.module.ts"],"names":[],"mappings":";;;AACA,6DAAyD;AACzD,qCAIoB;AACpB,mDAAsD;AACtD,2CAA8C;AAC9C,6CAA8C;AAE9C,yCAA+D;AAE/D,qEAAwE;AAExE,oDAAwE;AACxE,4FAAqF;AACrF,uEAAkE;AAClE,uEAAkE;AAElE,uDAK2B;AAM3B,MAAM,MAAM,GAAG,CAAI,KAAe,EAAE,EAAS,EAAwB,EAAE;IACrE,OAAO,CAAC,GAAW,EAAE,EAAE;QACrB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;SAC5B;QAED,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;QAEpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEvB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAa,kBAAkB;IACrB,MAAM,CAAC,MAAM,GAAG,uBAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,CAAC,OAAO,GAAkB,IAAA,+BAAmB,GAAE,CAAC,GAAG,CAC/D,IAAA,uDAA6B,GAAE,CAChC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAChB,UAAkB,EAClB,UAAmC;QAEnC,MAAM,qBAAqB,GAAG,IAAA,gCAAc,EAAC,UAAU,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAA,uBAAgB,EAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAA,gCAAc,EAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,UAAU,CAAC,CAAC;QAEjD,MAAM,eAAe,GAAoB;YACvC,OAAO,EAAE,YAAY;YAErB,MAAM,EAAE,CAAC,aAAa,EAAE,uCAAiB,CAAC;YAC1C,UAAU,EAAE,CAAC,OAAe,EAAE,IAAuB,EAAE,EAAE;gBACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAE/B,OAAO,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wBAAwB,UAAU,KAAK,OAAO,MAAM,CACrD,CAAC;oBAEF,OAAO,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACnB,CAAC;SACF,CAAC;QAEF,MAAM,cAAc,GAAoB;YACtC,OAAO,EAAE,WAAW;YAEpB,MAAM,EAAE,CAAC,YAAY,EAAE,uCAAiB,CAAC;YACzC,UAAU,EAAE,CAAC,OAAgB,EAAE,IAAuB,EAAE,EAAE;gBACxD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uBAAuB,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,OAAO,CAAC,SAAS,EAAE,MAAM,CACvF,CAAC;oBAEF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAClB,CAAC;SACF,CAAC;QAEF,MAAM,gBAAgB,GAAG;YACvB,OAAO,EAAE;gBACP,2BAAoB,CAAC,WAAW,CAAC,qBAAqB,CAAC;gBACvD,uCAAiB;aAClB;YACD,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;YAC5C,OAAO,EAAE,CAAC,cAAc,CAAC;SAC1B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,gCAAc,EAAC,UAAU,CAAC,CAAC;QAEvC,6BAAsB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC7D,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,IAAI,+BAAiB,EAAE;YAC/B,WAAW,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,eAAe;YACpD,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,uBAAY,CAAC,GAAG,CACd,gBAAgB,EAChB;YACE,UAAU;YACV,UAAU;SACX,EACD,4CAAgC,CACjC,CAAC;QAEF,kCAAe,CAAC,cAAc,CAC5B,gBAAgB,EAChB,4CAAgC,EAChC,yDAAyB,CAC1B,CAAC;QAEF,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,UAAmC;QACnD,MAAM,QAAQ,GAA6C;YACzD,OAAO,EAAE,IAAA,iCAAe,EAAC,UAAU,CAAC;YACpC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAe;oBACpB,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,CACtC,UAAU,EACV,IAAA,yBAAa,EAAC,OAAO,CAAC,CACvB,CAAC;gBACJ,CAAC;aACF,CAAC;SACH,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE,CAAC,QAAQ,CAAC;YAErB,OAAO,EAAE,CAAC,QAAQ,CAAC;SACpB,CAAC;IACJ,CAAC;;AA9GU,gDAAkB"}
@@ -1,5 +0,0 @@
1
- import type { KeyDeclaration, KeyDefinition, KeyMap } from './types';
2
- export declare class GrpcClientKeyMapGenerator {
3
- static createFromDeclaration<TKeyDeclaration extends KeyDeclaration>(declaration: TKeyDeclaration): KeyMap<TKeyDeclaration>;
4
- static extractDefinition<TKeyDeclaration extends KeyDeclaration, TKeyMap extends KeyMap<TKeyDeclaration> = KeyMap<TKeyDeclaration>>(keyMap: TKeyMap): KeyDefinition[];
5
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GrpcClientKeyMapGenerator = void 0;
4
- class GrpcClientKeyMapGenerator {
5
- static createFromDeclaration(declaration) {
6
- const map1 = Object.entries(declaration).map(([serverName, serviceMap]) => {
7
- const map = Object.entries(serviceMap).map(([serviceName, definition]) => {
8
- return [
9
- serviceName,
10
- {
11
- serverName,
12
- serviceName,
13
- definition,
14
- },
15
- ];
16
- });
17
- return [serverName, Object.fromEntries(map)];
18
- });
19
- return Object.fromEntries(map1);
20
- }
21
- static extractDefinition(keyMap) {
22
- const definitions = [];
23
- for (const serviceMap of Object.values(keyMap)) {
24
- for (const value of Object.values(serviceMap)) {
25
- definitions.push(value);
26
- }
27
- }
28
- return definitions;
29
- }
30
- }
31
- exports.GrpcClientKeyMapGenerator = GrpcClientKeyMapGenerator;
32
- //# sourceMappingURL=grpc-client-key-map.generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc-client-key-map.generator.js","sourceRoot":"","sources":["../src/grpc-client-key-map.generator.ts"],"names":[],"mappings":";;;AAEA,MAAa,yBAAyB;IACpC,MAAM,CAAC,qBAAqB,CAC1B,WAA4B;QAE5B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CACxC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE;gBAC5B,OAAO;oBACL,WAAW;oBACX;wBACE,UAAU;wBACV,WAAW;wBACX,UAAU;qBACX;iBACF,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAGtB,MAAe;QACf,MAAM,WAAW,GAAoB,EAAE,CAAC;QAExC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC7C,WAAW,CAAC,IAAI,CAAC,KAAsB,CAAC,CAAC;aAC1C;SACF;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AArCD,8DAqCC"}
@@ -1,10 +0,0 @@
1
- import type { DynamicModule } from '@nestjs/common';
2
- import type { Constructor } from '@rsdk/common';
3
- import type { AppropriateTransports, PlatformAppPlugin } from '@rsdk/core';
4
- import type { GrpcServerDeclaration, GrpcServerMap } from './servers/types';
5
- export declare class GrpcClientPlugin<T extends GrpcServerDeclaration> implements PlatformAppPlugin {
6
- readonly keyMap: GrpcServerMap<T>;
7
- constructor(keyMap: GrpcServerMap<T>);
8
- forTransports(): AppropriateTransports;
9
- modules(): (Constructor | DynamicModule)[];
10
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GrpcClientPlugin = void 0;
4
- const grpc_servers_1 = require("./servers/grpc.servers");
5
- class GrpcClientPlugin {
6
- keyMap;
7
- constructor(keyMap) {
8
- this.keyMap = keyMap;
9
- }
10
- forTransports() {
11
- return 'any';
12
- }
13
- modules() {
14
- const grpcDefinition = grpc_servers_1.GrpcServers.extractDefinition(this.keyMap);
15
- return [
16
- // {
17
- // global: true,
18
- // module: GrpcClientPlugin,
19
- // imports: grpcDefinition.map(({ definition, serverName }) =>
20
- // this.createModuleDefinition(serverName, definition),
21
- // ),
22
- // },
23
- ];
24
- }
25
- }
26
- exports.GrpcClientPlugin = GrpcClientPlugin;
27
- //# sourceMappingURL=grpc-client.plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc-client.plugin.js","sourceRoot":"","sources":["../src/grpc-client.plugin.ts"],"names":[],"mappings":";;;AAkBA,yDAAqD;AAYrD,MAAa,gBAAgB;IAGN;IAArB,YAAqB,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEjD,aAAa;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO;QACL,MAAM,cAAc,GAAG,0BAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElE,OAAO;QACL,IAAI;QACJ,kBAAkB;QAClB,8BAA8B;QAC9B,gEAAgE;QAChE,2DAA2D;QAC3D,OAAO;QACP,KAAK;SACN,CAAC;IACJ,CAAC;CACF;AAtBD,4CAsBC"}
@@ -1,5 +0,0 @@
1
- import type { NestModuleDefinition } from '@rsdk/common';
2
- import type { PlatformAppPlugin } from '@rsdk/core';
3
- export declare class GrpcClientsPlugin implements PlatformAppPlugin {
4
- modules(): Promise<NestModuleDefinition[]>;
5
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GrpcClientsPlugin = void 0;
4
- class GrpcClientsPlugin {
5
- async modules() {
6
- return [];
7
- }
8
- }
9
- exports.GrpcClientsPlugin = GrpcClientsPlugin;
10
- //# sourceMappingURL=grpc-clients.plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc-clients.plugin.js","sourceRoot":"","sources":["../src/grpc-clients.plugin.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAC5B,KAAK,CAAC,OAAO;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAJD,8CAIC"}
@@ -1,12 +0,0 @@
1
- import type { Channel, Client } from 'nice-grpc';
2
- import type { CompatServiceDefinition } from 'nice-grpc/lib/service-definitions';
3
- export declare class GrpcStorage {
4
- static x: never[];
5
- constructor();
6
- servers: Set<string>;
7
- definitions: Set<CompatServiceDefinition>;
8
- channels: Map<string, Channel>;
9
- clients: Map<string, Client<CompatServiceDefinition>>;
10
- }
11
- export declare class GrpcStorageModule {
12
- }
@@ -1,33 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.GrpcStorageModule = exports.GrpcStorage = void 0;
10
- const common_1 = require("@nestjs/common");
11
- class GrpcStorage {
12
- static x = [];
13
- constructor() {
14
- GrpcStorage.x.push(this);
15
- }
16
- // Registration
17
- servers = new Set();
18
- definitions = new Set();
19
- // Caches
20
- channels = new Map();
21
- clients = new Map();
22
- }
23
- exports.GrpcStorage = GrpcStorage;
24
- let GrpcStorageModule = class GrpcStorageModule {
25
- };
26
- GrpcStorageModule = __decorate([
27
- (0, common_1.Module)({
28
- providers: [GrpcStorage],
29
- exports: [GrpcStorage],
30
- })
31
- ], GrpcStorageModule);
32
- exports.GrpcStorageModule = GrpcStorageModule;
33
- //# sourceMappingURL=grpc-storage.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc-storage.module.js","sourceRoot":"","sources":["../src/grpc-storage.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAIxC,MAAa,WAAW;IACtB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;IAEd;QACE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,eAAe;IACf,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACjD,SAAS;IACT,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IACtC,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAC;;AAZlD,kCAAW;AAmBxB,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAJ7B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,WAAW,CAAC;QACxB,OAAO,EAAE,CAAC,WAAW,CAAC;KACvB,CAAC;GACW,iBAAiB,CAAG;AAApB,8CAAiB"}
@@ -1,5 +0,0 @@
1
- import type { KeyDeclaration, KeyDefinition, KeyMap } from './types';
2
- export declare class GrpcServers {
3
- static define<TKeyDeclaration extends KeyDeclaration>(declaration: TKeyDeclaration): KeyMap<TKeyDeclaration>;
4
- static extractDefinition<TKeyDeclaration extends KeyDeclaration, TKeyMap extends KeyMap<TKeyDeclaration> = KeyMap<TKeyDeclaration>>(keyMap: TKeyMap): KeyDefinition[];
5
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GrpcServers = void 0;
4
- class GrpcServers {
5
- static define(declaration) {
6
- const map1 = Object.entries(declaration).map(([serverName, serviceMap]) => {
7
- const map = Object.entries(serviceMap).map(([serviceName, definition]) => {
8
- return [
9
- serviceName,
10
- {
11
- serverName,
12
- serviceName,
13
- definition,
14
- },
15
- ];
16
- });
17
- return [serverName, Object.fromEntries(map)];
18
- });
19
- return Object.fromEntries(map1);
20
- }
21
- static extractDefinition(keyMap) {
22
- const definitions = [];
23
- for (const serviceMap of Object.values(keyMap)) {
24
- for (const value of Object.values(serviceMap)) {
25
- definitions.push(value);
26
- }
27
- }
28
- return definitions;
29
- }
30
- }
31
- exports.GrpcServers = GrpcServers;
32
- //# sourceMappingURL=grpc.servers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc.servers.js","sourceRoot":"","sources":["../src/grpc.servers.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IACtB,MAAM,CAAC,MAAM,CACX,WAA4B;QAE5B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CACxC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE;gBAC5B,OAAO;oBACL,WAAW;oBACX;wBACE,UAAU;wBACV,WAAW;wBACX,UAAU;qBACX;iBACF,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAGtB,MAAe;QACf,MAAM,WAAW,GAAoB,EAAE,CAAC;QAExC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC7C,WAAW,CAAC,IAAI,CAAC,KAAsB,CAAC,CAAC;aAC1C;SACF;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AArCD,kCAqCC"}
@@ -1,5 +0,0 @@
1
- import type { CompatServiceDefinition } from 'nice-grpc/lib/service-definitions';
2
- export type GrpcClientInstanceMetadataValue = {
3
- serverName: string;
4
- definition: CompatServiceDefinition;
5
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=grpcClientInstanceMetadataValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpcClientInstanceMetadataValue.js","sourceRoot":"","sources":["../src/grpcClientInstanceMetadataValue.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import type { CompatServiceDefinition } from 'nice-grpc/lib/service-definitions';
2
- export interface GrpcClientsFactory<T> {
3
- /**
4
- * Creates instance of grpc client
5
- * @param address Address of grpc server in format {host}:{port}
6
- */
7
- create(address: string): T;
8
- }
9
- /**
10
- * Injects factory of grpc clients for specific grpc-service. Main
11
- * use case is when you need to add some middleware before creating
12
- * client instance.
13
- * @param definition grpc-service definitions (from generated code)
14
- * @returns ParameterDecorator
15
- */
16
- export declare const InjectGrpcClientsFactory: (definition: CompatServiceDefinition) => ParameterDecorator;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InjectGrpcClientsFactory = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const token_factories_1 = require("./token.factories");
6
- /**
7
- * Injects factory of grpc clients for specific grpc-service. Main
8
- * use case is when you need to add some middleware before creating
9
- * client instance.
10
- * @param definition grpc-service definitions (from generated code)
11
- * @returns ParameterDecorator
12
- */
13
- const InjectGrpcClientsFactory = (definition) => {
14
- const token = (0, token_factories_1.getFactoryToken)(definition);
15
- // TODO Add metadata registration
16
- return (0, common_1.Inject)(token);
17
- };
18
- exports.InjectGrpcClientsFactory = InjectGrpcClientsFactory;
19
- //# sourceMappingURL=inject-client-factory.decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject-client-factory.decorator.js","sourceRoot":"","sources":["../src/inject-client-factory.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAGxC,uDAAoD;AAWpD;;;;;;GAMG;AACI,MAAM,wBAAwB,GAAG,CACtC,UAAmC,EACf,EAAE;IACtB,MAAM,KAAK,GAAG,IAAA,iCAAe,EAAC,UAAU,CAAC,CAAC;IAE1C,iCAAiC;IACjC,OAAO,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAPW,QAAA,wBAAwB,4BAOnC"}
@@ -1,11 +0,0 @@
1
- import type { CompatServiceDefinition } from 'nice-grpc/lib/service-definitions';
2
- import type { KeyMapValue } from './types';
3
- /**
4
- * Injects ready to use client for particular grpc-service
5
- * on specific server (grpc-service and grpc-server are different
6
- * concepts!)
7
- * configure channel is generated from this client.
8
- * @returns ParameterDecorator
9
- * @param keyMapValue
10
- */
11
- export declare const InjectGrpcClient: <TServerName, TServiceName, TServiceDefinition extends CompatServiceDefinition>(keyMapValue: KeyMapValue<TServerName, TServiceName, TServiceDefinition>) => ParameterDecorator;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InjectGrpcClient = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const token_factories_1 = require("./token.factories");
6
- /**
7
- * Injects ready to use client for particular grpc-service
8
- * on specific server (grpc-service and grpc-server are different
9
- * concepts!)
10
- * configure channel is generated from this client.
11
- * @returns ParameterDecorator
12
- * @param keyMapValue
13
- */
14
- const InjectGrpcClient = (keyMapValue) => {
15
- return (target, propertyKey, parameterIndex) => {
16
- (0, common_1.Inject)((0, token_factories_1.getClientToken)(keyMapValue.definition))(target, propertyKey, parameterIndex);
17
- };
18
- };
19
- exports.InjectGrpcClient = InjectGrpcClient;
20
- //# sourceMappingURL=inject-client.decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject-client.decorator.js","sourceRoot":"","sources":["../src/inject-client.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAGxC,uDAAmD;AAGnD;;;;;;;GAOG;AACI,MAAM,gBAAgB,GAAG,CAK9B,WAAuE,EACnD,EAAE;IACtB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;QAC7C,IAAA,eAAM,EAAC,IAAA,gCAAc,EAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAC5C,MAAM,EACN,WAAW,EACX,cAAc,CACf,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B"}
@@ -1,2 +0,0 @@
1
- import type { ClientMiddleware } from 'nice-grpc-common';
2
- export declare const errorDetailsClientMiddleware: ClientMiddleware;
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.errorDetailsClientMiddleware = void 0;
4
- const error_1 = require("@rsdk/builtin-contract/dist/grpc/error/v1/error");
5
- const core_1 = require("@rsdk/core");
6
- const grpc_common_1 = require("@rsdk/grpc.common");
7
- const errorDetailsClientMiddleware = async function* errorDetailsClientMiddleware(call, options) {
8
- let status;
9
- try {
10
- return yield* call.next(call.request, {
11
- ...options,
12
- onTrailer(trailer) {
13
- const detailsBuffer = trailer.get('grpc-status-details-bin');
14
- if (detailsBuffer != null) {
15
- status = error_1.Status.decode(detailsBuffer);
16
- }
17
- console.log({ status });
18
- options.onTrailer?.(trailer);
19
- },
20
- });
21
- }
22
- catch (error) {
23
- if (status !== undefined) {
24
- const exKindMapItem = [...grpc_common_1.kindMap.entries()].find(([_, value]) => value === status.kind);
25
- const exKind = exKindMapItem ? exKindMapItem[0] : core_1.ExceptionKind.UNKNOWN;
26
- const createFromKind = (kind, message, props) => {
27
- const map = new Map([
28
- [core_1.ExceptionKind.INTERNAL, core_1.InternalException],
29
- [core_1.ExceptionKind.AUTHENTICATION, core_1.AuthException],
30
- [core_1.ExceptionKind.CONFLICT, core_1.ConflictException],
31
- [core_1.ExceptionKind.TIMEOUT, core_1.TimeoutException],
32
- [core_1.ExceptionKind.NOT_ALLOWED, core_1.NotAllowedException],
33
- [core_1.ExceptionKind.NOT_FOUND, core_1.NotAllowedException],
34
- [core_1.ExceptionKind.DUPLICATION, core_1.DuplicateEntityException],
35
- ]);
36
- const cls = map.get(kind) ?? core_1.InternalException;
37
- return Reflect.construct(cls, [message, props]);
38
- };
39
- throw createFromKind(exKind, status.message, {
40
- details: status.details,
41
- code: status.rsdkCode,
42
- });
43
- }
44
- throw error;
45
- }
46
- };
47
- exports.errorDetailsClientMiddleware = errorDetailsClientMiddleware;
48
- //# sourceMappingURL=rich-error.middlewate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rich-error.middlewate.js","sourceRoot":"","sources":["../../src/middleware/rich-error.middlewate.ts"],"names":[],"mappings":";;;AAAA,2EAAyE;AAGzE,qCAQoB;AACpB,mDAA4C;AAGrC,MAAM,4BAA4B,GACvC,KAAK,SAAS,CAAC,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO;IACxD,IAAI,MAA0B,CAAC;IAE/B,IAAI;QACF,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACpC,GAAG,OAAO;YACV,SAAS,CAAC,OAAO;gBACf,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAE7D,IAAI,aAAa,IAAI,IAAI,EAAE;oBACzB,MAAM,GAAG,cAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;iBACvC;gBAED,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxB,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,aAAa,GAAG,CAAC,GAAG,qBAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,MAAO,CAAC,IAAI,CACvC,CAAC;YAEF,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAa,CAAC,OAAO,CAAC;YAExE,MAAM,cAAc,GAAG,CACrB,IAAmB,EACnB,OAAe,EACf,KAAuB,EACJ,EAAE;gBACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAgD;oBACjE,CAAC,oBAAa,CAAC,QAAQ,EAAE,wBAAiB,CAAC;oBAC3C,CAAC,oBAAa,CAAC,cAAc,EAAE,oBAAa,CAAC;oBAC7C,CAAC,oBAAa,CAAC,QAAQ,EAAE,wBAAiB,CAAC;oBAC3C,CAAC,oBAAa,CAAC,OAAO,EAAE,uBAAgB,CAAC;oBACzC,CAAC,oBAAa,CAAC,WAAW,EAAE,0BAAmB,CAAC;oBAChD,CAAC,oBAAa,CAAC,SAAS,EAAE,0BAAmB,CAAC;oBAC9C,CAAC,oBAAa,CAAC,WAAW,EAAE,+BAAwB,CAAC;iBACtD,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,wBAAiB,CAAC;gBAE/C,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC;YAEF,MAAM,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;gBAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,QAAQ;aACtB,CAAC,CAAC;SACJ;QAED,MAAM,KAAK,CAAC;KACb;AACH,CAAC,CAAC;AArDS,QAAA,4BAA4B,gCAqDrC"}