@hodfords/nestjs-grpc-helper 11.4.0-rc.7 → 11.4.0-rc.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hodfords/nestjs-grpc-helper",
3
- "version": "11.4.0-rc.7",
3
+ "version": "11.4.0-rc.9",
4
4
  "description": "A utility for simplifying gRPC integration and communication in NestJS applications",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -51,6 +51,9 @@ class GrpcHelper {
51
51
  if (data.grpcNative) {
52
52
  data = data.value;
53
53
  }
54
+ if (data.grpcNullable) {
55
+ return data.value;
56
+ }
54
57
  if (Array.isArray(data)) {
55
58
  return (0, class_transformer_1.plainToInstance)(this.model, data, { groups: ['__getData'] });
56
59
  }
@@ -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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"}
@@ -65,6 +65,10 @@ export class GrpcHelper<Model> {
65
65
  if (data.grpcNative) {
66
66
  data = data.value;
67
67
  }
68
+ if (data.grpcNullable) {
69
+ return data.value;
70
+ }
71
+
68
72
  if (Array.isArray(data)) {
69
73
  return plainToInstance(this.model, data, { groups: ['__getData'] });
70
74
  } else {
@@ -3,11 +3,13 @@ import { PropertyOptionType } from 'lib/types/property-option.type';
3
3
  export declare class GenerateProtoService extends HbsGeneratorService {
4
4
  private packageName;
5
5
  private dirPath;
6
+ private nullableResponseTypes;
6
7
  constructor(packageName: string, dirPath: string);
7
8
  generate(): void;
8
9
  generateModels(): string;
9
10
  generateModel(dto: Function, properties: any): string;
10
11
  generateNativeModelList(): string[];
12
+ generateNullableWrapperMessages(): string[];
11
13
  getProtoType(option: PropertyOptionType): string;
12
14
  generateMicroservices(): string;
13
15
  generateMicroservice(constructor: Function): string;
@@ -52,6 +52,7 @@ class GenerateProtoService extends hbs_generator_service_1.HbsGeneratorService {
52
52
  super();
53
53
  this.packageName = packageName;
54
54
  this.dirPath = dirPath;
55
+ this.nullableResponseTypes = new Set();
55
56
  }
56
57
  generate() {
57
58
  let microserviceContent = this.generateMicroservices();
@@ -71,6 +72,7 @@ class GenerateProtoService extends hbs_generator_service_1.HbsGeneratorService {
71
72
  const dtoWithProperties = (0, property_helper_1.extractProperties)();
72
73
  let content = Object.keys(dtoWithProperties).map((name) => this.generateModel({ name }, dtoWithProperties[name]));
73
74
  content = content.concat(this.generateNativeModelList());
75
+ content = content.concat(this.generateNullableWrapperMessages());
74
76
  return content.reverse().join('\n');
75
77
  }
76
78
  generateModel(dto, properties) {
@@ -93,6 +95,15 @@ class GenerateProtoService extends hbs_generator_service_1.HbsGeneratorService {
93
95
  type: key
94
96
  }));
95
97
  }
98
+ generateNullableWrapperMessages() {
99
+ return Array.from(this.nullableResponseTypes).map((typeName) => {
100
+ return `message ${nestjs_response_1.NullableGrpcClassResponseNamePrefix}${typeName} {
101
+ \t${typeName} value = 1;
102
+ \tbool grpcNullable = 2;
103
+ }
104
+ `;
105
+ });
106
+ }
96
107
  getProtoType(option) {
97
108
  const { type, format } = option;
98
109
  if ((0, shared_utils_1.isFunction)(type)) {
@@ -149,6 +160,10 @@ class GenerateProtoService extends hbs_generator_service_1.HbsGeneratorService {
149
160
  else if ((0, type_helper_1.isPrimitiveType)(response.responseClass)) {
150
161
  returnType = `Native${response.responseClass.name}Value`;
151
162
  }
163
+ else if (response.isAllowEmpty) {
164
+ returnType = `${nestjs_response_1.NullableGrpcClassResponseNamePrefix}${response.responseClass.name}`;
165
+ this.nullableResponseTypes.add(response.responseClass.name);
166
+ }
152
167
  else {
153
168
  returnType = response.responseClass.name;
154
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-proto.service.js","sourceRoot":"","sources":["../../../lib/services/generate-proto.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-proto.service.js","sourceRoot":"","sources":["../../../lib/services/generate-proto.service.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- {{#hasItems directParams}}
2
- const param = {
3
- {{#each directParams}}
4
- {{this.name}},
5
- {{/each}}
6
- };
7
- {{/hasItems}}
8
- {{#if response}}
9
- {{#if response.isArray}}
10
- return await GrpcHelper.with(this.client, {{{response.responseClass.name}}}, this.options)
11
- .service('{{{serviceName}}}')
12
- .method('{{{method}}}')
13
- .data({{#if parameterName}}param{{else}}{}{{/if}}{{#if parameterType}}, {{{parameterType}}}{{/if}})
14
- .getMany() as any;
15
- {{else}}
16
- return await GrpcHelper.with(this.client, {{{response.responseClass.name}}}, this.options)
17
- .service('{{{serviceName}}}')
18
- .method('{{{method}}}')
19
- .data({{#if parameterName}}param{{else}}{}{{/if}}{{#if parameterType}}, {{{parameterType}}}{{/if}})
20
- .getOne() as any;
21
- {{/if}}
22
- {{else}}
23
- await GrpcHelper.with(this.client, null as any, this.options)
24
- .service('{{{serviceName}}}')
25
- .method('{{{method}}}')
26
- .data({{#if parameterName}}param{{else}}{}{{/if}}{{#if parameterType}}, {{{parameterType}}}{{/if}})
27
- .getMany();
28
- {{/if}}
@@ -1,5 +0,0 @@
1
- service {{name}} {
2
- {{#each rpcMethods}}
3
- {{this}}
4
- {{/each}}
5
- }
@@ -1,5 +0,0 @@
1
- export * from './helpers/grpc.helper'
2
- export * from './{{{ fileName }}}.module'
3
- export * from './{{{ fileName }}}.mock.module'
4
- export * from './services/{{{ fileName }}}.service';
5
- export * from './types/microservice-option.type';
@@ -1,19 +0,0 @@
1
- {{#hasItems directParams}}
2
- async {{method}}(
3
- {{#each directParams}}
4
- {{this.name}}{{#unless this.required}}?{{/unless}}: {{this.type}}{{#if this.isArray}}[]{{/if}}{{#unless @last}}, {{/unless}}
5
- {{/each}}
6
- ): Promise<{{returnType}}> {
7
- {{{body}}}
8
- }
9
- {{else}}
10
- {{#if params}}
11
- async {{method}}(param: {{params}}): Promise<{{returnType}}> {
12
- {{{body}}}
13
- }
14
- {{else}}
15
- async {{method}}(): Promise<{{returnType}}> {
16
- {{{body}}}
17
- }
18
- {{/if}}
19
- {{/hasItems}}
@@ -1,19 +0,0 @@
1
- {{#hasItems directParams}}
2
- async {{method}}(
3
- {{#each directParams}}
4
- {{this.name}}{{#unless this.required}}?{{/unless}}: {{this.type}}{{#if this.isArray}}[]{{/if}}{{#unless @last}}, {{/unless}}
5
- {{/each}}
6
- ): Promise<{{returnType}}> {
7
- {{{body}}}
8
- }
9
- {{else}}
10
- {{#if params}}
11
- async {{method}}(param: {{params}}): Promise<{{returnType}}> {
12
- {{{body}}}
13
- }
14
- {{else}}
15
- async {{method}}(): Promise<{{returnType}}> {
16
- {{{body}}}
17
- }
18
- {{/if}}
19
- {{/hasItems}}
@@ -1,12 +0,0 @@
1
- import { Module, Global } from '@nestjs/common';
2
- import { {{#each importServices}}{{this}}{{#unless @last}},{{/unless}}{{/each}} } from './services/{{fileName}}.service';
3
-
4
- @Global()
5
- @Module({
6
- providers: [
7
- {{providers}}
8
- ],
9
- exports: [{{#each services}}{{this}}{{#unless @last}},{{/unless}}{{/each}}]
10
- })
11
- export class Mock{{moduleName}}Module {
12
- }
@@ -1,6 +0,0 @@
1
- {{#each services}}
2
- {
3
- provide: {{this}},
4
- useClass: Mock{{this}}
5
- }{{#unless @last}},{{/unless}}
6
- {{/each}}
@@ -1,44 +0,0 @@
1
- import { DynamicModule, Module, Global } from '@nestjs/common';
2
- import { ClientsModule } from '@nestjs/microservices';
3
- import path from 'path';
4
- import { MicroserviceModuleOptionType } from './types/microservice-option.type';
5
- import { {{#each services}}{{this}}{{#unless @last}},{{/unless}}{{/each}} } from './services/{{fileName}}.service';
6
- import { CustomGrpcClient } from '@hodfords/nestjs-grpc-helper';
7
- import * as grpc from '@grpc/grpc-js';
8
-
9
-
10
- @Global()
11
- @Module({})
12
- export class {{moduleName}}Module {
13
- static register(options: MicroserviceModuleOptionType): DynamicModule {
14
- return {
15
- module: {{moduleName}}Module,
16
- providers: [
17
- {{#each services}}{{this}}{{#unless @last}},{{/unless}}{{/each}},
18
- {
19
- provide: '{{packageName}}_OPTIONS',
20
- useValue: options
21
- }
22
- ],
23
- exports: [{{#each services}}{{this}}{{#unless @last}},{{/unless}}{{/each}}],
24
- imports: [
25
- ClientsModule.register([
26
- {
27
- name: '{{packageName}}_PACKAGE',
28
- customClass: CustomGrpcClient as any,
29
- options: {
30
- url: options.url,
31
- package: '{{packageName}}',
32
- protoPath: path.join(__dirname, 'microservice.proto'),
33
- credentials: options.ssl ? grpc.credentials.createSsl() : undefined,
34
- maxReceiveMessageLength: options.maxReceiveMessageLength ?? 4 * 1024 * 1024,
35
- loader: {
36
- arrays: options.shouldLoadEmptyArray ?? false
37
- }
38
- }
39
- }
40
- ])
41
- ]
42
- };
43
- }
44
- }
@@ -1,4 +0,0 @@
1
- message Proto{{{name}}}List {
2
- repeated {{{type}}} items = 1;
3
- bool grpcArray = 2;
4
- }
@@ -1,6 +0,0 @@
1
- syntax = "proto3";
2
- import "google/protobuf/empty.proto";
3
- package {{packageName}};
4
-
5
- {{{ microserviceContent}}}
6
- {{{ modelContent }}}
@@ -1,7 +0,0 @@
1
- message {{{name}}} {
2
- {{{propertyContent}}}
3
- }
4
- message Proto{{{name}}}List {
5
- repeated {{{name}}} items = 1;
6
- bool grpcArray = 2;
7
- }
@@ -1,49 +0,0 @@
1
- import { GrpcHelper } from '../helpers/grpc.helper';
2
- import { Inject, Injectable } from '@nestjs/common';
3
- import { ClientGrpc } from '@nestjs/microservices';
4
- import { MicroserviceModuleOptionType } from '../types/microservice-option.type';
5
- import { Type } from 'class-transformer';
6
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
- import { Property, AnyType, sample, sampleMethod } from '@hodfords/nestjs-grpc-helper';
8
- {{#if addAllowDecorator}}
9
- import { Allow } from 'class-validator';
10
- {{/if}}
11
-
12
- {{#each serviceContent}}
13
- {{#if isMock}}
14
- export class Mock{{ serviceName }} {
15
- {{#each methods}}
16
- {{{this}}}
17
- {{/each}}
18
- }
19
- {{else}}
20
- @Injectable()
21
- export class {{ serviceName }} {
22
- constructor(
23
- @Inject('{{ ../packageName }}_PACKAGE') private client: ClientGrpc,
24
- @Inject('{{ ../packageName }}_OPTIONS') private options: MicroserviceModuleOptionType
25
- ) {}
26
-
27
- {{#each methods}}
28
- {{{this}}}
29
- {{/each}}
30
- }
31
- {{/if}}
32
- {{/each}}
33
-
34
- {{#each modelContent}}
35
- export class {{ name }} {
36
- {{#each properties}}
37
- {{{this}}}
38
- {{/each}}
39
- }
40
- {{/each}}
41
-
42
-
43
- {{#each enumContent}}
44
- export enum {{ enumName }} {
45
- {{#each keys}}
46
- {{{this}}},
47
- {{/each}}
48
- }
49
- {{/each}}
@@ -1,17 +0,0 @@
1
- // Import module
2
-
3
- {{moduleName}}Module.register({
4
- timeout: 5000,
5
- url: 'localhost:50051'
6
- })
7
-
8
- // Use in service
9
- export class ExampleService {
10
- constructor(private {{packageName}}Microservice: {{moduleName}}Microservice) {
11
-
12
- }
13
-
14
- findOne() {
15
- return this.{{packageName}}Microservice.findOne({ id: 1 });
16
- }
17
- }