@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.normalizer.js","sourceRoot":"","sources":["../../../../src/normalizers/date.normalizer.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAGpC,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGnD,IAAM,cAAc,sBAApB,MAAM,cAAc;IACvB,YAAY;QACR,OAAO,gBAAc,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,OAA+B;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,4BAA4B,MAAK,KAAK,EAAE;gBACjD,OAAO,IAAI,IAAI,EAAE,CAAC;aACrB;YAED,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,IAAU,CAAC;QAEf,QAAQ,QAAQ,EAAE;YACd,KAAK,QAAQ,CAAC,MAAM;gBAChB,IAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,MAAK,SAAS,EAAE;oBACpC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;iBAC1B;YAEL,KAAK,QAAQ,CAAC,MAAM;gBAChB,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;gBAExB,IAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;oBACvB,OAAO,IAAI,CAAC;iBACf;gBAED,MAAM;YAEV,KAAK,QAAQ,CAAC,MAAM;gBAChB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAElB,yEAAyE;gBACzE,IAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;oBAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iBACpC;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;oBAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;iBAClC;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;oBAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC/B;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;oBAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;iBAClC;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;oBACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;iBACtC;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;oBACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;iBACtC;gBAED,IAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;oBACvB,OAAO,IAAI,CAAC;iBACf;gBAED,MAAM;SACb;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,4BAA4B,MAAK,KAAK,EAAE;YACjD,OAAO,IAAI,IAAI,EAAE,CAAC;SACrB;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CAEJ,CAAA;AAtEY,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAsE1B"}
@@ -1,2 +1,5 @@
1
+ export * from "./date.normalizer";
1
2
  export * from "./lowercase.normalizer";
3
+ export * from "./number.normalizer";
4
+ export * from "./string.normalizer";
2
5
  //# sourceMappingURL=normalizers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalizers.js","sourceRoot":"","sources":["../../../../src/normalizers/normalizers.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"normalizers.js","sourceRoot":"","sources":["../../../../src/normalizers/normalizers.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,38 @@
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 NumberNormalizer_1;
8
+ import { injectable } from "tsyringe";
9
+ import { TypeEnum, TypeUtils } from "@pristine-ts/metadata";
10
+ let NumberNormalizer = NumberNormalizer_1 = class NumberNormalizer {
11
+ getUniqueKey() {
12
+ return NumberNormalizer_1.name;
13
+ }
14
+ normalize(source, options) {
15
+ const typeEnum = TypeUtils.getTypeOfValue(source);
16
+ switch (typeEnum) {
17
+ case TypeEnum.String:
18
+ const value = parseFloat(source);
19
+ if (isNaN(value) === false) {
20
+ return value;
21
+ }
22
+ break;
23
+ case TypeEnum.Number:
24
+ return source;
25
+ }
26
+ if (typeEnum === undefined || typeEnum === TypeEnum.Null) {
27
+ if ((options === null || options === void 0 ? void 0 : options.ignoreUndefined) === false) {
28
+ return 0;
29
+ }
30
+ return undefined;
31
+ }
32
+ }
33
+ };
34
+ NumberNormalizer = NumberNormalizer_1 = __decorate([
35
+ injectable()
36
+ ], NumberNormalizer);
37
+ export { NumberNormalizer };
38
+ //# sourceMappingURL=number.normalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.normalizer.js","sourceRoot":"","sources":["../../../../src/normalizers/number.normalizer.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAGpC,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGnD,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IACzB,YAAY;QACR,OAAO,kBAAgB,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,OAAiC;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAElD,QAAQ,QAAQ,EAAE;YACd,KAAK,QAAQ,CAAC,MAAM;gBAChB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEjC,IAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;oBACvB,OAAO,KAAK,CAAC;iBAChB;gBACD,MAAM;YAEV,KAAK,QAAQ,CAAC,MAAM;gBAChB,OAAO,MAAM,CAAC;SACrB;QAED,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;YACtD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,MAAK,KAAK,EAAE;gBACpC,OAAO,CAAC,CAAC;aACZ;YAED,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;CACJ,CAAA;AA7BY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CA6B5B"}
@@ -0,0 +1,60 @@
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 StringNormalizer_1;
8
+ import { injectable } from "tsyringe";
9
+ import { TypeEnum, TypeUtils } from "@pristine-ts/metadata";
10
+ import { format } from "date-fns";
11
+ let StringNormalizer = StringNormalizer_1 = class StringNormalizer {
12
+ getUniqueKey() {
13
+ return StringNormalizer_1.name;
14
+ }
15
+ normalize(source, options) {
16
+ const typeEnum = TypeUtils.getTypeOfValue(source);
17
+ if (typeEnum === undefined || typeEnum === TypeEnum.Null) {
18
+ if ((options === null || options === void 0 ? void 0 : options.ignoreUndefined) === false) {
19
+ return "";
20
+ }
21
+ return undefined;
22
+ }
23
+ switch (typeEnum) {
24
+ case TypeEnum.String:
25
+ return source;
26
+ case TypeEnum.Number:
27
+ return "" + source;
28
+ case TypeEnum.Boolean:
29
+ return source ? "true" : "false";
30
+ case TypeEnum.Date:
31
+ if (options === null || options === void 0 ? void 0 : options.dateFormat) {
32
+ return format(source, options.dateFormat);
33
+ }
34
+ // This will return the default format we want: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toJSON
35
+ return source.toJSON();
36
+ case TypeEnum.Array:
37
+ return source.map((item) => this.normalize(item, options));
38
+ case TypeEnum.Symbol:
39
+ return source.toString();
40
+ case TypeEnum.Object:
41
+ if (source.hasOwnProperty("toString") === true) {
42
+ return source.toString();
43
+ }
44
+ try {
45
+ return JSON.stringify(source);
46
+ }
47
+ catch (e) {
48
+ return "" + source;
49
+ }
50
+ // For now, let's do that for other types. We can make it better eventually.
51
+ default:
52
+ return "" + source;
53
+ }
54
+ }
55
+ };
56
+ StringNormalizer = StringNormalizer_1 = __decorate([
57
+ injectable()
58
+ ], StringNormalizer);
59
+ export { StringNormalizer };
60
+ //# sourceMappingURL=string.normalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.normalizer.js","sourceRoot":"","sources":["../../../../src/normalizers/string.normalizer.ts"],"names":[],"mappings":";;;;;;;AACA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAGzB,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IACzB,YAAY;QACR,OAAO,kBAAgB,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,OAAiC;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;YACtD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,MAAK,KAAK,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,OAAO,SAAS,CAAC;SACpB;QAED,QAAQ,QAAQ,EAAE;YACd,KAAK,QAAQ,CAAC,MAAM;gBAChB,OAAO,MAAM,CAAC;YAElB,KAAK,QAAQ,CAAC,MAAM;gBAChB,OAAO,EAAE,GAAG,MAAM,CAAC;YAEvB,KAAK,QAAQ,CAAC,OAAO;gBACjB,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAErC,KAAK,QAAQ,CAAC,IAAI;gBACd,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE;oBACrB,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;iBAC7C;gBAED,4IAA4I;gBAC5I,OAAQ,MAAe,CAAC,MAAM,EAAE,CAAC;YAErC,KAAK,QAAQ,CAAC,KAAK;gBACf,OAAO,MAAM,CAAC,GAAG,CAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAErE,KAAK,QAAQ,CAAC,MAAM;gBAChB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;YAE7B,KAAK,QAAQ,CAAC,MAAM;gBAChB,IAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;oBAC3C,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;iBAC5B;gBAED,IAAI;oBACA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;iBACjC;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,EAAE,GAAG,MAAM,CAAA;iBACrB;YAED,4EAA4E;YAChF;gBACI,OAAO,EAAE,GAAG,MAAM,CAAC;SAC1B;IACL,CAAC;CACJ,CAAA;AAxDY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAwD5B"}
@@ -0,0 +1,7 @@
1
+ export class AutoDataMappingBuilderOptions {
2
+ constructor(options) {
3
+ var _a;
4
+ this.isOptionalDefaultValue = (_a = options === null || options === void 0 ? void 0 : options.isOptionalDefaultValue) !== null && _a !== void 0 ? _a : false;
5
+ }
6
+ }
7
+ //# sourceMappingURL=auto-data-mapping-builder.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-data-mapping-builder.options.js","sourceRoot":"","sources":["../../../../src/options/auto-data-mapping-builder.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,6BAA6B;IAUtC,YAAY,OAAgD;;QACxD,IAAI,CAAC,sBAAsB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,mCAAI,KAAK,CAAC;IAC3E,CAAC;CACJ"}
@@ -0,0 +1,25 @@
1
+ import { ClassConstructor } from "class-transformer";
2
+ import { DataMappingBuilder } from "./data-mapping.builder";
3
+ import { AutoDataMappingBuilderOptions } from "../options/auto-data-mapping-builder.options";
4
+ export declare class AutoDataMappingBuilder {
5
+ /**
6
+ * This method receives a source object and a destinationType that corresponds to the type of the class
7
+ * that the source should be mapped to. It then creates a DataMappingBuilder object that contains the schema
8
+ * needed to map the source to the destinationType.
9
+ * @param source
10
+ * @param destinationType
11
+ * @param options
12
+ */
13
+ build(source: any, destinationType: ClassConstructor<any>, options?: AutoDataMappingBuilderOptions): DataMappingBuilder;
14
+ /**
15
+ * This method is the internal method that is called recursively to build the schema.
16
+ *
17
+ * @param source
18
+ * @param destinationType
19
+ * @param root
20
+ * @param parent
21
+ * @param options
22
+ * @private
23
+ */
24
+ private internalBuild;
25
+ }
@@ -1 +1,2 @@
1
+ export * from "./auto-data-mapping.builder";
1
2
  export * from "./data-mapping.builder";
@@ -9,6 +9,5 @@ export * from "./mappers/mappers";
9
9
  export * from "./nodes/nodes";
10
10
  export * from "./normalizer-options/normalizer-options";
11
11
  export * from "./normalizers/normalizers";
12
- export * from "./request-interceptors/request-interceptors";
13
12
  export * from "./types/types";
14
13
  export declare const DataMappingModule: ModuleInterface;
@@ -1 +1 @@
1
- export * from "./body-mapping.decorator";
1
+ export * from "./type.decorator";
@@ -0,0 +1,2 @@
1
+ export type TypeFactoryCallback = (target: any, propertyKey: string) => any;
2
+ export declare const type: (callback: TypeFactoryCallback) => (target: any, propertyKey: string | symbol) => void;
@@ -2,12 +2,15 @@ import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface
2
2
  import { DataMappingInterceptorInterface } from "../interfaces/data-mapping-interceptor.interface";
3
3
  import { DataMappingBuilder } from "../builders/data-mapping.builder";
4
4
  import { ClassConstructor } from "class-transformer";
5
+ import { AutoDataMappingBuilder } from "../builders/auto-data-mapping.builder";
6
+ import { AutoDataMappingBuilderOptions } from "../options/auto-data-mapping-builder.options";
5
7
  export declare class DataMapper {
8
+ private readonly autoDataMappingBuilder;
6
9
  private readonly dataNormalizers;
7
10
  private readonly dataTransformerInterceptors;
8
11
  private readonly dataNormalizersMap;
9
12
  private readonly dataTransformerInterceptorsMap;
10
- constructor(dataNormalizers: DataNormalizerInterface<any, any>[], dataTransformerInterceptors: DataMappingInterceptorInterface[]);
13
+ constructor(autoDataMappingBuilder: AutoDataMappingBuilder, dataNormalizers: DataNormalizerInterface<any, any>[], dataTransformerInterceptors: DataMappingInterceptorInterface[]);
11
14
  /**
12
15
  * This method takes an array of source and maps each item.
13
16
  *
@@ -16,6 +19,13 @@ export declare class DataMapper {
16
19
  * @param destinationType
17
20
  */
18
21
  mapAll(builder: DataMappingBuilder, source: any[], destinationType?: ClassConstructor<any>): Promise<any[]>;
22
+ /**
23
+ * This method automatically maps a source object into the DestinationType.
24
+ * @param source
25
+ * @param destinationType
26
+ * @param options
27
+ */
28
+ autoMap(source: any, destinationType: ClassConstructor<any>, options?: AutoDataMappingBuilderOptions): Promise<any>;
19
29
  /**
20
30
  * This method takes a builder, a source and maps it according to the builder. You can pass a `destinationType (optional)`
21
31
  * that is an object that will be constructed.
@@ -4,6 +4,7 @@ import { DataMappingBuilder } from "../builders/data-mapping.builder";
4
4
  import { BaseDataMappingNode } from "./base-data-mapping.node";
5
5
  import { DataNormalizerUniqueKey } from "../types/data-normalizer-unique-key.type";
6
6
  import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface";
7
+ import { ClassConstructor } from "class-transformer";
7
8
  export declare class DataMappingNode extends BaseDataMappingNode {
8
9
  readonly root: DataMappingBuilder;
9
10
  readonly parent: DataMappingNode | DataMappingBuilder;
@@ -20,6 +21,10 @@ export declare class DataMappingNode extends BaseDataMappingNode {
20
21
  * This method specified whether it's possible that this element not be present in the `source` object.
21
22
  */
22
23
  isOptional: boolean;
24
+ /**
25
+ * IMPORTANT: This property is not serializable. It will be lost during the export.
26
+ */
27
+ destinationType?: ClassConstructor<any>;
23
28
  constructor(root: DataMappingBuilder, parent: DataMappingNode | DataMappingBuilder, type?: DataMappingNodeTypeEnum);
24
29
  /**
25
30
  * This is a setter for `sourceProperty`.
@@ -31,6 +36,11 @@ export declare class DataMappingNode extends BaseDataMappingNode {
31
36
  * @param destinationProperty
32
37
  */
33
38
  setDestinationProperty(destinationProperty: string): DataMappingNode;
39
+ /**
40
+ * This is a setter for `destinationType`.
41
+ * @param destinationType
42
+ */
43
+ setDestinationType(destinationType: ClassConstructor<any>): DataMappingNode;
34
44
  /**
35
45
  * This is a setter for `isOptional`.
36
46
  * @param isOptional
@@ -1,4 +1,4 @@
1
1
  export declare abstract class BaseNormalizerOptions {
2
- shouldThrowIfTypeIsNotString?: boolean;
3
- constructor(options?: BaseNormalizerOptions);
2
+ shouldThrowIfTypeIsNotString: boolean;
3
+ constructor(options?: Partial<BaseNormalizerOptions>);
4
4
  }
@@ -0,0 +1,12 @@
1
+ export declare class DateNormalizerOptions {
2
+ /**
3
+ * This property specifies whether an invalid date should return undefined or a date object.
4
+ */
5
+ returnUndefinedOnInvalidDate: boolean;
6
+ /**
7
+ * This property specifies if a number should be treated as being in seconds or not. Since JS Date expects a
8
+ * timestamp in milliseconds, if the number is in seconds, it will be multiplied by 1000.
9
+ */
10
+ treatNumbers: "milliseconds" | "seconds";
11
+ constructor(options?: Partial<DateNormalizerOptions>);
12
+ }
@@ -1,4 +1,4 @@
1
1
  import { BaseNormalizerOptions } from "./base-normalizer.options";
2
2
  export declare class LowercaseNormalizerOptions extends BaseNormalizerOptions {
3
- constructor(options?: LowercaseNormalizerOptions);
3
+ constructor(options?: Partial<LowercaseNormalizerOptions>);
4
4
  }
@@ -1,2 +1,5 @@
1
1
  export * from "./base-normalizer.options";
2
+ export * from "./date-normalizer.options";
2
3
  export * from "./lowercase-normalizer.options";
4
+ export * from "./number-normalizer.options";
5
+ export * from "./string-normalizer.options";
@@ -0,0 +1,8 @@
1
+ export declare class NumberNormalizerOptions {
2
+ /**
3
+ * This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
4
+ * and return an empty string `""`.
5
+ */
6
+ ignoreUndefined: boolean;
7
+ constructor(options?: Partial<NumberNormalizerOptions>);
8
+ }
@@ -0,0 +1,12 @@
1
+ export declare class StringNormalizerOptions {
2
+ /**
3
+ * This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
4
+ * and return an empty string `""`.
5
+ */
6
+ ignoreUndefined: boolean;
7
+ /**
8
+ * This represents the format of the date that the normalizer should use when outputting a date object to a string.
9
+ */
10
+ dateFormat?: string;
11
+ constructor(options?: Partial<StringNormalizerOptions>);
12
+ }
@@ -0,0 +1,6 @@
1
+ import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface";
2
+ import { DateNormalizerOptions } from "../normalizer-options/date-normalizer.options";
3
+ export declare class DateNormalizer implements DataNormalizerInterface<Date | undefined, DateNormalizerOptions> {
4
+ getUniqueKey(): string;
5
+ normalize(source: any, options?: DateNormalizerOptions): Date | undefined;
6
+ }
@@ -1 +1,4 @@
1
+ export * from "./date.normalizer";
1
2
  export * from "./lowercase.normalizer";
3
+ export * from "./number.normalizer";
4
+ export * from "./string.normalizer";
@@ -0,0 +1,6 @@
1
+ import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface";
2
+ import { NumberNormalizerOptions } from "../normalizer-options/number-normalizer.options";
3
+ export declare class NumberNormalizer implements DataNormalizerInterface<number | undefined, NumberNormalizerOptions> {
4
+ getUniqueKey(): string;
5
+ normalize(source: any, options?: NumberNormalizerOptions): number | undefined;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface";
2
+ import { StringNormalizerOptions } from "../normalizer-options/string-normalizer.options";
3
+ export declare class StringNormalizer implements DataNormalizerInterface<string | undefined, StringNormalizerOptions> {
4
+ getUniqueKey(): string;
5
+ normalize(source: any, options?: StringNormalizerOptions): string | undefined;
6
+ }
@@ -0,0 +1,11 @@
1
+ export declare class AutoDataMappingBuilderOptions {
2
+ /**
3
+ * This property is used to specify the default value for the `ìsOptional` property in the builder.
4
+ *
5
+ * It will not override the `isNullable` metadata for the property.
6
+ *
7
+ * Default value is `false`.
8
+ */
9
+ isOptionalDefaultValue: boolean;
10
+ constructor(options?: Partial<AutoDataMappingBuilderOptions>);
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristine-ts/data-mapping",
3
- "version": "0.0.278",
3
+ "version": "0.0.280",
4
4
  "description": "",
5
5
  "module": "dist/lib/esm/data-mapping.module.js",
6
6
  "main": "dist/lib/cjs/data-mapping.module.js",
@@ -20,12 +20,10 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "@pristine-ts/class-validator": "^1.0.22",
24
- "@pristine-ts/common": "^0.0.278",
25
- "@pristine-ts/logging": "^0.0.278",
26
- "@pristine-ts/metadata": "~1.0.2",
27
- "@pristine-ts/networking": "^0.0.278",
23
+ "@pristine-ts/common": "^0.0.280",
24
+ "@pristine-ts/metadata": "~1.0.6",
28
25
  "class-transformer": "^0.5.1",
26
+ "date-fns": "^3.3.1",
29
27
  "tsyringe": "^4.8.0"
30
28
  },
31
29
  "jest": {
@@ -65,5 +63,5 @@
65
63
  "jest-extended/all"
66
64
  ]
67
65
  },
68
- "gitHead": "919af75933ff21c315d4e2d0aa6f5a2be98b6752"
66
+ "gitHead": "ac2860283b9b0fe9df0d09beb4a1f7cc4009399e"
69
67
  }
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bodyMapping = exports.bodyMappingDecoratorMetadataKeyname = void 0;
4
- const common_1 = require("@pristine-ts/common");
5
- exports.bodyMappingDecoratorMetadataKeyname = "@bodyMappingDecorator";
6
- /**
7
- * The bodyMapping decorator can be used to map the body to another object.
8
- */
9
- const bodyMapping = (argument) => {
10
- return (
11
- /**
12
- * The class on which the decorator is used.
13
- */
14
- target,
15
- /**
16
- * The method on which the decorator is used.
17
- */
18
- propertyKey,
19
- /**
20
- * The descriptor of the property.
21
- */
22
- descriptor) => {
23
- var _a;
24
- let context;
25
- if (argument.hasOwnProperty("builder")) {
26
- context = {
27
- type: "DataMappingBuilder",
28
- // @ts-ignore It will exist if it has the property above.
29
- dataMappingBuilder: argument.builder,
30
- // @ts-ignore If it doesn't exist, it shouldn't worry about it, but it does...
31
- destination: (_a = argument.destination) !== null && _a !== void 0 ? _a : undefined,
32
- };
33
- }
34
- else if (typeof argument === "function" && argument.hasOwnProperty("prototype") && argument.prototype.hasOwnProperty("constructor")) {
35
- context = {
36
- type: "classType",
37
- classType: argument,
38
- };
39
- }
40
- else {
41
- context = {
42
- type: "function",
43
- function: argument,
44
- };
45
- }
46
- common_1.MetadataUtil.setToRouteContext(exports.bodyMappingDecoratorMetadataKeyname, context, target, propertyKey);
47
- };
48
- };
49
- exports.bodyMapping = bodyMapping;
50
- //# sourceMappingURL=body-mapping.decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"body-mapping.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/body-mapping.decorator.ts"],"names":[],"mappings":";;;AAAA,gDAAiD;AAQpC,QAAA,mCAAmC,GAAG,uBAAuB,CAAC;AAE3E;;GAEG;AACI,MAAM,WAAW,GAAG,CAAC,QAA2H,EAAG,EAAE;IACxJ,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,UAA8B,EAChC,EAAE;;QACA,IAAI,OAA0I,CAAC;QAG/I,IAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YACnC,OAAO,GAAG;gBACN,IAAI,EAAE,oBAAoB;gBAE1B,yDAAyD;gBACzD,kBAAkB,EAAE,QAAQ,CAAC,OAA6B;gBAE1D,8EAA8E;gBAC9E,WAAW,EAAE,MAAA,QAAQ,CAAC,WAAW,mCAAI,SAAS;aACjD,CAAA;SACJ;aAAM,IAAG,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;YAClI,OAAO,GAAG;gBACN,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,QAAiC;aAC/C,CAAA;SACJ;aAAM;YACH,OAAO,GAAG;gBACN,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,QAAgC;aAC7C,CAAA;SACJ;QAED,qBAAY,CAAC,iBAAiB,CAAC,2CAAmC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACtG,CAAC,CAAA;AACL,CAAC,CAAA;AA5CY,QAAA,WAAW,eA4CvB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=body-mapping-context.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"body-mapping-context.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/body-mapping-context.interface.ts"],"names":[],"mappings":""}
@@ -1,80 +0,0 @@
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
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
- return new (P || (P = Promise))(function (resolve, reject) {
17
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
- step((generator = generator.apply(thisArg, _arguments || [])).next());
21
- });
22
- };
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.BodyMappingRequestInterceptor = void 0;
25
- const common_1 = require("@pristine-ts/common");
26
- const tsyringe_1 = require("tsyringe");
27
- const data_mapper_1 = require("../mappers/data.mapper");
28
- const body_mapping_decorator_1 = require("../decorators/body-mapping.decorator");
29
- const class_transformer_1 = require("class-transformer");
30
- const data_mapping_module_keyname_1 = require("../data-mapping.module.keyname");
31
- /**
32
- * This class is an interceptor that maps the body of an incoming request.
33
- * It is tagged as an RequestInterceptor so it can be automatically injected with the all the other RequestInterceptors.
34
- * It is module scoped to the Validation module so that it is only registered if the validation module is imported.
35
- */
36
- let BodyMappingRequestInterceptor = class BodyMappingRequestInterceptor {
37
- constructor(loghandler, dataMapper) {
38
- this.loghandler = loghandler;
39
- this.dataMapper = dataMapper;
40
- }
41
- /**
42
- * Intercepts the request and maps that the body to the corresponding argument passed in the `@bodyMapping` validator
43
- * @param request The request being intercepted.
44
- * @param methodNode The method node.
45
- */
46
- interceptRequest(request, methodNode) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const bodyMapping = methodNode.route.context[body_mapping_decorator_1.bodyMappingDecoratorMetadataKeyname];
49
- if (bodyMapping === undefined) {
50
- return request;
51
- }
52
- this.loghandler.debug("BodyMappingRequestInterceptor", {
53
- request,
54
- methodNode,
55
- routeContext: methodNode.route.context,
56
- }, data_mapping_module_keyname_1.DataMappingModuleKeyname);
57
- switch (bodyMapping.type) {
58
- case "classType":
59
- request.body = (0, class_transformer_1.plainToInstance)(bodyMapping.classType, request.body);
60
- break;
61
- case "DataMappingBuilder":
62
- request.body = yield this.dataMapper.map(bodyMapping.dataMappingBuilder, request.body, bodyMapping.destination);
63
- break;
64
- case "function":
65
- request.body = bodyMapping.function(request.body);
66
- break;
67
- }
68
- return request;
69
- });
70
- }
71
- };
72
- exports.BodyMappingRequestInterceptor = BodyMappingRequestInterceptor;
73
- exports.BodyMappingRequestInterceptor = BodyMappingRequestInterceptor = __decorate([
74
- (0, common_1.moduleScoped)(data_mapping_module_keyname_1.DataMappingModuleKeyname),
75
- (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.RequestInterceptor),
76
- (0, tsyringe_1.injectable)(),
77
- __param(0, (0, tsyringe_1.inject)("LogHandlerInterface")),
78
- __metadata("design:paramtypes", [Object, data_mapper_1.DataMapper])
79
- ], BodyMappingRequestInterceptor);
80
- //# 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,gDAAyF;AACzF,uCAA4C;AAG5C,wDAAkD;AAClD,iFAAyF;AAKzF,yDAAkD;AAClD,gFAAwE;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,4DAAmC,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,sDAAwB,CAAC,CAAA;YAE5B,QAAQ,WAAW,CAAC,IAAI,EAAE;gBACtB,KAAK,WAAW;oBACZ,OAAO,CAAC,IAAI,GAAG,IAAA,mCAAe,EAAC,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,sEAA6B;wCAA7B,6BAA6B;IAHzC,IAAA,qBAAY,EAAC,sDAAwB,CAAC;IACtC,IAAA,YAAG,EAAC,iCAAwB,CAAC,kBAAkB,CAAC;IAChD,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,qBAAqB,CAAC,CAAA;6CACD,wBAAU;GAF1C,6BAA6B,CAuCzC"}
@@ -1,18 +0,0 @@
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("./body-mapping.request-interceptor"), exports);
18
- //# 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,qEAAkD"}
@@ -1,46 +0,0 @@
1
- import { MetadataUtil } from "@pristine-ts/common";
2
- export const bodyMappingDecoratorMetadataKeyname = "@bodyMappingDecorator";
3
- /**
4
- * The bodyMapping decorator can be used to map the body to another object.
5
- */
6
- export const bodyMapping = (argument) => {
7
- return (
8
- /**
9
- * The class on which the decorator is used.
10
- */
11
- target,
12
- /**
13
- * The method on which the decorator is used.
14
- */
15
- propertyKey,
16
- /**
17
- * The descriptor of the property.
18
- */
19
- descriptor) => {
20
- var _a;
21
- let context;
22
- if (argument.hasOwnProperty("builder")) {
23
- context = {
24
- type: "DataMappingBuilder",
25
- // @ts-ignore It will exist if it has the property above.
26
- dataMappingBuilder: argument.builder,
27
- // @ts-ignore If it doesn't exist, it shouldn't worry about it, but it does...
28
- destination: (_a = argument.destination) !== null && _a !== void 0 ? _a : undefined,
29
- };
30
- }
31
- else if (typeof argument === "function" && argument.hasOwnProperty("prototype") && argument.prototype.hasOwnProperty("constructor")) {
32
- context = {
33
- type: "classType",
34
- classType: argument,
35
- };
36
- }
37
- else {
38
- context = {
39
- type: "function",
40
- function: argument,
41
- };
42
- }
43
- MetadataUtil.setToRouteContext(bodyMappingDecoratorMetadataKeyname, context, target, propertyKey);
44
- };
45
- };
46
- //# sourceMappingURL=body-mapping.decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"body-mapping.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/body-mapping.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAQjD,MAAM,CAAC,MAAM,mCAAmC,GAAG,uBAAuB,CAAC;AAE3E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAA2H,EAAG,EAAE;IACxJ,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,UAA8B,EAChC,EAAE;;QACA,IAAI,OAA0I,CAAC;QAG/I,IAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YACnC,OAAO,GAAG;gBACN,IAAI,EAAE,oBAAoB;gBAE1B,yDAAyD;gBACzD,kBAAkB,EAAE,QAAQ,CAAC,OAA6B;gBAE1D,8EAA8E;gBAC9E,WAAW,EAAE,MAAA,QAAQ,CAAC,WAAW,mCAAI,SAAS;aACjD,CAAA;SACJ;aAAM,IAAG,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;YAClI,OAAO,GAAG;gBACN,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,QAAiC;aAC/C,CAAA;SACJ;aAAM;YACH,OAAO,GAAG;gBACN,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,QAAgC;aAC7C,CAAA;SACJ;QAED,YAAY,CAAC,iBAAiB,CAAC,mCAAmC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACtG,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=body-mapping-context.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"body-mapping-context.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/body-mapping-context.interface.ts"],"names":[],"mappings":""}