@pristine-ts/data-mapping 0.0.278 → 0.0.280

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 (109) hide show
  1. package/dist/lib/cjs/builders/auto-data-mapping.builder.js +147 -0
  2. package/dist/lib/cjs/builders/auto-data-mapping.builder.js.map +1 -0
  3. package/dist/lib/cjs/builders/builders.js +1 -0
  4. package/dist/lib/cjs/builders/builders.js.map +1 -1
  5. package/dist/lib/cjs/data-mapping.module.js +1 -5
  6. package/dist/lib/cjs/data-mapping.module.js.map +1 -1
  7. package/dist/lib/cjs/decorators/decorators.js +1 -1
  8. package/dist/lib/cjs/decorators/decorators.js.map +1 -1
  9. package/dist/lib/cjs/decorators/type.decorator.js +20 -0
  10. package/dist/lib/cjs/decorators/type.decorator.js.map +1 -0
  11. package/dist/lib/cjs/mappers/data.mapper.js +18 -4
  12. package/dist/lib/cjs/mappers/data.mapper.js.map +1 -1
  13. package/dist/lib/cjs/nodes/data-mapping.node.js +19 -4
  14. package/dist/lib/cjs/nodes/data-mapping.node.js.map +1 -1
  15. package/dist/lib/cjs/normalizer-options/base-normalizer.options.js +2 -1
  16. package/dist/lib/cjs/normalizer-options/base-normalizer.options.js.map +1 -1
  17. package/dist/lib/cjs/normalizer-options/date-normalizer.options.js +21 -0
  18. package/dist/lib/cjs/normalizer-options/date-normalizer.options.js.map +1 -0
  19. package/dist/lib/cjs/normalizer-options/lowercase-normalizer.options.js.map +1 -1
  20. package/dist/lib/cjs/normalizer-options/normalizer-options.js +3 -0
  21. package/dist/lib/cjs/normalizer-options/normalizer-options.js.map +1 -1
  22. package/dist/lib/cjs/normalizer-options/number-normalizer.options.js +16 -0
  23. package/dist/lib/cjs/normalizer-options/number-normalizer.options.js.map +1 -0
  24. package/dist/lib/cjs/normalizer-options/string-normalizer.options.js +17 -0
  25. package/dist/lib/cjs/normalizer-options/string-normalizer.options.js.map +1 -0
  26. package/dist/lib/cjs/normalizers/date.normalizer.js +73 -0
  27. package/dist/lib/cjs/normalizers/date.normalizer.js.map +1 -0
  28. package/dist/lib/cjs/normalizers/normalizers.js +3 -0
  29. package/dist/lib/cjs/normalizers/normalizers.js.map +1 -1
  30. package/dist/lib/cjs/normalizers/number.normalizer.js +41 -0
  31. package/dist/lib/cjs/normalizers/number.normalizer.js.map +1 -0
  32. package/dist/lib/cjs/normalizers/string.normalizer.js +63 -0
  33. package/dist/lib/cjs/normalizers/string.normalizer.js.map +1 -0
  34. package/dist/lib/cjs/options/auto-data-mapping-builder.options.js +11 -0
  35. package/dist/lib/cjs/options/auto-data-mapping-builder.options.js.map +1 -0
  36. package/dist/lib/esm/builders/auto-data-mapping.builder.js +144 -0
  37. package/dist/lib/esm/builders/auto-data-mapping.builder.js.map +1 -0
  38. package/dist/lib/esm/builders/builders.js +1 -0
  39. package/dist/lib/esm/builders/builders.js.map +1 -1
  40. package/dist/lib/esm/data-mapping.module.js +1 -5
  41. package/dist/lib/esm/data-mapping.module.js.map +1 -1
  42. package/dist/lib/esm/decorators/decorators.js +1 -1
  43. package/dist/lib/esm/decorators/decorators.js.map +1 -1
  44. package/dist/lib/esm/decorators/type.decorator.js +16 -0
  45. package/dist/lib/esm/decorators/type.decorator.js.map +1 -0
  46. package/dist/lib/esm/mappers/data.mapper.js +18 -4
  47. package/dist/lib/esm/mappers/data.mapper.js.map +1 -1
  48. package/dist/lib/esm/nodes/data-mapping.node.js +19 -4
  49. package/dist/lib/esm/nodes/data-mapping.node.js.map +1 -1
  50. package/dist/lib/esm/normalizer-options/base-normalizer.options.js +2 -1
  51. package/dist/lib/esm/normalizer-options/base-normalizer.options.js.map +1 -1
  52. package/dist/lib/esm/normalizer-options/date-normalizer.options.js +17 -0
  53. package/dist/lib/esm/normalizer-options/date-normalizer.options.js.map +1 -0
  54. package/dist/lib/esm/normalizer-options/lowercase-normalizer.options.js.map +1 -1
  55. package/dist/lib/esm/normalizer-options/normalizer-options.js +3 -0
  56. package/dist/lib/esm/normalizer-options/normalizer-options.js.map +1 -1
  57. package/dist/lib/esm/normalizer-options/number-normalizer.options.js +12 -0
  58. package/dist/lib/esm/normalizer-options/number-normalizer.options.js.map +1 -0
  59. package/dist/lib/esm/normalizer-options/string-normalizer.options.js +13 -0
  60. package/dist/lib/esm/normalizer-options/string-normalizer.options.js.map +1 -0
  61. package/dist/lib/esm/normalizers/date.normalizer.js +70 -0
  62. package/dist/lib/esm/normalizers/date.normalizer.js.map +1 -0
  63. package/dist/lib/esm/normalizers/normalizers.js +3 -0
  64. package/dist/lib/esm/normalizers/normalizers.js.map +1 -1
  65. package/dist/lib/esm/normalizers/number.normalizer.js +38 -0
  66. package/dist/lib/esm/normalizers/number.normalizer.js.map +1 -0
  67. package/dist/lib/esm/normalizers/string.normalizer.js +60 -0
  68. package/dist/lib/esm/normalizers/string.normalizer.js.map +1 -0
  69. package/dist/lib/esm/options/auto-data-mapping-builder.options.js +7 -0
  70. package/dist/lib/esm/options/auto-data-mapping-builder.options.js.map +1 -0
  71. package/dist/types/builders/auto-data-mapping.builder.d.ts +25 -0
  72. package/dist/types/builders/builders.d.ts +1 -0
  73. package/dist/types/data-mapping.module.d.ts +0 -1
  74. package/dist/types/decorators/decorators.d.ts +1 -1
  75. package/dist/types/decorators/type.decorator.d.ts +2 -0
  76. package/dist/types/mappers/data.mapper.d.ts +11 -1
  77. package/dist/types/nodes/data-mapping.node.d.ts +10 -0
  78. package/dist/types/normalizer-options/base-normalizer.options.d.ts +2 -2
  79. package/dist/types/normalizer-options/date-normalizer.options.d.ts +12 -0
  80. package/dist/types/normalizer-options/lowercase-normalizer.options.d.ts +1 -1
  81. package/dist/types/normalizer-options/normalizer-options.d.ts +3 -0
  82. package/dist/types/normalizer-options/number-normalizer.options.d.ts +8 -0
  83. package/dist/types/normalizer-options/string-normalizer.options.d.ts +12 -0
  84. package/dist/types/normalizers/date.normalizer.d.ts +6 -0
  85. package/dist/types/normalizers/normalizers.d.ts +3 -0
  86. package/dist/types/normalizers/number.normalizer.d.ts +6 -0
  87. package/dist/types/normalizers/string.normalizer.d.ts +6 -0
  88. package/dist/types/options/auto-data-mapping-builder.options.d.ts +11 -0
  89. package/package.json +5 -7
  90. package/dist/lib/cjs/decorators/body-mapping.decorator.js +0 -50
  91. package/dist/lib/cjs/decorators/body-mapping.decorator.js.map +0 -1
  92. package/dist/lib/cjs/interfaces/body-mapping-context.interface.js +0 -3
  93. package/dist/lib/cjs/interfaces/body-mapping-context.interface.js.map +0 -1
  94. package/dist/lib/cjs/request-interceptors/body-mapping.request-interceptor.js +0 -80
  95. package/dist/lib/cjs/request-interceptors/body-mapping.request-interceptor.js.map +0 -1
  96. package/dist/lib/cjs/request-interceptors/request-interceptors.js +0 -18
  97. package/dist/lib/cjs/request-interceptors/request-interceptors.js.map +0 -1
  98. package/dist/lib/esm/decorators/body-mapping.decorator.js +0 -46
  99. package/dist/lib/esm/decorators/body-mapping.decorator.js.map +0 -1
  100. package/dist/lib/esm/interfaces/body-mapping-context.interface.js +0 -2
  101. package/dist/lib/esm/interfaces/body-mapping-context.interface.js.map +0 -1
  102. package/dist/lib/esm/request-interceptors/body-mapping.request-interceptor.js +0 -77
  103. package/dist/lib/esm/request-interceptors/body-mapping.request-interceptor.js.map +0 -1
  104. package/dist/lib/esm/request-interceptors/request-interceptors.js +0 -2
  105. package/dist/lib/esm/request-interceptors/request-interceptors.js.map +0 -1
  106. package/dist/types/decorators/body-mapping.decorator.d.ts +0 -10
  107. package/dist/types/interfaces/body-mapping-context.interface.d.ts +0 -18
  108. package/dist/types/request-interceptors/body-mapping.request-interceptor.d.ts +0 -20
  109. package/dist/types/request-interceptors/request-interceptors.d.ts +0 -1
@@ -1,77 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
23
- import { inject, injectable } from "tsyringe";
24
- import { DataMapper } from "../mappers/data.mapper";
25
- import { bodyMappingDecoratorMetadataKeyname } from "../decorators/body-mapping.decorator";
26
- import { plainToInstance } from "class-transformer";
27
- import { DataMappingModuleKeyname } from "../data-mapping.module.keyname";
28
- /**
29
- * This class is an interceptor that maps the body of an incoming request.
30
- * It is tagged as an RequestInterceptor so it can be automatically injected with the all the other RequestInterceptors.
31
- * It is module scoped to the Validation module so that it is only registered if the validation module is imported.
32
- */
33
- let BodyMappingRequestInterceptor = class BodyMappingRequestInterceptor {
34
- constructor(loghandler, dataMapper) {
35
- this.loghandler = loghandler;
36
- this.dataMapper = dataMapper;
37
- }
38
- /**
39
- * Intercepts the request and maps that the body to the corresponding argument passed in the `@bodyMapping` validator
40
- * @param request The request being intercepted.
41
- * @param methodNode The method node.
42
- */
43
- interceptRequest(request, methodNode) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const bodyMapping = methodNode.route.context[bodyMappingDecoratorMetadataKeyname];
46
- if (bodyMapping === undefined) {
47
- return request;
48
- }
49
- this.loghandler.debug("BodyMappingRequestInterceptor", {
50
- request,
51
- methodNode,
52
- routeContext: methodNode.route.context,
53
- }, DataMappingModuleKeyname);
54
- switch (bodyMapping.type) {
55
- case "classType":
56
- request.body = plainToInstance(bodyMapping.classType, request.body);
57
- break;
58
- case "DataMappingBuilder":
59
- request.body = yield this.dataMapper.map(bodyMapping.dataMappingBuilder, request.body, bodyMapping.destination);
60
- break;
61
- case "function":
62
- request.body = bodyMapping.function(request.body);
63
- break;
64
- }
65
- return request;
66
- });
67
- }
68
- };
69
- BodyMappingRequestInterceptor = __decorate([
70
- moduleScoped(DataMappingModuleKeyname),
71
- tag(ServiceDefinitionTagEnum.RequestInterceptor),
72
- injectable(),
73
- __param(0, inject("LogHandlerInterface")),
74
- __metadata("design:paramtypes", [Object, DataMapper])
75
- ], BodyMappingRequestInterceptor);
76
- export { BodyMappingRequestInterceptor };
77
- //# sourceMappingURL=body-mapping.request-interceptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"body-mapping.request-interceptor.js","sourceRoot":"","sources":["../../../../src/request-interceptors/body-mapping.request-interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,YAAY,EAAW,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,mCAAmC,EAAC,MAAM,sCAAsC,CAAC;AAKzF,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AAExE;;;;GAIG;AAII,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IACtC,YAA4D,UAA+B,EAC9D,UAAsB;QADS,eAAU,GAAV,UAAU,CAAqB;QAC9D,eAAU,GAAV,UAAU,CAAY;IACnD,CAAC;IAED;;;;OAIG;IACG,gBAAgB,CAAC,OAAgB,EAAE,UAA4B;;YACjE,MAAM,WAAW,GAAsI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAErN,IAAG,WAAW,KAAK,SAAS,EAAE;gBAC1B,OAAO,OAAO,CAAC;aAClB;YAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACnD,OAAO;gBACP,UAAU;gBACV,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;aACzC,EAAE,wBAAwB,CAAC,CAAA;YAE5B,QAAQ,WAAW,CAAC,IAAI,EAAE;gBACtB,KAAK,WAAW;oBACZ,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpE,MAAM;gBAEV,KAAK,oBAAoB;oBACrB,OAAO,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;oBAChH,MAAM;gBAEV,KAAK,UAAU;oBACX,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM;aACb;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;CACJ,CAAA;AAvCY,6BAA6B;IAHzC,YAAY,CAAC,wBAAwB,CAAC;IACtC,GAAG,CAAC,wBAAwB,CAAC,kBAAkB,CAAC;IAChD,UAAU,EAAE;IAEI,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;6CACD,UAAU;GAF1C,6BAA6B,CAuCzC"}
@@ -1,2 +0,0 @@
1
- export * from "./body-mapping.request-interceptor";
2
- //# sourceMappingURL=request-interceptors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-interceptors.js","sourceRoot":"","sources":["../../../../src/request-interceptors/request-interceptors.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA"}
@@ -1,10 +0,0 @@
1
- import { DataMappingBuilder } from "../builders/data-mapping.builder";
2
- import { ClassConstructor } from "class-transformer";
3
- export declare const bodyMappingDecoratorMetadataKeyname = "@bodyMappingDecorator";
4
- /**
5
- * The bodyMapping decorator can be used to map the body to another object.
6
- */
7
- export declare const bodyMapping: (argument: ClassConstructor<any> | {
8
- builder: DataMappingBuilder;
9
- destination?: ClassConstructor<any> | undefined;
10
- } | ((body: any) => any)) => (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => void;
@@ -1,18 +0,0 @@
1
- import { DataMappingBuilder } from "../builders/data-mapping.builder";
2
- import { ClassConstructor } from "class-transformer";
3
- export interface BodyMappingContextInterface {
4
- type: "function" | "classType" | "DataMappingBuilder";
5
- }
6
- export interface FunctionBodyMappingContextInterface extends BodyMappingContextInterface {
7
- type: "function";
8
- function: ((body: any) => any);
9
- }
10
- export interface ClassTransformerBodyMappingContextInterface extends BodyMappingContextInterface {
11
- type: "classType";
12
- classType: ClassConstructor<any>;
13
- }
14
- export interface DataMappingBuilderBodyMappingContextInterface extends BodyMappingContextInterface {
15
- type: "DataMappingBuilder";
16
- dataMappingBuilder: DataMappingBuilder;
17
- destination?: ClassConstructor<any>;
18
- }
@@ -1,20 +0,0 @@
1
- import { Request } from "@pristine-ts/common";
2
- import { MethodRouterNode, RequestInterceptorInterface } from "@pristine-ts/networking";
3
- import { LogHandlerInterface } from "@pristine-ts/logging";
4
- import { DataMapper } from "../mappers/data.mapper";
5
- /**
6
- * This class is an interceptor that maps the body of an incoming request.
7
- * It is tagged as an RequestInterceptor so it can be automatically injected with the all the other RequestInterceptors.
8
- * It is module scoped to the Validation module so that it is only registered if the validation module is imported.
9
- */
10
- export declare class BodyMappingRequestInterceptor implements RequestInterceptorInterface {
11
- private readonly loghandler;
12
- private readonly dataMapper;
13
- constructor(loghandler: LogHandlerInterface, dataMapper: DataMapper);
14
- /**
15
- * Intercepts the request and maps that the body to the corresponding argument passed in the `@bodyMapping` validator
16
- * @param request The request being intercepted.
17
- * @param methodNode The method node.
18
- */
19
- interceptRequest(request: Request, methodNode: MethodRouterNode): Promise<Request>;
20
- }
@@ -1 +0,0 @@
1
- export * from "./body-mapping.request-interceptor";