@pristine-ts/data-mapping-common 2.0.9 → 2.0.11

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 (79) hide show
  1. package/dist/lib/cjs/builders/data-mapping.builder.js +8 -35
  2. package/dist/lib/cjs/builders/data-mapping.builder.js.map +1 -1
  3. package/dist/lib/cjs/data-mapping-common.js +2 -0
  4. package/dist/lib/cjs/data-mapping-common.js.map +1 -1
  5. package/dist/lib/cjs/interfaces/fluent-array-of-objects-options.interface.js +3 -0
  6. package/dist/lib/cjs/interfaces/fluent-array-of-objects-options.interface.js.map +1 -0
  7. package/dist/lib/cjs/interfaces/fluent-leaf-options.interface.js +3 -0
  8. package/dist/lib/cjs/interfaces/fluent-leaf-options.interface.js.map +1 -0
  9. package/dist/lib/cjs/interfaces/fluent-nested-options.interface.js +3 -0
  10. package/dist/lib/cjs/interfaces/fluent-nested-options.interface.js.map +1 -0
  11. package/dist/lib/cjs/interfaces/interfaces.js +3 -0
  12. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  13. package/dist/lib/cjs/mappers/data.mapper.js +12 -2
  14. package/dist/lib/cjs/mappers/data.mapper.js.map +1 -1
  15. package/dist/lib/cjs/nodes/base-data-mapping.node.js +94 -4
  16. package/dist/lib/cjs/nodes/base-data-mapping.node.js.map +1 -1
  17. package/dist/lib/cjs/nodes/data-mapping.node.js +12 -40
  18. package/dist/lib/cjs/nodes/data-mapping.node.js.map +1 -1
  19. package/dist/lib/cjs/reporters/console-error.reporter.js +23 -0
  20. package/dist/lib/cjs/reporters/console-error.reporter.js.map +1 -0
  21. package/dist/lib/cjs/reporters/reporters.js +18 -0
  22. package/dist/lib/cjs/reporters/reporters.js.map +1 -0
  23. package/dist/lib/cjs/serializers/data-mapping.serializer.js +81 -0
  24. package/dist/lib/cjs/serializers/data-mapping.serializer.js.map +1 -0
  25. package/dist/lib/cjs/serializers/serializers.js +18 -0
  26. package/dist/lib/cjs/serializers/serializers.js.map +1 -0
  27. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  28. package/dist/lib/cjs/types/data-mapper-error-reporter.type.js +3 -0
  29. package/dist/lib/cjs/types/data-mapper-error-reporter.type.js.map +1 -0
  30. package/dist/lib/cjs/types/types.js +1 -0
  31. package/dist/lib/cjs/types/types.js.map +1 -1
  32. package/dist/lib/esm/builders/data-mapping.builder.js +8 -35
  33. package/dist/lib/esm/builders/data-mapping.builder.js.map +1 -1
  34. package/dist/lib/esm/data-mapping-common.js +2 -0
  35. package/dist/lib/esm/data-mapping-common.js.map +1 -1
  36. package/dist/lib/esm/interfaces/fluent-array-of-objects-options.interface.js +2 -0
  37. package/dist/lib/esm/interfaces/fluent-array-of-objects-options.interface.js.map +1 -0
  38. package/dist/lib/esm/interfaces/fluent-leaf-options.interface.js +2 -0
  39. package/dist/lib/esm/interfaces/fluent-leaf-options.interface.js.map +1 -0
  40. package/dist/lib/esm/interfaces/fluent-nested-options.interface.js +2 -0
  41. package/dist/lib/esm/interfaces/fluent-nested-options.interface.js.map +1 -0
  42. package/dist/lib/esm/interfaces/interfaces.js +3 -0
  43. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  44. package/dist/lib/esm/mappers/data.mapper.js +12 -2
  45. package/dist/lib/esm/mappers/data.mapper.js.map +1 -1
  46. package/dist/lib/esm/nodes/base-data-mapping.node.js +94 -4
  47. package/dist/lib/esm/nodes/base-data-mapping.node.js.map +1 -1
  48. package/dist/lib/esm/nodes/data-mapping.node.js +12 -40
  49. package/dist/lib/esm/nodes/data-mapping.node.js.map +1 -1
  50. package/dist/lib/esm/reporters/console-error.reporter.js +19 -0
  51. package/dist/lib/esm/reporters/console-error.reporter.js.map +1 -0
  52. package/dist/lib/esm/reporters/reporters.js +2 -0
  53. package/dist/lib/esm/reporters/reporters.js.map +1 -0
  54. package/dist/lib/esm/serializers/data-mapping.serializer.js +77 -0
  55. package/dist/lib/esm/serializers/data-mapping.serializer.js.map +1 -0
  56. package/dist/lib/esm/serializers/serializers.js +2 -0
  57. package/dist/lib/esm/serializers/serializers.js.map +1 -0
  58. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  59. package/dist/lib/esm/types/data-mapper-error-reporter.type.js +2 -0
  60. package/dist/lib/esm/types/data-mapper-error-reporter.type.js.map +1 -0
  61. package/dist/lib/esm/types/types.js +1 -0
  62. package/dist/lib/esm/types/types.js.map +1 -1
  63. package/dist/types/builders/data-mapping.builder.d.ts +5 -5
  64. package/dist/types/data-mapping-common.d.ts +2 -0
  65. package/dist/types/interfaces/fluent-array-of-objects-options.interface.d.ts +21 -0
  66. package/dist/types/interfaces/fluent-leaf-options.interface.d.ts +27 -0
  67. package/dist/types/interfaces/fluent-nested-options.interface.d.ts +19 -0
  68. package/dist/types/interfaces/interfaces.d.ts +3 -0
  69. package/dist/types/mappers/data.mapper.d.ts +15 -1
  70. package/dist/types/nodes/base-data-mapping.node.d.ts +39 -4
  71. package/dist/types/nodes/data-mapping.node.d.ts +9 -9
  72. package/dist/types/reporters/console-error.reporter.d.ts +16 -0
  73. package/dist/types/reporters/reporters.d.ts +1 -0
  74. package/dist/types/serializers/data-mapping.serializer.d.ts +46 -0
  75. package/dist/types/serializers/serializers.d.ts +1 -0
  76. package/dist/types/types/data-mapper-error-reporter.type.d.ts +21 -0
  77. package/dist/types/types/types.d.ts +1 -0
  78. package/package.json +3 -3
  79. package/readme.md +43 -1
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data-mapper-error-reporter.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-mapper-error-reporter.type.js","sourceRoot":"","sources":["../../../../src/types/data-mapper-error-reporter.type.ts"],"names":[],"mappings":""}
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./array-member-type-factory-callback.type"), exports);
18
+ __exportStar(require("./data-mapper-error-reporter.type"), exports);
18
19
  __exportStar(require("./data-normalizer-unique-key.type"), exports);
19
20
  __exportStar(require("./data-mapping-interceptor-unique-key.type"), exports);
20
21
  __exportStar(require("./type-factory-callback.type"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4EAA0D;AAC1D,oEAAkD;AAClD,6EAA2D;AAC3D,+DAA6C"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4EAA0D;AAC1D,oEAAkD;AAClD,oEAAkD;AAClD,6EAA2D;AAC3D,+DAA6C"}
@@ -5,6 +5,7 @@ import { DataAfterMappingInterceptorAlreadyAddedError } from "../errors/data-aft
5
5
  import { DataMappingLeaf } from "../nodes/data-mapping.leaf";
6
6
  import { BaseDataMappingNode } from "../nodes/base-data-mapping.node";
7
7
  import { DataMappingNodeTypeEnum } from "../enums/data-mapping-node-type.enum";
8
+ import { DataMappingSerializer } from "../serializers/data-mapping.serializer";
8
9
  export class DataMappingBuilder extends BaseDataMappingNode {
9
10
  constructor() {
10
11
  super(...arguments);
@@ -121,51 +122,23 @@ export class DataMappingBuilder extends BaseDataMappingNode {
121
122
  return this;
122
123
  }
123
124
  /**
124
- * This method imports a schema.
125
- *
126
- * @param schema
125
+ * Rehydrate this builder from a previously-exported schema. Replaces every field this
126
+ * class owns; child nodes are rebuilt via `DataMappingSerializer.importChildren`, which is
127
+ * the same helper `DataMappingNode.import` uses (so the two stay consistent).
127
128
  */
128
129
  import(schema) {
129
130
  this.normalizers = schema.normalizers;
130
131
  this.beforeMappingInterceptors = schema.beforeMappingInterceptors;
131
132
  this.afterMappingInterceptors = schema.afterMappingInterceptors;
132
- const nodes = schema.nodes;
133
- for (const key in nodes) {
134
- if (nodes.hasOwnProperty(key) === false) {
135
- continue;
136
- }
137
- const nodeInfo = nodes[key];
138
- const type = nodeInfo["_type"];
139
- switch (type) {
140
- case DataMappingNodeTypeEnum.ScalarArray:
141
- case DataMappingNodeTypeEnum.Leaf:
142
- const leaf = new DataMappingLeaf(this, this, type);
143
- leaf.import(nodeInfo);
144
- this.nodes[leaf.sourceProperty] = leaf;
145
- continue;
146
- case DataMappingNodeTypeEnum.Node:
147
- case DataMappingNodeTypeEnum.ObjectArray:
148
- const node = new DataMappingNode(this, this, type);
149
- node.import(nodeInfo);
150
- this.nodes[node.sourceProperty] = node;
151
- ;
152
- }
153
- }
133
+ this.nodes = DataMappingSerializer.importChildren(this, this, schema.nodes);
154
134
  }
155
135
  /**
156
- * This method exports the schema as a plain object. The export does not mutate the live tree —
157
- * the builder remains usable for mapping after this call returns.
136
+ * Export the schema as a plain object. The export does not mutate the live tree — the
137
+ * builder remains usable for mapping after this call returns.
158
138
  */
159
139
  export() {
160
- const exportedNodes = {};
161
- for (const key in this.nodes) {
162
- if (this.nodes.hasOwnProperty(key) === false) {
163
- continue;
164
- }
165
- exportedNodes[key] = this.nodes[key].export();
166
- }
167
140
  return {
168
- "nodes": exportedNodes,
141
+ "nodes": DataMappingSerializer.exportChildren(this.nodes),
169
142
  "normalizers": this.normalizers,
170
143
  "beforeMappingInterceptors": this.beforeMappingInterceptors,
171
144
  "afterMappingInterceptors": this.afterMappingInterceptors,
@@ -1 +1 @@
1
- {"version":3,"file":"data-mapping.builder.js","sourceRoot":"","sources":["../../../../src/builders/data-mapping.builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-mapping.builder.js","sourceRoot":"","sources":["../../../../src/builders/data-mapping.builder.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,7 @@ export * from "./nodes/nodes";
8
8
  export * from "./normalizer-options/normalizer-options";
9
9
  export * from "./normalizers/normalizers";
10
10
  export * from "./options/options";
11
+ export * from "./reporters/reporters";
12
+ export * from "./serializers/serializers";
11
13
  export * from "./types/types";
12
14
  //# sourceMappingURL=data-mapping-common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-mapping-common.js","sourceRoot":"","sources":["../../../src/data-mapping-common.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,yCAAyC,CAAC;AACxD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"data-mapping-common.js","sourceRoot":"","sources":["../../../src/data-mapping-common.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,yCAAyC,CAAC;AACxD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fluent-array-of-objects-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluent-array-of-objects-options.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/fluent-array-of-objects-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fluent-leaf-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluent-leaf-options.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/fluent-leaf-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fluent-nested-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluent-nested-options.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/fluent-nested-options.interface.ts"],"names":[],"mappings":""}
@@ -1,3 +1,6 @@
1
1
  export * from "./data-normalizer.interface";
2
2
  export * from "./data-mapping-interceptor.interface";
3
+ export * from "./fluent-array-of-objects-options.interface";
4
+ export * from "./fluent-leaf-options.interface";
5
+ export * from "./fluent-nested-options.interface";
3
6
  //# sourceMappingURL=interfaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC"}
@@ -28,13 +28,23 @@ import { AutoMapPrimitiveTypeNormalizerNotFoundError } from "../errors/auto-map-
28
28
  import { NumberNormalizerUniqueKey } from "../normalizers/number.normalizer";
29
29
  import { BooleanNormalizerUniqueKey } from "../normalizers/boolean.normalizer";
30
30
  import { DateNormalizerUniqueKey } from "../normalizers/date.normalizer";
31
+ import { ConsoleErrorReporter } from "../reporters/console-error.reporter";
31
32
  export class DataMapper {
32
- constructor(autoDataMappingBuilder, dataNormalizers, dataTransformerInterceptors) {
33
+ constructor(autoDataMappingBuilder, dataNormalizers, dataTransformerInterceptors,
34
+ /**
35
+ * Where `autoMap` should send errors when `logErrors: true` is set in the call options.
36
+ *
37
+ * Default: writes to `console.error`. Pass a custom function to route into your app's
38
+ * logger (e.g. the DI-wired DataMapper in `@pristine-ts/data-mapping` adapts this to
39
+ * `LogHandlerInterface`). Pass `() => {}` to silence reports even when `logErrors` is on.
40
+ */
41
+ errorReporter) {
33
42
  this.autoDataMappingBuilder = autoDataMappingBuilder;
34
43
  this.dataNormalizers = dataNormalizers;
35
44
  this.dataTransformerInterceptors = dataTransformerInterceptors;
36
45
  this.dataNormalizersMap = {};
37
46
  this.dataTransformerInterceptorsMap = {};
47
+ this.errorReporter = errorReporter !== null && errorReporter !== void 0 ? errorReporter : ConsoleErrorReporter.report;
38
48
  dataNormalizers.forEach(dataNormalizer => {
39
49
  this.dataNormalizersMap[dataNormalizer.getUniqueKey()] = dataNormalizer;
40
50
  });
@@ -109,7 +119,7 @@ export class DataMapper {
109
119
  }
110
120
  catch (e) {
111
121
  if (options === null || options === void 0 ? void 0 : options.logErrors) {
112
- console.error(e);
122
+ this.errorReporter(e, { source, destinationType });
113
123
  }
114
124
  if (options === null || options === void 0 ? void 0 : options.throwOnErrors) {
115
125
  throw e;
@@ -1 +1 @@
1
- {"version":3,"file":"data.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/data.mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/data.mapper.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,80 @@ export class BaseDataMappingNode {
4
4
  constructor() {
5
5
  this.nodes = {};
6
6
  }
7
+ // ── Fluent / sugar API ────────────────────────────────────────────────────────────────
8
+ //
9
+ // Sugar layer over the low-level chain. Each call returns `this` so calls compose without
10
+ // explicit `.end()`. Nested structures take a build callback that scopes the inner config
11
+ // — the framework handles the `.end()` for you.
7
12
  /**
8
- * This method is called by the node itself to tell its parent that it has been build and is ready to be added.
9
- * We use this mechanism to force the `end()` method on the leaf to be called so we can do some validations before
10
- * adding it to the tree.
13
+ * Add a leaf mapping. `field(src)` is shorthand for `field(src, src)` (no rename).
11
14
  *
12
- * @param node
15
+ * Equivalent to `.add().setSourceProperty(src).setDestinationProperty(dst).end()`, plus
16
+ * applying normalizer / optional / excludeNormalizers options.
17
+ */
18
+ field(source, destination, options) {
19
+ const leaf = this.add()
20
+ .setSourceProperty(source)
21
+ .setDestinationProperty(destination !== null && destination !== void 0 ? destination : source);
22
+ BaseDataMappingNode.applyLeafOptions(leaf, options);
23
+ leaf.end();
24
+ return this;
25
+ }
26
+ /**
27
+ * Add a nested object mapping. The build callback receives the new node and configures its
28
+ * children — no explicit `.end()` needed; this method calls it for you when the callback
29
+ * returns.
30
+ */
31
+ nested(source, destination, build, options) {
32
+ const node = this.addNestingLevel()
33
+ .setSourceProperty(source)
34
+ .setDestinationProperty(destination);
35
+ if ((options === null || options === void 0 ? void 0 : options.isOptional) !== undefined) {
36
+ node.setIsOptional(options.isOptional);
37
+ }
38
+ if ((options === null || options === void 0 ? void 0 : options.destinationType) !== undefined) {
39
+ node.setDestinationType(options.destinationType);
40
+ }
41
+ build(node);
42
+ node.end();
43
+ return this;
44
+ }
45
+ /**
46
+ * Add an array-of-objects mapping. The build callback configures the per-element schema —
47
+ * every element in the source array is mapped through it. `destinationType` can be a class
48
+ * (uniform array) or a factory callback (polymorphic array).
49
+ */
50
+ arrayOfObjects(source, destination, build, options) {
51
+ const node = this.addArrayOfObjects()
52
+ .setSourceProperty(source)
53
+ .setDestinationProperty(destination);
54
+ if ((options === null || options === void 0 ? void 0 : options.isOptional) !== undefined) {
55
+ node.setIsOptional(options.isOptional);
56
+ }
57
+ if ((options === null || options === void 0 ? void 0 : options.destinationType) !== undefined) {
58
+ node.setDestinationType(options.destinationType);
59
+ }
60
+ build(node);
61
+ node.end();
62
+ return this;
63
+ }
64
+ /**
65
+ * Add an array-of-scalars mapping. Normalizers in `options` apply to every element of the
66
+ * array, not to the array itself. `arrayOfScalars(src)` is shorthand for same-name source
67
+ * and destination.
68
+ */
69
+ arrayOfScalars(source, destination, options) {
70
+ const leaf = this.addArrayOfScalar()
71
+ .setSourceProperty(source)
72
+ .setDestinationProperty(destination !== null && destination !== void 0 ? destination : source);
73
+ BaseDataMappingNode.applyLeafOptions(leaf, options);
74
+ leaf.end();
75
+ return this;
76
+ }
77
+ /**
78
+ * Called by the node itself to tell its parent that it has been built and is ready to be
79
+ * added. We use this mechanism to force the `end()` method on the leaf to be called so we
80
+ * can do some validations before adding it to the tree.
13
81
  */
14
82
  addNode(node) {
15
83
  if (node.sourceProperty === undefined) {
@@ -20,5 +88,27 @@ export class BaseDataMappingNode {
20
88
  }
21
89
  this.nodes[node.sourceProperty] = node;
22
90
  }
91
+ /**
92
+ * Shared between `field()` and `arrayOfScalars()` — both take the same options shape.
93
+ * Static helper so it can be called against either a freshly-built leaf or any leaf type.
94
+ */
95
+ static applyLeafOptions(leaf, options) {
96
+ var _a, _b;
97
+ if (options === undefined) {
98
+ return;
99
+ }
100
+ if (options.isOptional !== undefined) {
101
+ leaf.setIsOptional(options.isOptional);
102
+ }
103
+ (_a = options.excludeNormalizers) === null || _a === void 0 ? void 0 : _a.forEach(key => leaf.excludeNormalizer(key));
104
+ (_b = options.normalizers) === null || _b === void 0 ? void 0 : _b.forEach(entry => {
105
+ if (typeof entry === "string") {
106
+ leaf.addNormalizer(entry);
107
+ }
108
+ else {
109
+ leaf.addNormalizer(entry.key, entry.options);
110
+ }
111
+ });
112
+ }
23
113
  }
24
114
  //# sourceMappingURL=base-data-mapping.node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-data-mapping.node.js","sourceRoot":"","sources":["../../../../src/nodes/base-data-mapping.node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,4BAA4B,EAAC,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAC,iCAAiC,EAAC,MAAM,gDAAgD,CAAC;AAEjG,MAAM,OAAgB,mBAAmB;IAAzC;QACS,UAAK,GAAsE,EAAE,CAAC;IAsBvF,CAAC;IApBC;;;;;;OAMG;IACI,OAAO,CAAC,IAAuC;QACpD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACzC,CAAC;CAGF"}
1
+ {"version":3,"file":"base-data-mapping.node.js","sourceRoot":"","sources":["../../../../src/nodes/base-data-mapping.node.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { BaseDataMappingNode } from "./base-data-mapping.node";
13
13
  import { DataMappingSourcePropertyNotFoundError } from "../errors/data-mapping-source-property-not-found.error";
14
14
  import { ArrayDataMappingNodeInvalidSourcePropertyTypeError } from "../errors/array-data-mapping-node-invalid-source-property-type.error";
15
15
  import { plainToInstance } from "class-transformer";
16
+ import { DataMappingSerializer } from "../serializers/data-mapping.serializer";
16
17
  export class DataMappingNode extends BaseDataMappingNode {
17
18
  constructor(root, parent, type = DataMappingNodeTypeEnum.Node) {
18
19
  super();
@@ -243,61 +244,32 @@ export class DataMappingNode extends BaseDataMappingNode {
243
244
  });
244
245
  }
245
246
  /**
246
- * This method imports a schema.
247
- *
248
- * @param schema
247
+ * Rehydrate this node from a previously-exported sub-schema. Children are rebuilt via
248
+ * `DataMappingSerializer.importChildren`, the same helper `DataMappingBuilder.import` uses
249
+ * (so the two stay consistent).
249
250
  */
250
251
  import(schema) {
251
252
  this.sourceProperty = schema.sourceProperty;
252
253
  this.destinationProperty = schema.destinationProperty;
253
254
  this.isOptional = schema.isOptional;
254
- this.nodes = {};
255
- const nodes = schema.nodes;
256
- for (const key in nodes) {
257
- if (nodes.hasOwnProperty(key) === false) {
258
- continue;
259
- }
260
- const nodeInfo = nodes[key];
261
- const type = nodeInfo["_type"];
262
- switch (type) {
263
- case DataMappingNodeTypeEnum.ScalarArray:
264
- case DataMappingNodeTypeEnum.Leaf:
265
- const leaf = new DataMappingLeaf(this.root, this, type);
266
- leaf.import(nodeInfo);
267
- this.nodes[leaf.sourceProperty] = leaf;
268
- continue;
269
- case DataMappingNodeTypeEnum.Node:
270
- case DataMappingNodeTypeEnum.ObjectArray:
271
- const node = new DataMappingNode(this.root, this, type);
272
- node.import(nodeInfo);
273
- this.nodes[node.sourceProperty] = node;
274
- ;
275
- }
276
- }
255
+ this.nodes = DataMappingSerializer.importChildren(this.root, this, schema.nodes);
277
256
  }
278
257
  /**
279
- * This method exports this node. The exported representation is a plain object it does not mutate
280
- * the live tree, so the same builder can continue to be used for mapping after `export()` is called.
258
+ * Export this node as a plain object. Does not mutate the live treethe builder remains
259
+ * usable for mapping after this call returns.
281
260
  *
282
- * `destinationType` is intentionally not serialized: class constructors aren't transferable, and
283
- * factory callbacks (`ArrayMemberTypeFactoryCallbackType`) hold closures. To rehydrate a schema with
284
- * the same destination instantiation behavior, decorate the destination class with class-transformer's
285
- * `@Type()` and pass the destination class to `DataMapper.map()`.
261
+ * `destinationType` is intentionally not serialized: class constructors aren't transferable,
262
+ * and factory callbacks (`ArrayMemberTypeFactoryCallbackType`) hold closures. To rehydrate a
263
+ * schema with the same destination instantiation behavior, decorate the destination class
264
+ * with class-transformer's `@Type()` and pass the destination class to `DataMapper.map()`.
286
265
  */
287
266
  export() {
288
- const exportedNodes = {};
289
- for (const key in this.nodes) {
290
- if (this.nodes.hasOwnProperty(key) === false) {
291
- continue;
292
- }
293
- exportedNodes[key] = this.nodes[key].export();
294
- }
295
267
  return {
296
268
  "_type": this.type,
297
269
  "sourceProperty": this.sourceProperty,
298
270
  "destinationProperty": this.destinationProperty,
299
271
  "isOptional": this.isOptional,
300
- "nodes": exportedNodes,
272
+ "nodes": DataMappingSerializer.exportChildren(this.nodes),
301
273
  };
302
274
  }
303
275
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-mapping.node.js","sourceRoot":"","sources":["../../../../src/nodes/data-mapping.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-mapping.node.js","sourceRoot":"","sources":["../../../../src/nodes/data-mapping.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Built-in default reporter. Writes a header line + the error + a structured context payload
3
+ * to `console.error`. Used when no custom reporter is supplied to DataMapper — gives the
4
+ * frontend (and any non-DI caller) useful output out of the box.
5
+ *
6
+ * Exposed as a class-with-static-method so callers can compose it from their own reporters,
7
+ * e.g. `(err, ctx) => { sendToSentry(err); ConsoleErrorReporter.report(err, ctx); }`.
8
+ */
9
+ export class ConsoleErrorReporter {
10
+ }
11
+ /**
12
+ * Matches the `DataMapperErrorReporter` shape so a method reference (`ConsoleErrorReporter.report`)
13
+ * can be passed wherever the callback type is expected.
14
+ */
15
+ ConsoleErrorReporter.report = (error, context) => {
16
+ // eslint-disable-next-line no-console
17
+ console.error("[DataMapper] autoMap caught an error.", error, context);
18
+ };
19
+ //# sourceMappingURL=console-error.reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-error.reporter.js","sourceRoot":"","sources":["../../../../src/reporters/console-error.reporter.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;;AAC/B;;;GAGG;AACoB,2BAAM,GAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC1E,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./console-error.reporter";
2
+ //# sourceMappingURL=reporters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporters.js","sourceRoot":"","sources":["../../../../src/reporters/reporters.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { DataMappingNodeTypeEnum } from "../enums/data-mapping-node-type.enum";
2
+ import { DataMappingNode } from "../nodes/data-mapping.node";
3
+ import { DataMappingLeaf } from "../nodes/data-mapping.leaf";
4
+ /**
5
+ * Pure helpers for serializing / deserializing the children-map shared between
6
+ * `DataMappingBuilder` and `DataMappingNode`.
7
+ *
8
+ * Both classes hold the same `{ [sourceProperty]: DataMappingNode | DataMappingLeaf }` shape
9
+ * and both need to walk it the same way during `import()` / `export()`. Keeping that walk in
10
+ * one place avoids the two implementations drifting apart (which they already had — see the
11
+ * old destination-property-leak bug).
12
+ *
13
+ * Stateless class-as-namespace per the project convention (no constructor dependencies, no
14
+ * instance state, so static methods make the call site read straight: `DataMappingSerializer.
15
+ * importChildren(...)`).
16
+ *
17
+ * Note on imports: this module is in a small cycle with `data-mapping.node.ts` — the
18
+ * serializer references Node and Leaf so it can instantiate them, and Node references the
19
+ * serializer so its `import()` / `export()` can delegate. The cycle resolves cleanly because
20
+ * the references are used only inside method bodies (not at module top level), so by the
21
+ * time anything runs both modules are fully evaluated.
22
+ */
23
+ export class DataMappingSerializer {
24
+ /**
25
+ * Rebuild a populated children map from the `nodes` field of a serialized schema.
26
+ *
27
+ * Dispatches on the `_type` discriminator: ScalarArray + Leaf hydrate as `DataMappingLeaf`,
28
+ * Node + ObjectArray hydrate as `DataMappingNode`. The created child's own `import()` is
29
+ * called to fill in its fields and (for nodes) recurse into its own children.
30
+ */
31
+ static importChildren(root, parent, schemaNodes) {
32
+ const result = {};
33
+ if (schemaNodes === undefined || schemaNodes === null) {
34
+ return result;
35
+ }
36
+ for (const key in schemaNodes) {
37
+ if (schemaNodes.hasOwnProperty(key) === false) {
38
+ continue;
39
+ }
40
+ const nodeInfo = schemaNodes[key];
41
+ const type = nodeInfo["_type"];
42
+ switch (type) {
43
+ case DataMappingNodeTypeEnum.ScalarArray:
44
+ case DataMappingNodeTypeEnum.Leaf: {
45
+ const leaf = new DataMappingLeaf(root, parent, type);
46
+ leaf.import(nodeInfo);
47
+ result[leaf.sourceProperty] = leaf;
48
+ break;
49
+ }
50
+ case DataMappingNodeTypeEnum.Node:
51
+ case DataMappingNodeTypeEnum.ObjectArray: {
52
+ const node = new DataMappingNode(root, parent, type);
53
+ node.import(nodeInfo);
54
+ result[node.sourceProperty] = node;
55
+ break;
56
+ }
57
+ }
58
+ }
59
+ return result;
60
+ }
61
+ /**
62
+ * Serialize a children map back into a plain `nodes` object suitable for embedding in a
63
+ * schema export. Returns a fresh object — does not mutate the input, so callers can safely
64
+ * continue to use the live tree after exporting.
65
+ */
66
+ static exportChildren(nodes) {
67
+ const result = {};
68
+ for (const key in nodes) {
69
+ if (nodes.hasOwnProperty(key) === false) {
70
+ continue;
71
+ }
72
+ result[key] = nodes[key].export();
73
+ }
74
+ return result;
75
+ }
76
+ }
77
+ //# sourceMappingURL=data-mapping.serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-mapping.serializer.js","sourceRoot":"","sources":["../../../../src/serializers/data-mapping.serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAG3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,qBAAqB;IAChC;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAC1B,IAAwB,EACxB,MAA4C,EAC5C,WAA+C;QAE/C,MAAM,MAAM,GAAoE,EAAE,CAAC;QAEnF,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,GAA4B,QAAQ,CAAC,OAAO,CAAC,CAAC;YAExD,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,uBAAuB,CAAC,WAAW,CAAC;gBACzC,KAAK,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClC,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;oBACnC,MAAM;gBACR,CAAC;gBAED,KAAK,uBAAuB,CAAC,IAAI,CAAC;gBAClC,KAAK,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;oBACzC,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;oBACnC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,cAAc,CAC1B,KAAsE;QAEtE,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from "./data-mapping.serializer";
2
+ //# sourceMappingURL=serializers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../../../src/serializers/serializers.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}