@hodfords/nestjs-grpc-helper 10.2.3 → 10.3.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/README.md CHANGED
@@ -41,6 +41,16 @@ export class UserMicroservice {
41
41
  }
42
42
  ```
43
43
 
44
+ ### Any Type
45
+
46
+ You can use any type if fixed types are not an option. However, since it’s passed as JSON, the performance may not be as optimal as with binary. Consider using binary if performance is a concern.
47
+
48
+ ```typescript
49
+ @Property({ type: 'any', required: false })
50
+ @AnyType()
51
+ data: any;
52
+ ```
53
+
44
54
  ### Create SDK
45
55
 
46
56
  To generate a TypeScript SDK for your gRPC services, use the following command:
@@ -5,7 +5,7 @@ const class_transformer_1 = require("class-transformer");
5
5
  const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
6
6
  function AnyType() {
7
7
  return (0, class_transformer_1.Transform)((object) => {
8
- if (object.options.groups.includes('__sendData')) {
8
+ if (object.options.groups?.includes('__sendData')) {
9
9
  return JSON.stringify(object.value);
10
10
  }
11
11
  if ((0, shared_utils_1.isString)(object.value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"any-type.decorator.js","sourceRoot":"","sources":["../../../lib/decorators/any-type.decorator.ts"],"names":[],"mappings":";;AAGA,0BAUC;AAbD,yDAA8C;AAC9C,oEAA6D;AAE7D,SAAgB,OAAO;IACnB,OAAO,IAAA,6BAAS,EAAC,CAAC,MAAM,EAAE,EAAE;QACxB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAA,uBAAQ,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"any-type.decorator.js","sourceRoot":"","sources":["../../../lib/decorators/any-type.decorator.ts"],"names":[],"mappings":";;AAGA,0BAUC;AAbD,yDAA8C;AAC9C,oEAA6D;AAE7D,SAAgB,OAAO;IACnB,OAAO,IAAA,6BAAS,EAAC,CAAC,MAAM,EAAE,EAAE;QACxB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAA,uBAAQ,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ export declare class GrpcTranslationInterceptor implements NestInterceptor {
4
+ private metadataLanguageKeys;
5
+ constructor(metadataLanguageKeys: string[]);
6
+ intercept(context: ExecutionContext, next: CallHandler<any>): Promise<Observable<any>>;
7
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GrpcTranslationInterceptor = void 0;
4
+ const nestjs_cls_translation_1 = require("@hodfords/nestjs-cls-translation");
5
+ const lodash_1 = require("lodash");
6
+ const rxjs_1 = require("rxjs");
7
+ class GrpcTranslationInterceptor {
8
+ constructor(metadataLanguageKeys) {
9
+ this.metadataLanguageKeys = metadataLanguageKeys;
10
+ }
11
+ intercept(context, next) {
12
+ const metadata = context.switchToRpc().getContext().getMap();
13
+ const params = this.metadataLanguageKeys.reduce((values, key) => {
14
+ params[key] = metadata[key];
15
+ return values;
16
+ }, {});
17
+ context.switchToHttp().getRequest().i18nLang = metadata[(0, lodash_1.first)(this.metadataLanguageKeys)];
18
+ return (0, nestjs_cls_translation_1.runInLanguage)(params, () => (0, rxjs_1.from)((0, rxjs_1.firstValueFrom)(next.handle())));
19
+ }
20
+ }
21
+ exports.GrpcTranslationInterceptor = GrpcTranslationInterceptor;
22
+ //# sourceMappingURL=grpc-translation.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-translation.interceptor.js","sourceRoot":"","sources":["../../../lib/interceptors/grpc-translation.interceptor.ts"],"names":[],"mappings":";;;AACA,6EAAiE;AAEjE,mCAA+B;AAC/B,+BAAwD;AAExD,MAAa,0BAA0B;IACnC,YAAoB,oBAA8B;QAA9B,yBAAoB,GAApB,oBAAoB,CAAU;IAAG,CAAC;IAEtD,SAAS,CAAC,OAAyB,EAAE,IAAsB;QACvD,MAAM,QAAQ,GAAa,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAA,cAAK,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC1F,OAAO,IAAA,sCAAa,EAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAA,WAAI,EAAC,IAAA,qBAAc,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;CACJ;AAZD,gEAYC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hodfords/nestjs-grpc-helper",
3
- "version": "10.2.3",
3
+ "version": "10.3.0",
4
4
  "description": "A utility for simplifying gRPC integration and communication in NestJS applications",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -13,8 +13,6 @@ export declare class GrpcHelper<Model> {
13
13
  new (): Model;
14
14
  }, options: MicroserviceClientOptionType): GrpcHelper<Model>;
15
15
  private constructor();
16
- private currentPriorityLanguage;
17
- private appendLanguages;
18
16
  service(name: string): GrpcHelper<Model>;
19
17
  method(name: string): GrpcHelper<Model>;
20
18
  data(data: any, parameterModel?: any): GrpcHelper<Model>;
@@ -6,7 +6,6 @@ const common_1 = require("@nestjs/common");
6
6
  const class_transformer_1 = require("class-transformer");
7
7
  const nestjs_cls_translation_1 = require("@hodfords/nestjs-cls-translation");
8
8
  const grpc_js_1 = require("@grpc/grpc-js");
9
- const multi_language_key_constant_1 = require("../constants/multi-language-key.constant");
10
9
  const logger_service_1 = require("@nestjs/common/services/logger.service");
11
10
  class GrpcHelper {
12
11
  static with(client, model, options) {
@@ -18,25 +17,8 @@ class GrpcHelper {
18
17
  this.options = options;
19
18
  this.metadata = new grpc_js_1.Metadata();
20
19
  this.logger = new logger_service_1.Logger(this.constructor.name);
21
- if (this.options.enableLanguageMetaData) {
22
- this.appendLanguages();
23
- }
24
- }
25
- currentPriorityLanguage(key = multi_language_key_constant_1.REPORT_LANGUAGE_KEY) {
26
- return nestjs_cls_translation_1.CLS_TRANSLATION_NAMESPACE.get(key);
27
- }
28
- appendLanguages() {
29
- const platformLanguage = (0, nestjs_cls_translation_1.currentLanguage)();
30
- const reportLanguage = this.currentPriorityLanguage();
31
- const communicationLanguage = (0, nestjs_cls_translation_1.getLanguageByKey)(multi_language_key_constant_1.COMMUNICATION_LANGUAGE);
32
- if (platformLanguage) {
33
- this.metadata.add(multi_language_key_constant_1.PLATFORM_LANGUAGE_KEY, platformLanguage);
34
- }
35
- if (reportLanguage) {
36
- this.metadata.add(multi_language_key_constant_1.REPORT_LANGUAGE_KEY, reportLanguage);
37
- }
38
- if (communicationLanguage) {
39
- this.metadata.add(multi_language_key_constant_1.COMMUNICATION_LANGUAGE, communicationLanguage);
20
+ if (this.options.requestInitializer) {
21
+ this.options.requestInitializer(this.metadata);
40
22
  }
41
23
  }
42
24
  service(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.helper.js","sourceRoot":"","sources":["../../../../lib/sdk-stub/helpers/grpc.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc.helper.js","sourceRoot":"","sources":["../../../../lib/sdk-stub/helpers/grpc.helper.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,9 @@ import { ClientGrpc } from '@nestjs/microservices';
2
2
  import { firstValueFrom, Observable, timeout } from 'rxjs';
3
3
  import { HttpException, HttpStatus } from '@nestjs/common';
4
4
  import { plainToInstance } from 'class-transformer';
5
- import { CLS_TRANSLATION_NAMESPACE, currentLanguage, getLanguageByKey, trans } from '@hodfords/nestjs-cls-translation';
5
+ import { trans } from '@hodfords/nestjs-cls-translation';
6
6
  import { Metadata, status } from '@grpc/grpc-js';
7
7
  import { MicroserviceClientOptionType } from '../types/microservice-option.type';
8
- import {
9
- COMMUNICATION_LANGUAGE,
10
- PLATFORM_LANGUAGE_KEY,
11
- REPORT_LANGUAGE_KEY
12
- } from '../constants/multi-language-key.constant';
13
8
  import { Logger } from '@nestjs/common/services/logger.service';
14
9
 
15
10
  export class GrpcHelper<Model> {
@@ -32,27 +27,8 @@ export class GrpcHelper<Model> {
32
27
  private model: { new (): Model },
33
28
  private options: MicroserviceClientOptionType
34
29
  ) {
35
- if (this.options.enableLanguageMetaData) {
36
- this.appendLanguages();
37
- }
38
- }
39
-
40
- private currentPriorityLanguage(key = REPORT_LANGUAGE_KEY) {
41
- return CLS_TRANSLATION_NAMESPACE.get(key);
42
- }
43
-
44
- private appendLanguages() {
45
- const platformLanguage = currentLanguage();
46
- const reportLanguage = this.currentPriorityLanguage();
47
- const communicationLanguage = getLanguageByKey(COMMUNICATION_LANGUAGE);
48
- if (platformLanguage) {
49
- this.metadata.add(PLATFORM_LANGUAGE_KEY, platformLanguage);
50
- }
51
- if (reportLanguage) {
52
- this.metadata.add(REPORT_LANGUAGE_KEY, reportLanguage);
53
- }
54
- if (communicationLanguage) {
55
- this.metadata.add(COMMUNICATION_LANGUAGE, communicationLanguage);
30
+ if (this.options.requestInitializer) {
31
+ this.options.requestInitializer(this.metadata);
56
32
  }
57
33
  }
58
34
 
@@ -1,12 +1,13 @@
1
+ import { Metadata } from '@grpc/grpc-js';
1
2
  export type MicroserviceModuleOptionType = {
2
3
  timeout: number;
3
4
  url: string;
4
5
  ssl?: boolean;
5
6
  maxReceiveMessageLength?: number;
6
7
  shouldLoadEmptyArray?: boolean;
7
- enableLanguageMetaData?: boolean;
8
+ requestInitializer?: (metadata: Metadata) => void;
8
9
  };
9
10
  export type MicroserviceClientOptionType = {
10
11
  timeout: number;
11
- enableLanguageMetaData?: boolean;
12
+ requestInitializer?: (metadata: Metadata) => void;
12
13
  };
@@ -1,13 +1,15 @@
1
+ import { Metadata } from '@grpc/grpc-js';
2
+
1
3
  export type MicroserviceModuleOptionType = {
2
4
  timeout: number;
3
5
  url: string;
4
6
  ssl?: boolean;
5
7
  maxReceiveMessageLength?: number;
6
8
  shouldLoadEmptyArray?: boolean;
7
- enableLanguageMetaData?: boolean;
9
+ requestInitializer?: (metadata: Metadata) => void;
8
10
  };
9
11
 
10
12
  export type MicroserviceClientOptionType = {
11
13
  timeout: number;
12
- enableLanguageMetaData?: boolean;
14
+ requestInitializer?: (metadata: Metadata) => void;
13
15
  };
@@ -1,3 +0,0 @@
1
- export declare const COMMUNICATION_LANGUAGE = "communication-language";
2
- export declare const REPORT_LANGUAGE_KEY = "report-language";
3
- export declare const PLATFORM_LANGUAGE_KEY = "platform-language";
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PLATFORM_LANGUAGE_KEY = exports.REPORT_LANGUAGE_KEY = exports.COMMUNICATION_LANGUAGE = void 0;
4
- exports.COMMUNICATION_LANGUAGE = 'communication-language';
5
- exports.REPORT_LANGUAGE_KEY = 'report-language';
6
- exports.PLATFORM_LANGUAGE_KEY = 'platform-language';
7
- //# sourceMappingURL=multi-language-key.constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-language-key.constant.js","sourceRoot":"","sources":["../../../../lib/sdk-stub/constants/multi-language-key.constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,mBAAmB,GAAG,iBAAiB,CAAC;AACxC,QAAA,qBAAqB,GAAG,mBAAmB,CAAC"}
@@ -1,3 +0,0 @@
1
- export const COMMUNICATION_LANGUAGE = 'communication-language';
2
- export const REPORT_LANGUAGE_KEY = 'report-language';
3
- export const PLATFORM_LANGUAGE_KEY = 'platform-language';