@russ-b/nestjs-common-tools 1.1.25 → 1.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/dist/grpc/grpc.module.js +4 -12
- package/dist/grpc/grpc.module.js.map +1 -1
- package/dist/grpc/interceptors/field-mask.interceptor.d.ts +5 -0
- package/dist/grpc/interceptors/field-mask.interceptor.js +31 -0
- package/dist/grpc/interceptors/field-mask.interceptor.js.map +1 -0
- package/dist/grpc/interceptors/struct.interceptor.d.ts +2 -2
- package/dist/grpc/interceptors/struct.interceptor.js +15 -6
- package/dist/grpc/interceptors/struct.interceptor.js.map +1 -1
- package/dist/grpc/providers/grpc-options.provider.d.ts +2 -2
- package/dist/grpc/providers/grpc-options.provider.js +4 -3
- package/dist/grpc/providers/grpc-options.provider.js.map +1 -1
- package/dist/grpc/proxies/base-client-grpc.proxy.d.ts +2 -2
- package/dist/grpc/proxies/base-client-grpc.proxy.js +6 -4
- package/dist/grpc/proxies/base-client-grpc.proxy.js.map +1 -1
- package/dist/grpc/services/package-definition/index.d.ts +2 -0
- package/dist/grpc/services/package-definition/index.js +19 -0
- package/dist/grpc/services/package-definition/index.js.map +1 -0
- package/dist/grpc/services/package-definition/package-definition-manager.d.ts +15 -0
- package/dist/grpc/services/package-definition/package-definition-manager.js +62 -0
- package/dist/grpc/services/package-definition/package-definition-manager.js.map +1 -0
- package/dist/grpc/services/package-definition/package-definition.constants.d.ts +2 -0
- package/dist/grpc/services/package-definition/package-definition.constants.js +6 -0
- package/dist/grpc/services/package-definition/package-definition.constants.js.map +1 -0
- package/dist/grpc/services/package-definition/package-definition.service.d.ts +8 -0
- package/dist/grpc/services/package-definition/package-definition.service.js +27 -0
- package/dist/grpc/services/package-definition/package-definition.service.js.map +1 -0
- package/dist/grpc/services/proto/constants/proto.constants.d.ts +2 -0
- package/dist/grpc/services/proto/constants/proto.constants.js +6 -0
- package/dist/grpc/services/proto/constants/proto.constants.js.map +1 -0
- package/dist/grpc/services/proto/field.selector.d.ts +9 -0
- package/dist/grpc/services/proto/field.selector.js +34 -0
- package/dist/grpc/services/proto/field.selector.js.map +1 -0
- package/dist/grpc/services/proto/interfaces/field-selector.interface.d.ts +4 -0
- package/dist/grpc/services/proto/interfaces/field-selector.interface.js +3 -0
- package/dist/grpc/services/proto/interfaces/field-selector.interface.js.map +1 -0
- package/dist/grpc/services/proto/interfaces/index.d.ts +3 -0
- package/dist/grpc/services/proto/interfaces/index.js +20 -0
- package/dist/grpc/services/proto/interfaces/index.js.map +1 -0
- package/dist/grpc/services/proto/interfaces/package-definition.interface.d.ts +3 -0
- package/dist/grpc/services/proto/interfaces/package-definition.interface.js +3 -0
- package/dist/grpc/services/proto/interfaces/package-definition.interface.js.map +1 -0
- package/dist/grpc/services/proto/interfaces/proto-descriptors.interface.d.ts +49 -0
- package/dist/grpc/services/proto/interfaces/proto-descriptors.interface.js +31 -0
- package/dist/grpc/services/proto/interfaces/proto-descriptors.interface.js.map +1 -0
- package/dist/grpc/services/proto/readers/client-definition.reader.d.ts +23 -0
- package/dist/grpc/services/proto/readers/client-definition.reader.js +51 -0
- package/dist/grpc/services/proto/readers/client-definition.reader.js.map +1 -0
- package/dist/grpc/services/proto/readers/field-definition.reader.d.ts +3 -0
- package/dist/grpc/services/proto/readers/field-definition.reader.js +8 -0
- package/dist/grpc/services/proto/readers/field-definition.reader.js.map +1 -0
- package/dist/grpc/services/proto/readers/field.selector.d.ts +7 -0
- package/dist/grpc/services/proto/readers/field.selector.js +29 -0
- package/dist/grpc/services/proto/readers/field.selector.js.map +1 -0
- package/dist/grpc/services/proto/readers/interfaces/client-definition.interface.d.ts +24 -0
- package/dist/grpc/services/proto/readers/interfaces/client-definition.interface.js +3 -0
- package/dist/grpc/services/proto/readers/interfaces/client-definition.interface.js.map +1 -0
- package/dist/grpc/services/proto/readers/interfaces/field.interface.d.ts +16 -0
- package/dist/grpc/services/proto/readers/interfaces/field.interface.js +3 -0
- package/dist/grpc/services/proto/readers/interfaces/field.interface.js.map +1 -0
- package/dist/grpc/services/proto/readers/interfaces/index.d.ts +1 -0
- package/dist/grpc/services/proto/readers/interfaces/index.js +18 -0
- package/dist/grpc/services/proto/readers/interfaces/index.js.map +1 -0
- package/dist/grpc/services/proto/readers/interfaces/package-definition.interface.d.ts +9 -0
- package/dist/grpc/services/proto/readers/interfaces/package-definition.interface.js +3 -0
- package/dist/grpc/services/proto/readers/interfaces/package-definition.interface.js.map +1 -0
- package/dist/grpc/services/proto/readers/package-definition.reader.d.ts +17 -0
- package/dist/grpc/services/proto/readers/package-definition.reader.js +61 -0
- package/dist/grpc/services/proto/readers/package-definition.reader.js.map +1 -0
- package/dist/grpc/transformers/field-transformer.d.ts +7 -0
- package/dist/grpc/transformers/field-transformer.js +26 -0
- package/dist/grpc/transformers/field-transformer.js.map +1 -0
- package/dist/grpc/transformers/index.d.ts +1 -0
- package/dist/grpc/transformers/index.js +1 -0
- package/dist/grpc/transformers/index.js.map +1 -1
- package/dist/logger/logger.d.ts +4 -0
- package/dist/logger/logger.interface.d.ts +1 -0
- package/dist/logger/logger.interface.js +3 -0
- package/dist/logger/logger.interface.js.map +1 -0
- package/dist/logger/logger.js +23 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/transports/json-format.transport.d.ts +4 -0
- package/dist/logger/transports/json-format.transport.js +14 -0
- package/dist/logger/transports/json-format.transport.js.map +1 -0
- package/dist/logger/transports/nest-format.transport.d.ts +4 -0
- package/dist/logger/transports/nest-format.transport.js +18 -0
- package/dist/logger/transports/nest-format.transport.js.map +1 -0
- package/dist/services/base-entity.service.d.ts +2 -3
- package/dist/services/base-entity.service.js +7 -14
- package/dist/services/base-entity.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/validators/unique/index.d.ts +4 -0
- package/dist/validators/unique/index.js +21 -0
- package/dist/validators/unique/index.js.map +1 -0
- package/dist/validators/unique/unique.constant.d.ts +1 -0
- package/dist/validators/unique/unique.constant.js +5 -0
- package/dist/validators/unique/unique.constant.js.map +1 -0
- package/dist/validators/unique/unique.constraint.d.ts +9 -0
- package/dist/validators/unique/unique.constraint.js +74 -0
- package/dist/validators/unique/unique.constraint.js.map +1 -0
- package/dist/validators/unique/unique.decorator.d.ts +3 -0
- package/dist/validators/unique/unique.decorator.js +20 -0
- package/dist/validators/unique/unique.decorator.js.map +1 -0
- package/dist/validators/unique/unique.interface.d.ts +5 -0
- package/dist/validators/unique/unique.interface.js +3 -0
- package/dist/validators/unique/unique.interface.js.map +1 -0
- package/package.json +12 -14
package/dist/grpc/grpc.module.js
CHANGED
|
@@ -8,24 +8,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.GrpcModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
|
-
const
|
|
11
|
+
const package_definition_1 = require("./services/package-definition");
|
|
12
12
|
const interceptors_1 = require("./interceptors");
|
|
13
|
-
const
|
|
13
|
+
const providers_1 = require("./providers");
|
|
14
14
|
let GrpcModule = class GrpcModule {
|
|
15
15
|
};
|
|
16
16
|
exports.GrpcModule = GrpcModule;
|
|
17
17
|
exports.GrpcModule = GrpcModule = __decorate([
|
|
18
18
|
(0, common_1.Module)({
|
|
19
|
-
providers: [
|
|
20
|
-
|
|
21
|
-
interceptors_1.StructInterceptor,
|
|
22
|
-
grpc_options_provider_1.GrpcOptionsProvider,
|
|
23
|
-
],
|
|
24
|
-
exports: [
|
|
25
|
-
services_1.GrpcPackageDefinitionService,
|
|
26
|
-
interceptors_1.StructInterceptor,
|
|
27
|
-
grpc_options_provider_1.GrpcOptionsProvider,
|
|
28
|
-
],
|
|
19
|
+
providers: [package_definition_1.PackageDefinitionService, interceptors_1.StructInterceptor, providers_1.GrpcOptionsProvider],
|
|
20
|
+
exports: [package_definition_1.PackageDefinitionService, interceptors_1.StructInterceptor, providers_1.GrpcOptionsProvider],
|
|
29
21
|
})
|
|
30
22
|
], GrpcModule);
|
|
31
23
|
//# sourceMappingURL=grpc.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc.module.js","sourceRoot":"","sources":["../../src/grpc/grpc.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"grpc.module.js","sourceRoot":"","sources":["../../src/grpc/grpc.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,sEAAyE;AACzE,iDAAmD;AACnD,2CAAkD;AAM3C,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAJtB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,6CAAwB,EAAE,gCAAiB,EAAE,+BAAmB,CAAC;QAC7E,OAAO,EAAE,CAAC,6CAAwB,EAAE,gCAAiB,EAAE,+BAAmB,CAAC;KAC5E,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -0,0 +1,31 @@
|
|
|
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.FieldMaskInterceptor = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
let FieldMaskInterceptor = class FieldMaskInterceptor {
|
|
12
|
+
intercept(context, next) {
|
|
13
|
+
const request = context.switchToRpc().getData();
|
|
14
|
+
const fieldMask = request.fieldMask || request.updateMask;
|
|
15
|
+
if (!fieldMask) {
|
|
16
|
+
return next.handle();
|
|
17
|
+
}
|
|
18
|
+
const paths = fieldMask.paths || [];
|
|
19
|
+
let reqData = {};
|
|
20
|
+
if (paths.length) {
|
|
21
|
+
paths.forEach((field) => (reqData[field] = request?.[field]));
|
|
22
|
+
}
|
|
23
|
+
context.getArgs()[0] = reqData;
|
|
24
|
+
return next.handle();
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.FieldMaskInterceptor = FieldMaskInterceptor;
|
|
28
|
+
exports.FieldMaskInterceptor = FieldMaskInterceptor = __decorate([
|
|
29
|
+
(0, common_1.Injectable)()
|
|
30
|
+
], FieldMaskInterceptor);
|
|
31
|
+
//# sourceMappingURL=field-mask.interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-mask.interceptor.js","sourceRoot":"","sources":["../../../src/grpc/interceptors/field-mask.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAKwB;AAIjB,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,EAAyB,CAAC;QACvE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;QAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,KAAK,GAAa,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,IAAI,OAAO,GAAwB,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAE/B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AAnBY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;GACA,oBAAoB,CAmBhC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import {
|
|
3
|
+
import { PackageDefinitionService } from '../services/package-definition';
|
|
4
4
|
export declare class StructInterceptor implements NestInterceptor {
|
|
5
5
|
private readonly packageDefinitionService;
|
|
6
|
-
constructor(packageDefinitionService:
|
|
6
|
+
constructor(packageDefinitionService: PackageDefinitionService);
|
|
7
7
|
intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
|
|
8
8
|
private traverseAndTransform;
|
|
9
9
|
}
|
|
@@ -8,12 +8,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var _a;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.StructInterceptor = void 0;
|
|
13
14
|
const common_1 = require("@nestjs/common");
|
|
14
15
|
const rxjs_1 = require("rxjs");
|
|
15
16
|
const transformers_1 = require("../transformers");
|
|
16
|
-
const
|
|
17
|
+
const package_definition_1 = require("../services/package-definition");
|
|
17
18
|
const constants_1 = require("@nestjs/microservices/constants");
|
|
18
19
|
const GOOGLE_PROTOBUF_STRUCT = 'google.protobuf.Struct';
|
|
19
20
|
let StructInterceptor = class StructInterceptor {
|
|
@@ -23,12 +24,20 @@ let StructInterceptor = class StructInterceptor {
|
|
|
23
24
|
intercept(context, next) {
|
|
24
25
|
const grpcContext = context.switchToRpc();
|
|
25
26
|
const { service, rpc } = Reflect.getMetadata(constants_1.PATTERN_METADATA, context.getHandler())[0];
|
|
26
|
-
const protoFields = this.packageDefinitionService
|
|
27
|
-
|
|
27
|
+
const protoFields = this.packageDefinitionService
|
|
28
|
+
.getManager()
|
|
29
|
+
.getRequestFields(service, rpc);
|
|
30
|
+
const fields = this.packageDefinitionService
|
|
31
|
+
.getManager()
|
|
32
|
+
.findFieldsByType(protoFields, GOOGLE_PROTOBUF_STRUCT);
|
|
28
33
|
context.getArgs()[0] = this.traverseAndTransform(grpcContext.getData(), fields, transformers_1.StructTransformer.toObject);
|
|
29
34
|
return next.handle().pipe((0, rxjs_1.map)((data) => {
|
|
30
|
-
const protoFields = this.packageDefinitionService
|
|
31
|
-
|
|
35
|
+
const protoFields = this.packageDefinitionService
|
|
36
|
+
.getManager()
|
|
37
|
+
.getResponseFields(service, rpc);
|
|
38
|
+
const fields = this.packageDefinitionService
|
|
39
|
+
.getManager()
|
|
40
|
+
.findFieldsByType(protoFields, GOOGLE_PROTOBUF_STRUCT);
|
|
32
41
|
return this.traverseAndTransform(data, fields, transformers_1.StructTransformer.toStruct);
|
|
33
42
|
}));
|
|
34
43
|
}
|
|
@@ -55,6 +64,6 @@ let StructInterceptor = class StructInterceptor {
|
|
|
55
64
|
exports.StructInterceptor = StructInterceptor;
|
|
56
65
|
exports.StructInterceptor = StructInterceptor = __decorate([
|
|
57
66
|
(0, common_1.Injectable)(),
|
|
58
|
-
__metadata("design:paramtypes", [
|
|
67
|
+
__metadata("design:paramtypes", [typeof (_a = typeof package_definition_1.PackageDefinitionService !== "undefined" && package_definition_1.PackageDefinitionService) === "function" ? _a : Object])
|
|
59
68
|
], StructInterceptor);
|
|
60
69
|
//# sourceMappingURL=struct.interceptor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.interceptor.js","sourceRoot":"","sources":["../../../src/grpc/interceptors/struct.interceptor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"struct.interceptor.js","sourceRoot":"","sources":["../../../src/grpc/interceptors/struct.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAKwB;AACxB,+BAAuC;AACvC,kDAAoD;AACpD,uEAA0E;AAC1E,+DAAmE;AAGnE,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAGjD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YACmB,wBAAkD;QAAlD,6BAAwB,GAAxB,wBAAwB,CAA0B;IAClE,CAAC;IACJ,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAC1C,4BAAgB,EAChB,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC,CAAC,CAAC,CAAC;QAEL,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB;aAC9C,UAAU,EAAE;aACZ,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB;aACzC,UAAU,EAAE;aACZ,gBAAgB,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QAEzD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAC9C,WAAW,CAAC,OAAO,EAAE,EACrB,MAAM,EACN,gCAAiB,CAAC,QAAQ,CAC3B,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,UAAG,EAAC,CAAC,IAAS,EAAE,EAAE;YAChB,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB;iBAC9C,UAAU,EAAE;iBACZ,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB;iBACzC,UAAU,EAAE;iBACZ,gBAAgB,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YAEzD,OAAO,IAAI,CAAC,oBAAoB,CAC9B,IAAI,EACJ,MAAM,EACN,gCAAiB,CAAC,QAAQ,CAC3B,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,GAAM,EACN,MAAqB,EACrB,WAAgC;QAEhC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAChD,CAAC;QACT,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;QAE1B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAe,CAAC;YAE9B,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CACrC,MAAM,CAAC,GAAG,CAAC,EACX,CAAC,CAAC,MAAM,EACR,WAAW,CACZ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA1EY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;yDAGkC,6CAAwB,oBAAxB,6CAAwB;GAF1D,iBAAiB,CA0E7B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GrpcOptions } from '@nestjs/microservices';
|
|
2
|
-
import {
|
|
2
|
+
import { PackageDefinitionService } from '../services/package-definition';
|
|
3
3
|
interface IOptions {
|
|
4
4
|
usePackageDefinitionService?: boolean;
|
|
5
5
|
useReflectionService?: boolean;
|
|
@@ -9,7 +9,7 @@ interface IOptions {
|
|
|
9
9
|
}
|
|
10
10
|
export declare class GrpcOptionsProvider {
|
|
11
11
|
private readonly grpcPackageDefinitionService;
|
|
12
|
-
constructor(grpcPackageDefinitionService:
|
|
12
|
+
constructor(grpcPackageDefinitionService: PackageDefinitionService);
|
|
13
13
|
getOptions(options?: IOptions): GrpcOptions;
|
|
14
14
|
private getProtoPath;
|
|
15
15
|
}
|
|
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var _a;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.GrpcOptionsProvider = void 0;
|
|
13
14
|
const common_1 = require("@nestjs/common");
|
|
@@ -15,7 +16,7 @@ const microservices_1 = require("@nestjs/microservices");
|
|
|
15
16
|
const reflection_1 = require("@grpc/reflection");
|
|
16
17
|
const node_fs_1 = require("node:fs");
|
|
17
18
|
const node_path_1 = require("node:path");
|
|
18
|
-
const
|
|
19
|
+
const package_definition_1 = require("../services/package-definition");
|
|
19
20
|
let GrpcOptionsProvider = class GrpcOptionsProvider {
|
|
20
21
|
constructor(grpcPackageDefinitionService) {
|
|
21
22
|
this.grpcPackageDefinitionService = grpcPackageDefinitionService;
|
|
@@ -43,7 +44,7 @@ let GrpcOptionsProvider = class GrpcOptionsProvider {
|
|
|
43
44
|
protoPath: this.getProtoPath(packageName, options.protoDir),
|
|
44
45
|
onLoadPackageDefinition: (pkg, server) => {
|
|
45
46
|
if (options.usePackageDefinitionService) {
|
|
46
|
-
this.grpcPackageDefinitionService.setPackageDefinition(
|
|
47
|
+
this.grpcPackageDefinitionService.setPackageDefinition(packageName, pkg);
|
|
47
48
|
}
|
|
48
49
|
if (options.useReflectionService) {
|
|
49
50
|
new reflection_1.ReflectionService(pkg).addToServer(server);
|
|
@@ -62,6 +63,6 @@ let GrpcOptionsProvider = class GrpcOptionsProvider {
|
|
|
62
63
|
exports.GrpcOptionsProvider = GrpcOptionsProvider;
|
|
63
64
|
exports.GrpcOptionsProvider = GrpcOptionsProvider = __decorate([
|
|
64
65
|
(0, common_1.Injectable)(),
|
|
65
|
-
__metadata("design:paramtypes", [
|
|
66
|
+
__metadata("design:paramtypes", [typeof (_a = typeof package_definition_1.PackageDefinitionService !== "undefined" && package_definition_1.PackageDefinitionService) === "function" ? _a : Object])
|
|
66
67
|
], GrpcOptionsProvider);
|
|
67
68
|
//# sourceMappingURL=grpc-options.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc-options.provider.js","sourceRoot":"","sources":["../../../src/grpc/providers/grpc-options.provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grpc-options.provider.js","sourceRoot":"","sources":["../../../src/grpc/providers/grpc-options.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAA+D;AAC/D,iDAAqD;AACrD,qCAAsC;AACtC,yCAAiC;AAEjC,uEAA0E;AAWnE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YACmB,4BAAsD;QAAtD,iCAA4B,GAA5B,4BAA4B,CAA0B;IACtE,CAAC;IAEJ,UAAU,CACR,UAAoB;QAClB,2BAA2B,EAAE,KAAK;QAClC,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,IAAA,gBAAI,EAAC,SAAS,EAAE,aAAa,CAAC;QACxC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,eAAe;KACrB;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAExC,OAAO;YACL,SAAS,EAAE,yBAAS,CAAC,IAAI;YACzB,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;iBAChC;gBACD,gBAAgB,EAAE,IAAI;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC;gBAC3D,uBAAuB,EAAE,CAAC,GAAsB,EAAE,MAAM,EAAE,EAAE;oBAC1D,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;wBACxC,IAAI,CAAC,4BAA4B,CAAC,oBAAoB,CACpD,WAAW,EACX,GAAG,CACJ,CAAC;oBACJ,CAAC;oBAED,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;wBACjC,IAAI,8BAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,WAAmB,EAAE,QAAgB;QACxD,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE7C,OAAO,IAAA,qBAAW,EAAC,QAAQ,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAI,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;AApDY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;yDAGsC,6CAAwB,oBAAxB,6CAAwB;GAF9D,mBAAmB,CAoD/B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ClientGrpcProxy } from '@nestjs/microservices';
|
|
1
|
+
import { ClientGrpcProxy, RpcException } from '@nestjs/microservices';
|
|
2
2
|
export declare class BaseClientGrpcProxy extends ClientGrpcProxy {
|
|
3
3
|
getService<T extends {}>(name: string): T;
|
|
4
4
|
private getMethodName;
|
|
5
5
|
private getMethodFields;
|
|
6
|
-
protected serializeError(err:
|
|
6
|
+
protected serializeError(err: unknown): RpcException;
|
|
7
7
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseClientGrpcProxy = void 0;
|
|
4
4
|
const microservices_1 = require("@nestjs/microservices");
|
|
5
|
-
const grpc_js_1 = require("@grpc/grpc-js");
|
|
6
5
|
const rxjs_1 = require("rxjs");
|
|
7
6
|
const transformers_1 = require("../transformers");
|
|
8
7
|
class BaseClientGrpcProxy extends microservices_1.ClientGrpcProxy {
|
|
@@ -61,10 +60,13 @@ class BaseClientGrpcProxy extends microservices_1.ClientGrpcProxy {
|
|
|
61
60
|
};
|
|
62
61
|
}
|
|
63
62
|
serializeError(err) {
|
|
64
|
-
if (err
|
|
65
|
-
|
|
63
|
+
if (typeof err === 'string') {
|
|
64
|
+
return new microservices_1.RpcException(err);
|
|
66
65
|
}
|
|
67
|
-
|
|
66
|
+
if (err && typeof err === 'object') {
|
|
67
|
+
return new microservices_1.RpcException(err);
|
|
68
|
+
}
|
|
69
|
+
return new microservices_1.RpcException('Unknown error occurred');
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
72
|
exports.BaseClientGrpcProxy = BaseClientGrpcProxy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-client-grpc.proxy.js","sourceRoot":"","sources":["../../../src/grpc/proxies/base-client-grpc.proxy.ts"],"names":[],"mappings":";;;AAAA,yDAAsE;AACtE
|
|
1
|
+
{"version":3,"file":"base-client-grpc.proxy.js","sourceRoot":"","sources":["../../../src/grpc/proxies/base-client-grpc.proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./package-definition.service"), exports);
|
|
18
|
+
__exportStar(require("./package-definition-manager"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/grpc/services/package-definition/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,+DAA6C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MethodDefinition, PackageDefinition, ServiceDefinition } from '@grpc/proto-loader';
|
|
2
|
+
import { IField, IFoundField, IMessageDefinition } from '../../interfaces';
|
|
3
|
+
export declare class PackageDefinitionManager {
|
|
4
|
+
private readonly packageName;
|
|
5
|
+
private readonly packageDefinition;
|
|
6
|
+
constructor(packageName: string, packageDefinition: PackageDefinition);
|
|
7
|
+
getPackageName(): string;
|
|
8
|
+
getServiceDefinition(serviceName: string): ServiceDefinition | undefined;
|
|
9
|
+
getMessageDefinition(messageName: string): IMessageDefinition;
|
|
10
|
+
getMethodDefinition(serviceName: string, rpc: string): MethodDefinition<any, any> | undefined;
|
|
11
|
+
getRequestFields(serviceName: string, rpc: string): IField[];
|
|
12
|
+
getResponseFields(serviceName: string, rpc: string): IField[];
|
|
13
|
+
private getFields;
|
|
14
|
+
findFieldsByType(fields: IField[], typeName: string): IFoundField[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PackageDefinitionManager = void 0;
|
|
4
|
+
class PackageDefinitionManager {
|
|
5
|
+
constructor(packageName, packageDefinition) {
|
|
6
|
+
this.packageName = packageName;
|
|
7
|
+
this.packageDefinition = packageDefinition;
|
|
8
|
+
}
|
|
9
|
+
getPackageName() {
|
|
10
|
+
return this.packageName;
|
|
11
|
+
}
|
|
12
|
+
getServiceDefinition(serviceName) {
|
|
13
|
+
const serviceDefinition = this.packageDefinition[`${serviceName}`];
|
|
14
|
+
if (!serviceDefinition) {
|
|
15
|
+
return this.packageDefinition[`${this.packageName}.${serviceName}`];
|
|
16
|
+
}
|
|
17
|
+
return serviceDefinition;
|
|
18
|
+
}
|
|
19
|
+
getMessageDefinition(messageName) {
|
|
20
|
+
const message = this.packageDefinition[messageName];
|
|
21
|
+
if (!message) {
|
|
22
|
+
return this.packageDefinition[`${this.getPackageName()}.${messageName}`];
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return message;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
getMethodDefinition(serviceName, rpc) {
|
|
29
|
+
const serviceDefinition = this.getServiceDefinition(serviceName);
|
|
30
|
+
if (!serviceDefinition) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
return serviceDefinition[rpc];
|
|
34
|
+
}
|
|
35
|
+
getRequestFields(serviceName, rpc) {
|
|
36
|
+
const messageTypeDefinition = this.getMethodDefinition(serviceName, rpc)?.requestType;
|
|
37
|
+
return this.getFields(messageTypeDefinition);
|
|
38
|
+
}
|
|
39
|
+
getResponseFields(serviceName, rpc) {
|
|
40
|
+
const messageTypeDefinition = this.getMethodDefinition(serviceName, rpc)?.responseType;
|
|
41
|
+
return this.getFields(messageTypeDefinition);
|
|
42
|
+
}
|
|
43
|
+
getFields(definition) {
|
|
44
|
+
return definition?.type?.field || [];
|
|
45
|
+
}
|
|
46
|
+
findFieldsByType(fields, typeName) {
|
|
47
|
+
return fields
|
|
48
|
+
.filter((f) => f.type === 'TYPE_MESSAGE')
|
|
49
|
+
.map((f) => {
|
|
50
|
+
if (f.typeName === typeName) {
|
|
51
|
+
return { name: f.name };
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
name: f.name,
|
|
55
|
+
fields: this.findFieldsByType(this.getFields(this.getMessageDefinition(f.typeName)), typeName),
|
|
56
|
+
};
|
|
57
|
+
})
|
|
58
|
+
.filter((f) => f.fields === undefined || f.fields.length > 0);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.PackageDefinitionManager = PackageDefinitionManager;
|
|
62
|
+
//# sourceMappingURL=package-definition-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-definition-manager.js","sourceRoot":"","sources":["../../../../src/grpc/services/package-definition/package-definition-manager.ts"],"names":[],"mappings":";;;AAOA,MAAa,wBAAwB;IACnC,YACmB,WAAmB,EACnB,iBAAoC;QADpC,gBAAW,GAAX,WAAW,CAAQ;QACnB,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEJ,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,oBAAoB,CAAC,WAAmB;QACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAC9C,GAAG,WAAW,EAAE,CACI,CAAC;QAEvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,iBAAiB,CAC3B,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,EAAE,CAChB,CAAC;QACzB,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAC,WAAmB;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,iBAAiB,CAC3B,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,WAAW,EAAE,CACpB,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,OAA6B,CAAC;QACvC,CAAC;IACH,CAAC;IAED,mBAAmB,CACjB,WAAmB,EACnB,GAAW;QAEX,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAEjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,gBAAgB,CAAC,WAAmB,EAAE,GAAW;QAC/C,MAAM,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CACpD,WAAW,EACX,GAAG,CACJ,EAAE,WAAW,CAAC;QAEf,OAAO,IAAI,CAAC,SAAS,CAAC,qBAA2C,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB,CAAC,WAAmB,EAAE,GAAW;QAChD,MAAM,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CACpD,WAAW,EACX,GAAG,CACJ,EAAE,YAAY,CAAC;QAEhB,OAAO,IAAI,CAAC,SAAS,CAAC,qBAA2C,CAAC,CAAC;IACrE,CAAC;IAEO,SAAS,CAAC,UAA+B;QAC/C,OAAO,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,gBAAgB,CAAC,MAAgB,EAAE,QAAgB;QACjD,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACrD,QAAQ,CACT;aACF,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;CACF;AAzFD,4DAyFC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GOOGLE_PROTOBUF_STRUCT = exports.TYPE_MESSAGE = void 0;
|
|
4
|
+
exports.TYPE_MESSAGE = 'TYPE_MESSAGE';
|
|
5
|
+
exports.GOOGLE_PROTOBUF_STRUCT = 'google.protobuf.Struct';
|
|
6
|
+
//# sourceMappingURL=package-definition.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-definition.constants.js","sourceRoot":"","sources":["../../../../src/grpc/services/package-definition/package-definition.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,sBAAsB,GAAG,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PackageDefinition } from '@grpc/proto-loader';
|
|
2
|
+
import { PackageDefinitionManager } from './package-definition-manager';
|
|
3
|
+
export declare class PackageDefinitionService {
|
|
4
|
+
private packageDefinitionManager;
|
|
5
|
+
private packageName;
|
|
6
|
+
setPackageDefinition(packageName: string, pkg: PackageDefinition): void;
|
|
7
|
+
getManager(): PackageDefinitionManager;
|
|
8
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
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.PackageDefinitionService = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const package_definition_manager_1 = require("./package-definition-manager");
|
|
12
|
+
let PackageDefinitionService = class PackageDefinitionService {
|
|
13
|
+
setPackageDefinition(packageName, pkg) {
|
|
14
|
+
this.packageDefinitionManager = new package_definition_manager_1.PackageDefinitionManager(packageName, pkg);
|
|
15
|
+
}
|
|
16
|
+
getManager() {
|
|
17
|
+
if (!this.packageDefinitionManager) {
|
|
18
|
+
throw new Error('PackageDefinitionManager not initialized');
|
|
19
|
+
}
|
|
20
|
+
return this.packageDefinitionManager;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.PackageDefinitionService = PackageDefinitionService;
|
|
24
|
+
exports.PackageDefinitionService = PackageDefinitionService = __decorate([
|
|
25
|
+
(0, common_1.Injectable)({ scope: common_1.Scope.DEFAULT })
|
|
26
|
+
], PackageDefinitionService);
|
|
27
|
+
//# sourceMappingURL=package-definition.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-definition.service.js","sourceRoot":"","sources":["../../../../src/grpc/services/package-definition/package-definition.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAmD;AAEnD,6EAAwE;AAOjE,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAInC,oBAAoB,CAAC,WAAmB,EAAE,GAAsB;QAC9D,IAAI,CAAC,wBAAwB,GAAG,IAAI,qDAAwB,CAC1D,WAAW,EACX,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;CACF,CAAA;AAlBY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;GACxB,wBAAwB,CAkBpC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GOOGLE_PROTOBUF_FIELD_MASK = exports.GOOGLE_PROTOBUF_STRUCT = void 0;
|
|
4
|
+
exports.GOOGLE_PROTOBUF_STRUCT = 'google.protobuf.Struct';
|
|
5
|
+
exports.GOOGLE_PROTOBUF_FIELD_MASK = 'google.protobuf.FieldMask';
|
|
6
|
+
//# sourceMappingURL=proto.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proto.constants.js","sourceRoot":"","sources":["../../../../../src/grpc/services/proto/constants/proto.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,0BAA0B,GAAG,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IFoundField, IFieldDescriptor, MessageDefinitionMap } from './interfaces';
|
|
2
|
+
export declare class FieldSelector {
|
|
3
|
+
private readonly fields;
|
|
4
|
+
private readonly messageTypes;
|
|
5
|
+
constructor(fields: IFieldDescriptor[], messageTypes: MessageDefinitionMap);
|
|
6
|
+
findFieldsByType(typeName: string, fields?: readonly IFieldDescriptor[]): IFoundField[];
|
|
7
|
+
private isMessageType;
|
|
8
|
+
private mapField;
|
|
9
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FieldSelector = void 0;
|
|
4
|
+
const proto_constants_1 = require("./constants/proto.constants");
|
|
5
|
+
class FieldSelector {
|
|
6
|
+
constructor(fields, messageTypes) {
|
|
7
|
+
this.fields = fields;
|
|
8
|
+
this.messageTypes = messageTypes;
|
|
9
|
+
}
|
|
10
|
+
findFieldsByType(typeName, fields) {
|
|
11
|
+
return (fields ? fields : this.fields)
|
|
12
|
+
.filter(this.isMessageType)
|
|
13
|
+
.map((field) => this.mapField(field, typeName))
|
|
14
|
+
.filter((f) => f.fields === undefined || f.fields.length > 0);
|
|
15
|
+
}
|
|
16
|
+
isMessageType(field) {
|
|
17
|
+
return field.type === proto_constants_1.TYPE_MESSAGE;
|
|
18
|
+
}
|
|
19
|
+
mapField(field, typeName) {
|
|
20
|
+
if (field.typeName === typeName) {
|
|
21
|
+
return { name: field.name };
|
|
22
|
+
}
|
|
23
|
+
const fieldDescriptor = this.messageTypes.get(field.typeName);
|
|
24
|
+
if (!fieldDescriptor) {
|
|
25
|
+
throw new Error(`Could not find field definition for type: ${field.typeName}`);
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
name: field.name,
|
|
29
|
+
fields: this.findFieldsByType(typeName, fieldDescriptor),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.FieldSelector = FieldSelector;
|
|
34
|
+
//# sourceMappingURL=field.selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.selector.js","sourceRoot":"","sources":["../../../../src/grpc/services/proto/field.selector.ts"],"names":[],"mappings":";;;AAKA,iEAA2D;AAE3D,MAAa,aAAa;IACxB,YACmB,MAA0B,EAC1B,YAAkC;QADlC,WAAM,GAAN,MAAM,CAAoB;QAC1B,iBAAY,GAAZ,YAAY,CAAsB;IAClD,CAAC;IAEJ,gBAAgB,CACd,QAAgB,EAChB,MAAoC;QAEpC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;aACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;aAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;aAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,aAAa,CAAC,KAAuB;QAC3C,OAAO,KAAK,CAAC,IAAI,KAAK,8BAAY,CAAC;IACrC,CAAC;IAEO,QAAQ,CAAC,KAAuB,EAAE,QAAgB;QACxD,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,6CAA6C,KAAK,CAAC,QAAQ,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC;SACzD,CAAC;IACJ,CAAC;CACF;AArCD,sCAqCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-selector.interface.js","sourceRoot":"","sources":["../../../../../src/grpc/services/proto/interfaces/field-selector.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./field-selector.interface"), exports);
|
|
18
|
+
__exportStar(require("./proto-descriptors.interface"), exports);
|
|
19
|
+
__exportStar(require("./package-definition.interface"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/grpc/services/proto/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,gEAA8C;AAC9C,iEAA+C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-definition.interface.js","sourceRoot":"","sources":["../../../../../src/grpc/services/proto/interfaces/package-definition.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare enum FieldLabel {
|
|
2
|
+
OPTIONAL = "LABEL_OPTIONAL",
|
|
3
|
+
REQUIRED = "LABEL_REQUIRED",
|
|
4
|
+
REPEATED = "LABEL_REPEATED"
|
|
5
|
+
}
|
|
6
|
+
export declare enum FieldType {
|
|
7
|
+
DOUBLE = "TYPE_DOUBLE",
|
|
8
|
+
FLOAT = "TYPE_FLOAT",
|
|
9
|
+
INT32 = "TYPE_INT32",
|
|
10
|
+
UINT32 = "TYPE_UINT32",
|
|
11
|
+
INT64 = "TYPE_INT64",
|
|
12
|
+
UINT64 = "TYPE_UINT64",
|
|
13
|
+
FIXED64 = "TYPE_FIXED64",
|
|
14
|
+
FIXED32 = "TYPE_FIXED32",
|
|
15
|
+
BOOL = "TYPE_BOOL",
|
|
16
|
+
STRING = "TYPE_STRING",
|
|
17
|
+
GROUP = "TYPE_GROUP",
|
|
18
|
+
MESSAGE = "TYPE_MESSAGE",
|
|
19
|
+
BYTES = "TYPE_BYTES",
|
|
20
|
+
ENUM = "TYPE_ENUM",
|
|
21
|
+
SFIXED32 = "TYPE_SFIXED32",
|
|
22
|
+
SFIXED64 = "TYPE_SFIXED64",
|
|
23
|
+
SINT32 = "TYPE_SINT32",
|
|
24
|
+
SINT64 = "TYPE_SINT64"
|
|
25
|
+
}
|
|
26
|
+
export interface FieldOptions {
|
|
27
|
+
deprecated?: boolean;
|
|
28
|
+
packed?: boolean;
|
|
29
|
+
customOptions?: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
export interface IFieldDescriptor {
|
|
32
|
+
name: string;
|
|
33
|
+
extendee: string;
|
|
34
|
+
number: number;
|
|
35
|
+
label: FieldLabel;
|
|
36
|
+
type: FieldType;
|
|
37
|
+
typeName: string;
|
|
38
|
+
defaultValue: string | number | boolean;
|
|
39
|
+
options: FieldOptions;
|
|
40
|
+
oneofIndex: number;
|
|
41
|
+
jsonName: string;
|
|
42
|
+
}
|
|
43
|
+
export type MessageDefinitionMap = ReadonlyMap<string, ReadonlyArray<IFieldDescriptor>>;
|
|
44
|
+
export interface IMessageDefinition {
|
|
45
|
+
field: IFieldDescriptor[];
|
|
46
|
+
}
|
|
47
|
+
export interface IMessageDescriptor {
|
|
48
|
+
type: IMessageDefinition;
|
|
49
|
+
}
|