@russ-b/nestjs-common-tools 1.1.21 → 1.1.23

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.
@@ -25,26 +25,31 @@ let StructInterceptor = class StructInterceptor {
25
25
  const { service, rpc } = Reflect.getMetadata(constants_1.PATTERN_METADATA, context.getHandler())[0];
26
26
  const protoFields = this.packageDefinitionService.getRequestFields(service, rpc);
27
27
  const fields = this.packageDefinitionService.findFieldsByType(protoFields, GOOGLE_PROTOBUF_STRUCT);
28
- context.getArgs()[0] = this.traverseAndTransform(grpcContext.getData(), fields);
28
+ context.getArgs()[0] = this.traverseAndTransform(grpcContext.getData(), fields, transformers_1.StructTransformer.toObject);
29
29
  return next.handle().pipe((0, rxjs_1.map)((data) => {
30
30
  const protoFields = this.packageDefinitionService.getResponseFields(service, rpc);
31
31
  const fields = this.packageDefinitionService.findFieldsByType(protoFields, GOOGLE_PROTOBUF_STRUCT);
32
- fields.forEach((f) => {
33
- if (Array.isArray(data[f.name])) {
34
- data[f.name] = data[f.name].map((v) => transformers_1.StructTransformer.toStruct(v));
35
- }
36
- else {
37
- data[f.name] = transformers_1.StructTransformer.toStruct(data[f.name]);
38
- }
39
- });
40
- return data;
32
+ return this.traverseAndTransform(data, fields, transformers_1.StructTransformer.toStruct);
41
33
  }));
42
34
  }
43
- traverseAndTransform(obj, fields) {
44
- fields.forEach((f) => (obj[f.name] = f.fields?.length
45
- ? this.traverseAndTransform(obj[f.name], f.fields)
46
- : transformers_1.StructTransformer.toObject(obj[f.name])));
47
- return obj;
35
+ traverseAndTransform(obj, fields, transformer) {
36
+ if (!obj) {
37
+ return obj;
38
+ }
39
+ if (Array.isArray(obj)) {
40
+ return obj.map((item) => this.traverseAndTransform(item, fields, transformer));
41
+ }
42
+ const result = { ...obj };
43
+ fields.forEach((f) => {
44
+ const key = f.name;
45
+ if (f.fields?.length) {
46
+ result[key] = this.traverseAndTransform(result[key], f.fields, transformer);
47
+ }
48
+ else {
49
+ result[key] = transformer(result[key]);
50
+ }
51
+ });
52
+ return result;
48
53
  }
49
54
  };
50
55
  exports.StructInterceptor = StructInterceptor;
@@ -1 +1 @@
1
- {"version":3,"file":"struct.interceptor.js","sourceRoot":"","sources":["../../../src/grpc/interceptors/struct.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AACxB,+BAAuC;AACvC,kDAAoD;AACpD,0CAA2D;AAC3D,+DAAmE;AAGnE,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAGjD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YACmB,wBAAsD;QAAtD,6BAAwB,GAAxB,wBAAwB,CAA8B;IACtE,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,CAAC,gBAAgB,CAChE,OAAO,EACP,GAAG,CACJ,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAC3D,WAAW,EACX,sBAAsB,CACvB,CAAC;QAEF,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAC9C,WAAW,CAAC,OAAO,EAAE,EACrB,MAAM,CACP,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,UAAG,EAAC,CAAC,IAAS,EAAE,EAAE;YAChB,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CACjE,OAAO,EACP,GAAG,CACJ,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAC3D,WAAW,EACX,sBAAsB,CACvB,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACzC,gCAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC9B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,gCAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,GAAQ,EAAE,MAAqB;QAC1D,MAAM,CAAC,OAAO,CACZ,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM;YAC7B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;YAClD,CAAC,CAAC,gCAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/C,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAA;AA5DY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGkC,uCAA4B;GAF9D,iBAAiB,CA4D7B"}
1
+ {"version":3,"file":"struct.interceptor.js","sourceRoot":"","sources":["../../../src/grpc/interceptors/struct.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AACxB,+BAAuC;AACvC,kDAAoD;AACpD,0CAA2D;AAC3D,+DAAmE;AAGnE,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAGjD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YACmB,wBAAsD;QAAtD,6BAAwB,GAAxB,wBAAwB,CAA8B;IACtE,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,CAAC,gBAAgB,CAChE,OAAO,EACP,GAAG,CACJ,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAC3D,WAAW,EACX,sBAAsB,CACvB,CAAC;QAEF,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,CAAC,iBAAiB,CACjE,OAAO,EACP,GAAG,CACJ,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAC3D,WAAW,EACX,sBAAsB,CACvB,CAAC;YAEF,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;AA9EY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGkC,uCAA4B;GAF9D,iBAAiB,CA8E7B"}