@pristine-ts/data-mapping 0.0.282 → 0.0.283

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 (205) hide show
  1. package/dist/lib/cjs/data-mapping.module.js +31 -10
  2. package/dist/lib/cjs/data-mapping.module.js.map +1 -1
  3. package/dist/lib/cjs/decorators/type.decorator.js +2 -2
  4. package/dist/lib/cjs/decorators/type.decorator.js.map +1 -1
  5. package/dist/lib/cjs/interceptors/default-data-mapping.interceptor.js +1 -1
  6. package/dist/lib/cjs/interceptors/default-data-mapping.interceptor.js.map +1 -1
  7. package/dist/lib/esm/data-mapping.module.js +31 -10
  8. package/dist/lib/esm/data-mapping.module.js.map +1 -1
  9. package/dist/lib/esm/decorators/type.decorator.js +1 -1
  10. package/dist/lib/esm/decorators/type.decorator.js.map +1 -1
  11. package/dist/lib/esm/interceptors/default-data-mapping.interceptor.js +1 -1
  12. package/dist/lib/esm/interceptors/default-data-mapping.interceptor.js.map +1 -1
  13. package/dist/types/data-mapping.module.d.ts +1 -9
  14. package/dist/types/interceptors/default-data-mapping.interceptor.d.ts +1 -2
  15. package/package.json +6 -4
  16. package/dist/lib/cjs/builders/auto-data-mapping.builder.js +0 -147
  17. package/dist/lib/cjs/builders/auto-data-mapping.builder.js.map +0 -1
  18. package/dist/lib/cjs/builders/builders.js +0 -19
  19. package/dist/lib/cjs/builders/builders.js.map +0 -1
  20. package/dist/lib/cjs/builders/data-mapping.builder.js +0 -178
  21. package/dist/lib/cjs/builders/data-mapping.builder.js.map +0 -1
  22. package/dist/lib/cjs/enums/data-mapping-node-type.enum.js +0 -11
  23. package/dist/lib/cjs/enums/data-mapping-node-type.enum.js.map +0 -1
  24. package/dist/lib/cjs/enums/enums.js +0 -18
  25. package/dist/lib/cjs/enums/enums.js.map +0 -1
  26. package/dist/lib/cjs/errors/array-data-mapping-node-invalid-source-property-type.error.js +0 -20
  27. package/dist/lib/cjs/errors/array-data-mapping-node-invalid-source-property-type.error.js.map +0 -1
  28. package/dist/lib/cjs/errors/data-after-mapping-interceptor-already-added.error.js +0 -21
  29. package/dist/lib/cjs/errors/data-after-mapping-interceptor-already-added.error.js.map +0 -1
  30. package/dist/lib/cjs/errors/data-before-mapping-interceptor-already-added.error.js +0 -21
  31. package/dist/lib/cjs/errors/data-before-mapping-interceptor-already-added.error.js.map +0 -1
  32. package/dist/lib/cjs/errors/data-mapping-interceptor-not-found.error.js +0 -21
  33. package/dist/lib/cjs/errors/data-mapping-interceptor-not-found.error.js.map +0 -1
  34. package/dist/lib/cjs/errors/data-mapping-source-property-not-found.error.js +0 -20
  35. package/dist/lib/cjs/errors/data-mapping-source-property-not-found.error.js.map +0 -1
  36. package/dist/lib/cjs/errors/data-normalizer-already-added.error.js +0 -21
  37. package/dist/lib/cjs/errors/data-normalizer-already-added.error.js.map +0 -1
  38. package/dist/lib/cjs/errors/errors.js +0 -25
  39. package/dist/lib/cjs/errors/errors.js.map +0 -1
  40. package/dist/lib/cjs/errors/normalizer-invalid-source-type.error.js +0 -23
  41. package/dist/lib/cjs/errors/normalizer-invalid-source-type.error.js.map +0 -1
  42. package/dist/lib/cjs/errors/undefined-source-property.error.js +0 -20
  43. package/dist/lib/cjs/errors/undefined-source-property.error.js.map +0 -1
  44. package/dist/lib/cjs/interfaces/data-mapping-interceptor.interface.js +0 -3
  45. package/dist/lib/cjs/interfaces/data-mapping-interceptor.interface.js.map +0 -1
  46. package/dist/lib/cjs/interfaces/data-normalizer.interface.js +0 -3
  47. package/dist/lib/cjs/interfaces/data-normalizer.interface.js.map +0 -1
  48. package/dist/lib/cjs/interfaces/interfaces.js +0 -19
  49. package/dist/lib/cjs/interfaces/interfaces.js.map +0 -1
  50. package/dist/lib/cjs/mappers/data.mapper.js +0 -126
  51. package/dist/lib/cjs/mappers/data.mapper.js.map +0 -1
  52. package/dist/lib/cjs/mappers/mappers.js +0 -18
  53. package/dist/lib/cjs/mappers/mappers.js.map +0 -1
  54. package/dist/lib/cjs/nodes/base-data-mapping.node.js +0 -24
  55. package/dist/lib/cjs/nodes/base-data-mapping.node.js.map +0 -1
  56. package/dist/lib/cjs/nodes/data-mapping.leaf.js +0 -184
  57. package/dist/lib/cjs/nodes/data-mapping.leaf.js.map +0 -1
  58. package/dist/lib/cjs/nodes/data-mapping.node.js +0 -217
  59. package/dist/lib/cjs/nodes/data-mapping.node.js.map +0 -1
  60. package/dist/lib/cjs/nodes/nodes.js +0 -20
  61. package/dist/lib/cjs/nodes/nodes.js.map +0 -1
  62. package/dist/lib/cjs/normalizer-options/base-normalizer.options.js +0 -12
  63. package/dist/lib/cjs/normalizer-options/base-normalizer.options.js.map +0 -1
  64. package/dist/lib/cjs/normalizer-options/date-normalizer.options.js +0 -21
  65. package/dist/lib/cjs/normalizer-options/date-normalizer.options.js.map +0 -1
  66. package/dist/lib/cjs/normalizer-options/lowercase-normalizer.options.js +0 -11
  67. package/dist/lib/cjs/normalizer-options/lowercase-normalizer.options.js.map +0 -1
  68. package/dist/lib/cjs/normalizer-options/normalizer-options.js +0 -22
  69. package/dist/lib/cjs/normalizer-options/normalizer-options.js.map +0 -1
  70. package/dist/lib/cjs/normalizer-options/number-normalizer.options.js +0 -16
  71. package/dist/lib/cjs/normalizer-options/number-normalizer.options.js.map +0 -1
  72. package/dist/lib/cjs/normalizer-options/string-normalizer.options.js +0 -17
  73. package/dist/lib/cjs/normalizer-options/string-normalizer.options.js.map +0 -1
  74. package/dist/lib/cjs/normalizers/date.normalizer.js +0 -73
  75. package/dist/lib/cjs/normalizers/date.normalizer.js.map +0 -1
  76. package/dist/lib/cjs/normalizers/lowercase.normalizer.js +0 -33
  77. package/dist/lib/cjs/normalizers/lowercase.normalizer.js.map +0 -1
  78. package/dist/lib/cjs/normalizers/normalizers.js +0 -21
  79. package/dist/lib/cjs/normalizers/normalizers.js.map +0 -1
  80. package/dist/lib/cjs/normalizers/number.normalizer.js +0 -41
  81. package/dist/lib/cjs/normalizers/number.normalizer.js.map +0 -1
  82. package/dist/lib/cjs/normalizers/string.normalizer.js +0 -63
  83. package/dist/lib/cjs/normalizers/string.normalizer.js.map +0 -1
  84. package/dist/lib/cjs/options/auto-data-mapping-builder.options.js +0 -11
  85. package/dist/lib/cjs/options/auto-data-mapping-builder.options.js.map +0 -1
  86. package/dist/lib/cjs/types/data-mapping-interceptor-unique-key.type.js +0 -3
  87. package/dist/lib/cjs/types/data-mapping-interceptor-unique-key.type.js.map +0 -1
  88. package/dist/lib/cjs/types/data-normalizer-unique-key.type.js +0 -3
  89. package/dist/lib/cjs/types/data-normalizer-unique-key.type.js.map +0 -1
  90. package/dist/lib/cjs/types/types.js +0 -19
  91. package/dist/lib/cjs/types/types.js.map +0 -1
  92. package/dist/lib/esm/builders/auto-data-mapping.builder.js +0 -144
  93. package/dist/lib/esm/builders/auto-data-mapping.builder.js.map +0 -1
  94. package/dist/lib/esm/builders/builders.js +0 -3
  95. package/dist/lib/esm/builders/builders.js.map +0 -1
  96. package/dist/lib/esm/builders/data-mapping.builder.js +0 -174
  97. package/dist/lib/esm/builders/data-mapping.builder.js.map +0 -1
  98. package/dist/lib/esm/enums/data-mapping-node-type.enum.js +0 -8
  99. package/dist/lib/esm/enums/data-mapping-node-type.enum.js.map +0 -1
  100. package/dist/lib/esm/enums/enums.js +0 -2
  101. package/dist/lib/esm/enums/enums.js.map +0 -1
  102. package/dist/lib/esm/errors/array-data-mapping-node-invalid-source-property-type.error.js +0 -16
  103. package/dist/lib/esm/errors/array-data-mapping-node-invalid-source-property-type.error.js.map +0 -1
  104. package/dist/lib/esm/errors/data-after-mapping-interceptor-already-added.error.js +0 -17
  105. package/dist/lib/esm/errors/data-after-mapping-interceptor-already-added.error.js.map +0 -1
  106. package/dist/lib/esm/errors/data-before-mapping-interceptor-already-added.error.js +0 -17
  107. package/dist/lib/esm/errors/data-before-mapping-interceptor-already-added.error.js.map +0 -1
  108. package/dist/lib/esm/errors/data-mapping-interceptor-not-found.error.js +0 -17
  109. package/dist/lib/esm/errors/data-mapping-interceptor-not-found.error.js.map +0 -1
  110. package/dist/lib/esm/errors/data-mapping-source-property-not-found.error.js +0 -16
  111. package/dist/lib/esm/errors/data-mapping-source-property-not-found.error.js.map +0 -1
  112. package/dist/lib/esm/errors/data-normalizer-already-added.error.js +0 -17
  113. package/dist/lib/esm/errors/data-normalizer-already-added.error.js.map +0 -1
  114. package/dist/lib/esm/errors/errors.js +0 -9
  115. package/dist/lib/esm/errors/errors.js.map +0 -1
  116. package/dist/lib/esm/errors/normalizer-invalid-source-type.error.js +0 -19
  117. package/dist/lib/esm/errors/normalizer-invalid-source-type.error.js.map +0 -1
  118. package/dist/lib/esm/errors/undefined-source-property.error.js +0 -16
  119. package/dist/lib/esm/errors/undefined-source-property.error.js.map +0 -1
  120. package/dist/lib/esm/interfaces/data-mapping-interceptor.interface.js +0 -2
  121. package/dist/lib/esm/interfaces/data-mapping-interceptor.interface.js.map +0 -1
  122. package/dist/lib/esm/interfaces/data-normalizer.interface.js +0 -2
  123. package/dist/lib/esm/interfaces/data-normalizer.interface.js.map +0 -1
  124. package/dist/lib/esm/interfaces/interfaces.js +0 -3
  125. package/dist/lib/esm/interfaces/interfaces.js.map +0 -1
  126. package/dist/lib/esm/mappers/data.mapper.js +0 -123
  127. package/dist/lib/esm/mappers/data.mapper.js.map +0 -1
  128. package/dist/lib/esm/mappers/mappers.js +0 -2
  129. package/dist/lib/esm/mappers/mappers.js.map +0 -1
  130. package/dist/lib/esm/nodes/base-data-mapping.node.js +0 -20
  131. package/dist/lib/esm/nodes/base-data-mapping.node.js.map +0 -1
  132. package/dist/lib/esm/nodes/data-mapping.leaf.js +0 -180
  133. package/dist/lib/esm/nodes/data-mapping.leaf.js.map +0 -1
  134. package/dist/lib/esm/nodes/data-mapping.node.js +0 -213
  135. package/dist/lib/esm/nodes/data-mapping.node.js.map +0 -1
  136. package/dist/lib/esm/nodes/nodes.js +0 -4
  137. package/dist/lib/esm/nodes/nodes.js.map +0 -1
  138. package/dist/lib/esm/normalizer-options/base-normalizer.options.js +0 -8
  139. package/dist/lib/esm/normalizer-options/base-normalizer.options.js.map +0 -1
  140. package/dist/lib/esm/normalizer-options/date-normalizer.options.js +0 -17
  141. package/dist/lib/esm/normalizer-options/date-normalizer.options.js.map +0 -1
  142. package/dist/lib/esm/normalizer-options/lowercase-normalizer.options.js +0 -7
  143. package/dist/lib/esm/normalizer-options/lowercase-normalizer.options.js.map +0 -1
  144. package/dist/lib/esm/normalizer-options/normalizer-options.js +0 -6
  145. package/dist/lib/esm/normalizer-options/normalizer-options.js.map +0 -1
  146. package/dist/lib/esm/normalizer-options/number-normalizer.options.js +0 -12
  147. package/dist/lib/esm/normalizer-options/number-normalizer.options.js.map +0 -1
  148. package/dist/lib/esm/normalizer-options/string-normalizer.options.js +0 -13
  149. package/dist/lib/esm/normalizer-options/string-normalizer.options.js.map +0 -1
  150. package/dist/lib/esm/normalizers/date.normalizer.js +0 -70
  151. package/dist/lib/esm/normalizers/date.normalizer.js.map +0 -1
  152. package/dist/lib/esm/normalizers/lowercase.normalizer.js +0 -30
  153. package/dist/lib/esm/normalizers/lowercase.normalizer.js.map +0 -1
  154. package/dist/lib/esm/normalizers/normalizers.js +0 -5
  155. package/dist/lib/esm/normalizers/normalizers.js.map +0 -1
  156. package/dist/lib/esm/normalizers/number.normalizer.js +0 -38
  157. package/dist/lib/esm/normalizers/number.normalizer.js.map +0 -1
  158. package/dist/lib/esm/normalizers/string.normalizer.js +0 -60
  159. package/dist/lib/esm/normalizers/string.normalizer.js.map +0 -1
  160. package/dist/lib/esm/options/auto-data-mapping-builder.options.js +0 -7
  161. package/dist/lib/esm/options/auto-data-mapping-builder.options.js.map +0 -1
  162. package/dist/lib/esm/types/data-mapping-interceptor-unique-key.type.js +0 -2
  163. package/dist/lib/esm/types/data-mapping-interceptor-unique-key.type.js.map +0 -1
  164. package/dist/lib/esm/types/data-normalizer-unique-key.type.js +0 -2
  165. package/dist/lib/esm/types/data-normalizer-unique-key.type.js.map +0 -1
  166. package/dist/lib/esm/types/types.js +0 -3
  167. package/dist/lib/esm/types/types.js.map +0 -1
  168. package/dist/types/builders/auto-data-mapping.builder.d.ts +0 -25
  169. package/dist/types/builders/builders.d.ts +0 -2
  170. package/dist/types/builders/data-mapping.builder.d.ts +0 -110
  171. package/dist/types/enums/data-mapping-node-type.enum.d.ts +0 -6
  172. package/dist/types/enums/enums.d.ts +0 -1
  173. package/dist/types/errors/array-data-mapping-node-invalid-source-property-type.error.d.ts +0 -7
  174. package/dist/types/errors/data-after-mapping-interceptor-already-added.error.d.ts +0 -8
  175. package/dist/types/errors/data-before-mapping-interceptor-already-added.error.d.ts +0 -8
  176. package/dist/types/errors/data-mapping-interceptor-not-found.error.d.ts +0 -8
  177. package/dist/types/errors/data-mapping-source-property-not-found.error.d.ts +0 -7
  178. package/dist/types/errors/data-normalizer-already-added.error.d.ts +0 -7
  179. package/dist/types/errors/errors.d.ts +0 -8
  180. package/dist/types/errors/normalizer-invalid-source-type.error.d.ts +0 -7
  181. package/dist/types/errors/undefined-source-property.error.d.ts +0 -9
  182. package/dist/types/interfaces/data-mapping-interceptor.interface.d.ts +0 -19
  183. package/dist/types/interfaces/data-normalizer.interface.d.ts +0 -15
  184. package/dist/types/interfaces/interfaces.d.ts +0 -2
  185. package/dist/types/mappers/data.mapper.d.ts +0 -38
  186. package/dist/types/mappers/mappers.d.ts +0 -1
  187. package/dist/types/nodes/base-data-mapping.node.d.ts +0 -15
  188. package/dist/types/nodes/data-mapping.leaf.d.ts +0 -92
  189. package/dist/types/nodes/data-mapping.node.d.ts +0 -104
  190. package/dist/types/nodes/nodes.d.ts +0 -3
  191. package/dist/types/normalizer-options/base-normalizer.options.d.ts +0 -4
  192. package/dist/types/normalizer-options/date-normalizer.options.d.ts +0 -12
  193. package/dist/types/normalizer-options/lowercase-normalizer.options.d.ts +0 -4
  194. package/dist/types/normalizer-options/normalizer-options.d.ts +0 -5
  195. package/dist/types/normalizer-options/number-normalizer.options.d.ts +0 -8
  196. package/dist/types/normalizer-options/string-normalizer.options.d.ts +0 -12
  197. package/dist/types/normalizers/date.normalizer.d.ts +0 -6
  198. package/dist/types/normalizers/lowercase.normalizer.d.ts +0 -7
  199. package/dist/types/normalizers/normalizers.d.ts +0 -4
  200. package/dist/types/normalizers/number.normalizer.d.ts +0 -6
  201. package/dist/types/normalizers/string.normalizer.d.ts +0 -6
  202. package/dist/types/options/auto-data-mapping-builder.options.d.ts +0 -11
  203. package/dist/types/types/data-mapping-interceptor-unique-key.type.d.ts +0 -1
  204. package/dist/types/types/data-normalizer-unique-key.type.d.ts +0 -1
  205. package/dist/types/types/types.d.ts +0 -2
@@ -1,213 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { DataMappingNodeTypeEnum } from "../enums/data-mapping-node-type.enum";
11
- import { DataMappingLeaf } from "./data-mapping.leaf";
12
- import { BaseDataMappingNode } from "./base-data-mapping.node";
13
- import { DataMappingSourcePropertyNotFoundError } from "../errors/data-mapping-source-property-not-found.error";
14
- import { ArrayDataMappingNodeInvalidSourcePropertyTypeError } from "../errors/array-data-mapping-node-invalid-source-property-type.error";
15
- import { plainToInstance } from "class-transformer";
16
- export class DataMappingNode extends BaseDataMappingNode {
17
- constructor(root, parent, type = DataMappingNodeTypeEnum.Node) {
18
- super();
19
- this.root = root;
20
- this.parent = parent;
21
- this.type = type;
22
- /**
23
- * This method specified whether it's possible that this element not be present in the `source` object.
24
- */
25
- this.isOptional = false;
26
- }
27
- /**
28
- * This is a setter for `sourceProperty`.
29
- * @param sourceProperty
30
- */
31
- setSourceProperty(sourceProperty) {
32
- this.sourceProperty = sourceProperty;
33
- return this;
34
- }
35
- /**
36
- * This is a setter for `destinationProperty`.
37
- * @param destinationProperty
38
- */
39
- setDestinationProperty(destinationProperty) {
40
- this.destinationProperty = destinationProperty;
41
- return this;
42
- }
43
- /**
44
- * This is a setter for `destinationType`.
45
- * @param destinationType
46
- */
47
- setDestinationType(destinationType) {
48
- this.destinationType = destinationType;
49
- return this;
50
- }
51
- /**
52
- * This is a setter for `isOptional`.
53
- * @param isOptional
54
- */
55
- setIsOptional(isOptional) {
56
- this.isOptional = isOptional;
57
- return this;
58
- }
59
- /**
60
- * This property creates a new DataMappingLeaf and returns it. It doesn't add it yet. To do so, the `end()` method
61
- * must be called.
62
- */
63
- add() {
64
- return new DataMappingLeaf(this.root, this);
65
- }
66
- /**
67
- * This method adds a nesting level. This should be used when the property contains an object and you want to map
68
- * this object into another object.
69
- */
70
- addNestingLevel() {
71
- return new DataMappingNode(this.root, this);
72
- }
73
- /**
74
- * This method adds an array of Scalar allowing you to apply the normalizer on each scalar in the array. The
75
- * `sourceProperty` and `destinationProperty` correspond to the name of the property that is an array. But, the
76
- * values in the array will be normalized using the normalizer.
77
- *
78
- */
79
- addArrayOfScalar() {
80
- return new DataMappingLeaf(this.root, this, DataMappingNodeTypeEnum.ScalarArray);
81
- }
82
- /**
83
- * This method adds an array of objects allowing to define a node for each property in the object. Each object in
84
- * the array will be treated as being the same.
85
- */
86
- addArrayOfObjects() {
87
- return new DataMappingNode(this.root, this, DataMappingNodeTypeEnum.ObjectArray);
88
- }
89
- /**
90
- * This method adds this node to its parent and returns the parent.
91
- */
92
- end() {
93
- // todo: Validate that we actually have all the properties needed (sourceProperty and destinationProperty) for example.
94
- this.parent.addNode(this);
95
- return this.parent;
96
- }
97
- /**
98
- * This method maps the `sourceProperty` from the `source` object and maps it to the `destinationProperty` of the
99
- * `destination` object while applying the normalizers.
100
- *
101
- * @param source
102
- * @param destination
103
- * @param normalizersMap
104
- */
105
- map(source, destination, normalizersMap) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- if (source.hasOwnProperty(this.sourceProperty) === false) {
108
- if (this.isOptional) {
109
- return;
110
- }
111
- throw new DataMappingSourcePropertyNotFoundError("The property '" + this.sourceProperty + "' isn't found in the Source object and isn't marked as Optional. If you want to ignore this property, use the 'setIsOptional(true)' method in the builder.", this.sourceProperty);
112
- }
113
- const sourceElement = source[this.sourceProperty];
114
- if (destination[this.destinationProperty] === undefined) {
115
- if (this.type === DataMappingNodeTypeEnum.ObjectArray) {
116
- destination[this.destinationProperty] = [];
117
- }
118
- else {
119
- if (this.destinationType) {
120
- destination[this.destinationProperty] = plainToInstance(this.destinationType, {});
121
- }
122
- else {
123
- destination[this.destinationProperty] = {};
124
- }
125
- }
126
- }
127
- const destinationElement = destination[this.destinationProperty];
128
- if (this.type === DataMappingNodeTypeEnum.ObjectArray) {
129
- // This means that the source[propertyKey] contains an array of objects and each object should be mapped
130
- const array = source[this.sourceProperty];
131
- if (Array.isArray(array) === false) {
132
- throw new ArrayDataMappingNodeInvalidSourcePropertyTypeError(`According to your schema, the property '${this.sourceProperty}' in the source object must contain an Array of objects. Instead, it contains: '${typeof array}'.`, this.sourceProperty);
133
- }
134
- for (const element of array) {
135
- let dest = {};
136
- if (this.destinationType) {
137
- dest = plainToInstance(this.destinationType, {});
138
- }
139
- for (const key in this.nodes) {
140
- if (this.nodes.hasOwnProperty(key) === false) {
141
- continue;
142
- }
143
- const node = this.nodes[key];
144
- yield node.map(element, dest, normalizersMap);
145
- }
146
- destinationElement.push(dest);
147
- }
148
- return;
149
- }
150
- // When the current node is not an array, we simply iterate
151
- for (const key in this.nodes) {
152
- if (this.nodes.hasOwnProperty(key) === false) {
153
- continue;
154
- }
155
- const node = this.nodes[key];
156
- yield node.map(sourceElement, destinationElement, normalizersMap);
157
- }
158
- });
159
- }
160
- /**
161
- * This method imports a schema.
162
- *
163
- * @param schema
164
- */
165
- import(schema) {
166
- this.sourceProperty = schema.sourceProperty;
167
- this.destinationProperty = schema.destinationProperty;
168
- this.isOptional = schema.isOptional;
169
- this.nodes = {};
170
- const nodes = schema.nodes;
171
- for (const key in nodes) {
172
- if (nodes.hasOwnProperty(key) === false) {
173
- continue;
174
- }
175
- const nodeInfo = nodes[key];
176
- const type = nodeInfo["_type"];
177
- switch (type) {
178
- case DataMappingNodeTypeEnum.ScalarArray:
179
- case DataMappingNodeTypeEnum.Leaf:
180
- const leaf = new DataMappingLeaf(this.root, this, type);
181
- leaf.import(nodeInfo);
182
- this.nodes[leaf.sourceProperty] = leaf;
183
- continue;
184
- case DataMappingNodeTypeEnum.Node:
185
- case DataMappingNodeTypeEnum.ObjectArray:
186
- const node = new DataMappingNode(this.root, this, type);
187
- node.import(nodeInfo);
188
- this.nodes[node.sourceProperty] = node;
189
- continue;
190
- }
191
- }
192
- }
193
- /**
194
- * This method exports this node.
195
- */
196
- export() {
197
- const nodes = this.nodes;
198
- for (const key in nodes) {
199
- if (nodes.hasOwnProperty(key) === false) {
200
- continue;
201
- }
202
- nodes[key] = nodes[key].export();
203
- }
204
- return {
205
- "_type": this.type,
206
- "sourceProperty": this.sourceProperty,
207
- "destinationProperty": this.destinationProperty,
208
- "isOptional": this.isOptional,
209
- "nodes": nodes,
210
- };
211
- }
212
- }
213
- //# sourceMappingURL=data-mapping.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-mapping.node.js","sourceRoot":"","sources":["../../../../src/nodes/data-mapping.node.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export * from "./base-data-mapping.node";
2
- export * from "./data-mapping.leaf";
3
- export * from "./data-mapping.node";
4
- //# sourceMappingURL=nodes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../../src/nodes/nodes.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
@@ -1,8 +0,0 @@
1
- export class BaseNormalizerOptions {
2
- constructor(options) {
3
- var _a;
4
- this.shouldThrowIfTypeIsNotString = false;
5
- this.shouldThrowIfTypeIsNotString = (_a = options === null || options === void 0 ? void 0 : options.shouldThrowIfTypeIsNotString) !== null && _a !== void 0 ? _a : this.shouldThrowIfTypeIsNotString;
6
- }
7
- }
8
- //# sourceMappingURL=base-normalizer.options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/base-normalizer.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,qBAAqB;IAGvC,YAAmB,OAAwC;;QAFpD,iCAA4B,GAAY,KAAK,CAAC;QAGjD,IAAI,CAAC,4BAA4B,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,4BAA4B,mCAAI,IAAI,CAAC,4BAA4B,CAAC;IACnH,CAAC;CACJ"}
@@ -1,17 +0,0 @@
1
- export class DateNormalizerOptions {
2
- constructor(options) {
3
- var _a, _b;
4
- /**
5
- * This property specifies whether an invalid date should return undefined or a date object.
6
- */
7
- this.returnUndefinedOnInvalidDate = true;
8
- /**
9
- * This property specifies if a number should be treated as being in seconds or not. Since JS Date expects a
10
- * timestamp in milliseconds, if the number is in seconds, it will be multiplied by 1000.
11
- */
12
- this.treatNumbers = "seconds";
13
- this.returnUndefinedOnInvalidDate = (_a = options === null || options === void 0 ? void 0 : options.returnUndefinedOnInvalidDate) !== null && _a !== void 0 ? _a : this.returnUndefinedOnInvalidDate;
14
- this.treatNumbers = (_b = options === null || options === void 0 ? void 0 : options.treatNumbers) !== null && _b !== void 0 ? _b : this.treatNumbers;
15
- }
16
- }
17
- //# sourceMappingURL=date-normalizer.options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/date-normalizer.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAqB;IAY9B,YAAmB,OAAwC;;QAX3D;;WAEG;QACI,iCAA4B,GAAY,IAAI,CAAC;QAEpD;;;WAGG;QACI,iBAAY,GAA+B,SAAS,CAAC;QAGxD,IAAI,CAAC,4BAA4B,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,4BAA4B,mCAAI,IAAI,CAAC,4BAA4B,CAAC;QAC/G,IAAI,CAAC,YAAY,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,IAAI,CAAC,YAAY,CAAC;IACnE,CAAC;CACJ"}
@@ -1,7 +0,0 @@
1
- import { BaseNormalizerOptions } from "./base-normalizer.options";
2
- export class LowercaseNormalizerOptions extends BaseNormalizerOptions {
3
- constructor(options) {
4
- super(options);
5
- }
6
- }
7
- //# sourceMappingURL=lowercase-normalizer.options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lowercase-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/lowercase-normalizer.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,MAAM,OAAO,0BAA2B,SAAQ,qBAAqB;IACjE,YAAmB,OAA6C;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ"}
@@ -1,6 +0,0 @@
1
- export * from "./base-normalizer.options";
2
- export * from "./date-normalizer.options";
3
- export * from "./lowercase-normalizer.options";
4
- export * from "./number-normalizer.options";
5
- export * from "./string-normalizer.options";
6
- //# sourceMappingURL=normalizer-options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalizer-options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/normalizer-options.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC"}
@@ -1,12 +0,0 @@
1
- export class NumberNormalizerOptions {
2
- constructor(options) {
3
- var _a;
4
- /**
5
- * This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
6
- * and return an empty string `""`.
7
- */
8
- this.ignoreUndefined = true;
9
- this.ignoreUndefined = (_a = options === null || options === void 0 ? void 0 : options.ignoreUndefined) !== null && _a !== void 0 ? _a : this.ignoreUndefined;
10
- }
11
- }
12
- //# sourceMappingURL=number-normalizer.options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/number-normalizer.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAuB;IAOhC,YAAmB,OAA0C;;QAN7D;;;WAGG;QACI,oBAAe,GAAY,IAAI,CAAC;QAGnC,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,IAAI,CAAC,eAAe,CAAC;IAC5E,CAAC;CACJ"}
@@ -1,13 +0,0 @@
1
- export class StringNormalizerOptions {
2
- constructor(options) {
3
- var _a;
4
- /**
5
- * This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
6
- * and return an empty string `""`.
7
- */
8
- this.ignoreUndefined = true;
9
- this.ignoreUndefined = (_a = options === null || options === void 0 ? void 0 : options.ignoreUndefined) !== null && _a !== void 0 ? _a : this.ignoreUndefined;
10
- this.dateFormat = options === null || options === void 0 ? void 0 : options.dateFormat;
11
- }
12
- }
13
- //# sourceMappingURL=string-normalizer.options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/string-normalizer.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAuB;IAYhC,YAAmB,OAA0C;;QAX7D;;;WAGG;QACI,oBAAe,GAAY,IAAI,CAAC;QAQnC,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,IAAI,CAAC,eAAe,CAAC;QACxE,IAAI,CAAC,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;IAC1C,CAAC;CACJ"}
@@ -1,70 +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 DateNormalizer_1;
8
- import { injectable } from "tsyringe";
9
- import { TypeEnum, TypeUtils } from "@pristine-ts/metadata";
10
- let DateNormalizer = DateNormalizer_1 = class DateNormalizer {
11
- getUniqueKey() {
12
- return DateNormalizer_1.name;
13
- }
14
- normalize(source, options) {
15
- const typeEnum = TypeUtils.getTypeOfValue(source);
16
- if (typeEnum === undefined) {
17
- if ((options === null || options === void 0 ? void 0 : options.returnUndefinedOnInvalidDate) === false) {
18
- return new Date();
19
- }
20
- return undefined;
21
- }
22
- let date;
23
- switch (typeEnum) {
24
- case TypeEnum.Number:
25
- if ((options === null || options === void 0 ? void 0 : options.treatNumbers) === "seconds") {
26
- source = source * 1000;
27
- }
28
- case TypeEnum.String:
29
- date = new Date(source);
30
- if (!isNaN(date.getTime())) {
31
- return date;
32
- }
33
- break;
34
- case TypeEnum.Object:
35
- date = new Date();
36
- // todo: Allow this property to be customizable in the options eventually
37
- if (source.hasOwnProperty("year")) {
38
- date.setFullYear(source["year"]);
39
- }
40
- if (source.hasOwnProperty("month")) {
41
- date.setMonth(source["month"]);
42
- }
43
- if (source.hasOwnProperty("day")) {
44
- date.setDate(source["day"]);
45
- }
46
- if (source.hasOwnProperty("hours")) {
47
- date.setHours(source["hours"]);
48
- }
49
- if (source.hasOwnProperty("minutes")) {
50
- date.setMinutes(source["minutes"]);
51
- }
52
- if (source.hasOwnProperty("seconds")) {
53
- date.setSeconds(source["seconds"]);
54
- }
55
- if (!isNaN(date.getTime())) {
56
- return date;
57
- }
58
- break;
59
- }
60
- if ((options === null || options === void 0 ? void 0 : options.returnUndefinedOnInvalidDate) === false) {
61
- return new Date();
62
- }
63
- return undefined;
64
- }
65
- };
66
- DateNormalizer = DateNormalizer_1 = __decorate([
67
- injectable()
68
- ], DateNormalizer);
69
- export { DateNormalizer };
70
- //# sourceMappingURL=date.normalizer.js.map
@@ -1 +0,0 @@
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,30 +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 LowercaseNormalizer_1;
8
- import { NormalizerInvalidSourceTypeError } from "../errors/normalizer-invalid-source-type.error";
9
- import { tag } from "@pristine-ts/common";
10
- import { injectable } from "tsyringe";
11
- let LowercaseNormalizer = LowercaseNormalizer_1 = class LowercaseNormalizer {
12
- getUniqueKey() {
13
- return LowercaseNormalizer_1.name;
14
- }
15
- normalize(source, options) {
16
- if (typeof source !== "string") {
17
- if (options && options.shouldThrowIfTypeIsNotString) {
18
- throw new NormalizerInvalidSourceTypeError("The 'LowercaseNormalizer' expects the source value to be of type 'string'. Type '" + typeof source + "' was received.", this.getUniqueKey(), options, source, typeof source);
19
- }
20
- return source;
21
- }
22
- return source.toLowerCase();
23
- }
24
- };
25
- LowercaseNormalizer = LowercaseNormalizer_1 = __decorate([
26
- tag("DataNormalizerInterface"),
27
- injectable()
28
- ], LowercaseNormalizer);
29
- export { LowercaseNormalizer };
30
- //# sourceMappingURL=lowercase.normalizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lowercase.normalizer.js","sourceRoot":"","sources":["../../../../src/normalizers/lowercase.normalizer.ts"],"names":[],"mappings":";;;;;;;AAEA,OAAO,EAAC,gCAAgC,EAAC,MAAM,gDAAgD,CAAC;AAEhG,OAAO,EAAC,GAAG,EAAC,MAAM,qBAAqB,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAI7B,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAC5B,YAAY;QACR,OAAO,qBAAmB,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,OAAoC;QACvD,IAAG,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC3B,IAAG,OAAO,IAAI,OAAO,CAAC,4BAA4B,EAAE;gBAChD,MAAM,IAAI,gCAAgC,CAAC,mFAAmF,GAAG,OAAO,MAAM,GAAE,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,MAAM,CAAC,CAAA;aAC1N;YAED,OAAO,MAAM,CAAC;SACjB;QAED,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;CACJ,CAAA;AAhBY,mBAAmB;IAF/B,GAAG,CAAC,yBAAyB,CAAC;IAC9B,UAAU,EAAE;GACA,mBAAmB,CAgB/B"}
@@ -1,5 +0,0 @@
1
- export * from "./date.normalizer";
2
- export * from "./lowercase.normalizer";
3
- export * from "./number.normalizer";
4
- export * from "./string.normalizer";
5
- //# sourceMappingURL=normalizers.js.map
@@ -1 +0,0 @@
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"}
@@ -1,38 +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 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
@@ -1 +0,0 @@
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"}
@@ -1,60 +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 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
@@ -1 +0,0 @@
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"}
@@ -1,7 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data-mapping-interceptor-unique-key.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-mapping-interceptor-unique-key.type.js","sourceRoot":"","sources":["../../../../src/types/data-mapping-interceptor-unique-key.type.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data-normalizer-unique-key.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-normalizer-unique-key.type.js","sourceRoot":"","sources":["../../../../src/types/data-normalizer-unique-key.type.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export * from "./data-normalizer-unique-key.type";
2
- export * from "./data-mapping-interceptor-unique-key.type";
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC"}
@@ -1,25 +0,0 @@
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,2 +0,0 @@
1
- export * from "./auto-data-mapping.builder";
2
- export * from "./data-mapping.builder";