@lionweb/class-core 0.7.0-beta.17 → 0.7.0-beta.19

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.
package/CHANGELOG.md CHANGED
@@ -20,10 +20,7 @@
20
20
  * Implement inverters for all deltas.
21
21
  * Fix single-containment and -reference value managers.
22
22
  * (Fix a small cosmetic thing in `asTreeTextWith`: unset properties’ values now get shown as “`<not set>`” instead of as “`$<not set>`” — note the removed `$`.)
23
- * Expose feature resolution with proper checking to avoid undebuggable `undefined` dereferencing at runtime in `deltaDeserializer` and `eventToDeltaTranslator` functions.
24
23
  * Dependent nodes can now be passed to a deserializer as an `IdMapping` instance as well.
25
- * Add a getter `raw` to the `IdMapping` class that returns a snapshot of the internal hashmap ID &rarr; node.
26
- * The `NodesById` type is now exported as well, to that end.
27
24
 
28
25
 
29
26
  ## 0.6.13
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.g.d.ts","sourceRoot":"","sources":["../../../src/deltas/serialization/deserializer.g.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAqC9C,eAAO,MAAM,iBAAiB,GAAI,eAAe,aAAa,EAAE,EAAE,WAAW,SAAS,KAAG,iBA0PxF,CAAA"}
1
+ {"version":3,"file":"deserializer.g.d.ts","sourceRoot":"","sources":["../../../src/deltas/serialization/deserializer.g.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAqC9C,eAAO,MAAM,iBAAiB,GAAI,eAAe,aAAa,EAAE,EAAE,WAAW,SAAS,KAAG,iBA0PxF,CAAA"}
@@ -14,7 +14,9 @@
14
14
  //
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
- import { featureResolversFor } from "../../feature-resolvers.js";
17
+ // Warning: this file is generated!
18
+ // Modifying it by hand is useless at best, and sabotage at worst.
19
+ import { featureResolversFor } from "@lionweb/core";
18
20
  import { AnnotationAddedDelta, AnnotationDeletedDelta, AnnotationMovedAndReplacedFromOtherParentDelta, AnnotationMovedAndReplacedInSameParentDelta, AnnotationMovedFromOtherParentDelta, AnnotationMovedInSameParentDelta, AnnotationReplacedDelta, ChildAddedDelta, ChildDeletedDelta, ChildMovedAndReplacedFromOtherContainmentDelta, ChildMovedAndReplacedFromOtherContainmentInSameParentDelta, ChildMovedAndReplacedInSameContainmentDelta, ChildMovedFromOtherContainmentDelta, ChildMovedFromOtherContainmentInSameParentDelta, ChildMovedInSameContainmentDelta, ChildReplacedDelta, CompositeDelta, EntryMovedAndReplacedFromOtherReferenceDelta, EntryMovedAndReplacedFromOtherReferenceInSameParentDelta, EntryMovedAndReplacedInSameReferenceDelta, EntryMovedFromOtherReferenceDelta, EntryMovedFromOtherReferenceInSameParentDelta, EntryMovedInSameReferenceDelta, NoOpDelta, PartitionAddedDelta, PartitionDeletedDelta, PropertyAddedDelta, PropertyChangedDelta, PropertyDeletedDelta, ReferenceAddedDelta, ReferenceChangedDelta, ReferenceDeletedDelta } from "../types.g.js";
19
21
  export const deltaDeserializer = (languageBases, idMapping) => {
20
22
  const { resolvedPropertyFrom, resolvedContainmentFrom, resolvedReferenceFrom } = featureResolversFor(languageBases.map(({ language }) => language));
@@ -30,40 +32,40 @@ export const deltaDeserializer = (languageBases, idMapping) => {
30
32
  }
31
33
  case "PropertyAdded": {
32
34
  const node = idMapping.fromId(delta.node);
33
- const property = resolvedPropertyFrom(delta.property, node);
35
+ const property = resolvedPropertyFrom(delta.property, node.classifier);
34
36
  const value = delta.value;
35
37
  return new PropertyAddedDelta(node, property, value);
36
38
  }
37
39
  case "PropertyDeleted": {
38
40
  const node = idMapping.fromId(delta.node);
39
- const property = resolvedPropertyFrom(delta.property, node);
41
+ const property = resolvedPropertyFrom(delta.property, node.classifier);
40
42
  const oldValue = delta.oldValue;
41
43
  return new PropertyDeletedDelta(node, property, oldValue);
42
44
  }
43
45
  case "PropertyChanged": {
44
46
  const node = idMapping.fromId(delta.node);
45
- const property = resolvedPropertyFrom(delta.property, node);
47
+ const property = resolvedPropertyFrom(delta.property, node.classifier);
46
48
  const oldValue = delta.oldValue;
47
49
  const newValue = delta.newValue;
48
50
  return new PropertyChangedDelta(node, property, oldValue, newValue);
49
51
  }
50
52
  case "ChildAdded": {
51
53
  const parent = idMapping.fromId(delta.parent);
52
- const containment = resolvedContainmentFrom(delta.containment, parent);
54
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
53
55
  const index = delta.index;
54
56
  const newChild = idMapping.fromId(delta.newChild);
55
57
  return new ChildAddedDelta(parent, containment, index, newChild);
56
58
  }
57
59
  case "ChildDeleted": {
58
60
  const parent = idMapping.fromId(delta.parent);
59
- const containment = resolvedContainmentFrom(delta.containment, parent);
61
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
60
62
  const index = delta.index;
61
63
  const deletedChild = idMapping.fromId(delta.deletedChild);
62
64
  return new ChildDeletedDelta(parent, containment, index, deletedChild);
63
65
  }
64
66
  case "ChildReplaced": {
65
67
  const parent = idMapping.fromId(delta.parent);
66
- const containment = resolvedContainmentFrom(delta.containment, parent);
68
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
67
69
  const index = delta.index;
68
70
  const replacedChild = idMapping.fromId(delta.replacedChild);
69
71
  const newChild = idMapping.fromId(delta.newChild);
@@ -71,26 +73,26 @@ export const deltaDeserializer = (languageBases, idMapping) => {
71
73
  }
72
74
  case "ChildMovedFromOtherContainment": {
73
75
  const oldParent = idMapping.fromId(delta.oldParent);
74
- const oldContainment = resolvedContainmentFrom(delta.oldContainment, oldParent);
76
+ const oldContainment = resolvedContainmentFrom(delta.oldContainment, oldParent.classifier);
75
77
  const oldIndex = delta.oldIndex;
76
78
  const newParent = idMapping.fromId(delta.newParent);
77
- const newContainment = resolvedContainmentFrom(delta.newContainment, newParent);
79
+ const newContainment = resolvedContainmentFrom(delta.newContainment, newParent.classifier);
78
80
  const newIndex = delta.newIndex;
79
81
  const movedChild = idMapping.fromId(delta.movedChild);
80
82
  return new ChildMovedFromOtherContainmentDelta(oldParent, oldContainment, oldIndex, newParent, newContainment, newIndex, movedChild);
81
83
  }
82
84
  case "ChildMovedFromOtherContainmentInSameParent": {
83
85
  const parent = idMapping.fromId(delta.parent);
84
- const oldContainment = resolvedContainmentFrom(delta.oldContainment, parent);
86
+ const oldContainment = resolvedContainmentFrom(delta.oldContainment, parent.classifier);
85
87
  const oldIndex = delta.oldIndex;
86
88
  const movedChild = idMapping.fromId(delta.movedChild);
87
- const newContainment = resolvedContainmentFrom(delta.newContainment, parent);
89
+ const newContainment = resolvedContainmentFrom(delta.newContainment, parent.classifier);
88
90
  const newIndex = delta.newIndex;
89
91
  return new ChildMovedFromOtherContainmentInSameParentDelta(parent, oldContainment, oldIndex, movedChild, newContainment, newIndex);
90
92
  }
91
93
  case "ChildMovedInSameContainment": {
92
94
  const parent = idMapping.fromId(delta.parent);
93
- const containment = resolvedContainmentFrom(delta.containment, parent);
95
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
94
96
  const oldIndex = delta.oldIndex;
95
97
  const newIndex = delta.newIndex;
96
98
  const movedChild = idMapping.fromId(delta.movedChild);
@@ -98,20 +100,20 @@ export const deltaDeserializer = (languageBases, idMapping) => {
98
100
  }
99
101
  case "ChildMovedAndReplacedFromOtherContainment": {
100
102
  const newParent = idMapping.fromId(delta.newParent);
101
- const newContainment = resolvedContainmentFrom(delta.newContainment, newParent);
103
+ const newContainment = resolvedContainmentFrom(delta.newContainment, newParent.classifier);
102
104
  const newIndex = delta.newIndex;
103
105
  const movedChild = idMapping.fromId(delta.movedChild);
104
106
  const oldParent = idMapping.fromId(delta.oldParent);
105
- const oldContainment = resolvedContainmentFrom(delta.oldContainment, oldParent);
107
+ const oldContainment = resolvedContainmentFrom(delta.oldContainment, oldParent.classifier);
106
108
  const oldIndex = delta.oldIndex;
107
109
  const replacedChild = idMapping.fromId(delta.replacedChild);
108
110
  return new ChildMovedAndReplacedFromOtherContainmentDelta(newParent, newContainment, newIndex, movedChild, oldParent, oldContainment, oldIndex, replacedChild);
109
111
  }
110
112
  case "ChildMovedAndReplacedFromOtherContainmentInSameParent": {
111
113
  const parent = idMapping.fromId(delta.parent);
112
- const oldContainment = resolvedContainmentFrom(delta.oldContainment, parent);
114
+ const oldContainment = resolvedContainmentFrom(delta.oldContainment, parent.classifier);
113
115
  const oldIndex = delta.oldIndex;
114
- const newContainment = resolvedContainmentFrom(delta.newContainment, parent);
116
+ const newContainment = resolvedContainmentFrom(delta.newContainment, parent.classifier);
115
117
  const newIndex = delta.newIndex;
116
118
  const movedChild = idMapping.fromId(delta.movedChild);
117
119
  const replacedChild = idMapping.fromId(delta.replacedChild);
@@ -119,7 +121,7 @@ export const deltaDeserializer = (languageBases, idMapping) => {
119
121
  }
120
122
  case "ChildMovedAndReplacedInSameContainment": {
121
123
  const parent = idMapping.fromId(delta.parent);
122
- const containment = resolvedContainmentFrom(delta.containment, parent);
124
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
123
125
  const oldIndex = delta.oldIndex;
124
126
  const newIndex = delta.newIndex;
125
127
  const movedChild = idMapping.fromId(delta.movedChild);
@@ -179,21 +181,21 @@ export const deltaDeserializer = (languageBases, idMapping) => {
179
181
  }
180
182
  case "ReferenceAdded": {
181
183
  const parent = idMapping.fromId(delta.parent);
182
- const reference = resolvedReferenceFrom(delta.reference, parent);
184
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
183
185
  const index = delta.index;
184
186
  const newTarget = idMapping.fromRefId(delta.newTarget);
185
187
  return new ReferenceAddedDelta(parent, reference, index, newTarget);
186
188
  }
187
189
  case "ReferenceDeleted": {
188
190
  const parent = idMapping.fromId(delta.parent);
189
- const reference = resolvedReferenceFrom(delta.reference, parent);
191
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
190
192
  const index = delta.index;
191
193
  const deletedTarget = idMapping.fromRefId(delta.deletedTarget);
192
194
  return new ReferenceDeletedDelta(parent, reference, index, deletedTarget);
193
195
  }
194
196
  case "ReferenceChanged": {
195
197
  const parent = idMapping.fromId(delta.parent);
196
- const reference = resolvedReferenceFrom(delta.reference, parent);
198
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
197
199
  const index = delta.index;
198
200
  const newTarget = idMapping.fromRefId(delta.newTarget);
199
201
  const oldTarget = idMapping.fromRefId(delta.oldTarget);
@@ -201,26 +203,26 @@ export const deltaDeserializer = (languageBases, idMapping) => {
201
203
  }
202
204
  case "EntryMovedFromOtherReference": {
203
205
  const oldParent = idMapping.fromId(delta.oldParent);
204
- const oldReference = resolvedReferenceFrom(delta.oldReference, oldParent);
206
+ const oldReference = resolvedReferenceFrom(delta.oldReference, oldParent.classifier);
205
207
  const oldIndex = delta.oldIndex;
206
208
  const newParent = idMapping.fromId(delta.newParent);
207
- const newReference = resolvedReferenceFrom(delta.newReference, newParent);
209
+ const newReference = resolvedReferenceFrom(delta.newReference, newParent.classifier);
208
210
  const newIndex = delta.newIndex;
209
211
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
210
212
  return new EntryMovedFromOtherReferenceDelta(oldParent, oldReference, oldIndex, newParent, newReference, newIndex, movedTarget);
211
213
  }
212
214
  case "EntryMovedFromOtherReferenceInSameParent": {
213
215
  const parent = idMapping.fromId(delta.parent);
214
- const oldReference = resolvedReferenceFrom(delta.oldReference, parent);
216
+ const oldReference = resolvedReferenceFrom(delta.oldReference, parent.classifier);
215
217
  const oldIndex = delta.oldIndex;
216
- const newReference = resolvedReferenceFrom(delta.newReference, parent);
218
+ const newReference = resolvedReferenceFrom(delta.newReference, parent.classifier);
217
219
  const newIndex = delta.newIndex;
218
220
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
219
221
  return new EntryMovedFromOtherReferenceInSameParentDelta(parent, oldReference, oldIndex, newReference, newIndex, movedTarget);
220
222
  }
221
223
  case "EntryMovedInSameReference": {
222
224
  const parent = idMapping.fromId(delta.parent);
223
- const reference = resolvedReferenceFrom(delta.reference, parent);
225
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
224
226
  const oldIndex = delta.oldIndex;
225
227
  const newIndex = delta.newIndex;
226
228
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
@@ -228,20 +230,20 @@ export const deltaDeserializer = (languageBases, idMapping) => {
228
230
  }
229
231
  case "EntryMovedAndReplacedFromOtherReference": {
230
232
  const newParent = idMapping.fromId(delta.newParent);
231
- const newReference = resolvedReferenceFrom(delta.newReference, newParent);
233
+ const newReference = resolvedReferenceFrom(delta.newReference, newParent.classifier);
232
234
  const newIndex = delta.newIndex;
233
235
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
234
236
  const oldParent = idMapping.fromId(delta.oldParent);
235
- const oldReference = resolvedReferenceFrom(delta.oldReference, oldParent);
237
+ const oldReference = resolvedReferenceFrom(delta.oldReference, oldParent.classifier);
236
238
  const oldIndex = delta.oldIndex;
237
239
  const replacedTarget = idMapping.fromRefId(delta.replacedTarget);
238
240
  return new EntryMovedAndReplacedFromOtherReferenceDelta(newParent, newReference, newIndex, movedTarget, oldParent, oldReference, oldIndex, replacedTarget);
239
241
  }
240
242
  case "EntryMovedAndReplacedFromOtherReferenceInSameParent": {
241
243
  const parent = idMapping.fromId(delta.parent);
242
- const oldReference = resolvedReferenceFrom(delta.oldReference, parent);
244
+ const oldReference = resolvedReferenceFrom(delta.oldReference, parent.classifier);
243
245
  const oldIndex = delta.oldIndex;
244
- const newReference = resolvedReferenceFrom(delta.newReference, parent);
246
+ const newReference = resolvedReferenceFrom(delta.newReference, parent.classifier);
245
247
  const newIndex = delta.newIndex;
246
248
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
247
249
  const replacedTarget = idMapping.fromRefId(delta.replacedTarget);
@@ -249,7 +251,7 @@ export const deltaDeserializer = (languageBases, idMapping) => {
249
251
  }
250
252
  case "EntryMovedAndReplacedInSameReference": {
251
253
  const parent = idMapping.fromId(delta.parent);
252
- const reference = resolvedReferenceFrom(delta.reference, parent);
254
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
253
255
  const oldIndex = delta.oldIndex;
254
256
  const newIndex = delta.newIndex;
255
257
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.g.js","sourceRoot":"","sources":["../../../src/deltas/serialization/deserializer.g.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializer.g.js","sourceRoot":"","sources":["../../../src/deltas/serialization/deserializer.g.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { DeltaReceiver, IdMapping, ILanguageBase, INodeBase } from "./index.js";
4
4
  /**
5
5
  * A type for deserializer functions that are parametrized in their return type.
6
6
  */
7
- export type Deserializer<T> = (serializationChunk: LionWebJsonChunk, dependentNodes?: (INodeBase[] | IdMapping), propertyValueDeserializer?: PropertyValueDeserializer, problemHandler?: SimplisticHandler) => T;
7
+ export type Deserializer<T> = (serializationChunk: LionWebJsonChunk, dependentNodes?: INodeBase[], idMapping?: IdMapping, propertyValueDeserializer?: PropertyValueDeserializer, problemHandler?: SimplisticHandler) => T;
8
8
  /**
9
9
  * A quasi-tuple of the roots (of type {@link INodeBase}) of a model,
10
10
  * and its {@link IdMapping} instance.
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAiBA,OAAO,EASH,yBAAyB,EAEzB,iBAAiB,EAEpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAa,gBAAgB,EAAmB,MAAM,eAAe,CAAA;AAG5E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK/E;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAC1B,kBAAkB,EAAE,gBAAgB,EACpC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,EAC1C,yBAAyB,CAAC,EAAE,yBAAyB,EACrD,cAAc,CAAC,EAAE,iBAAiB,KACjC,CAAC,CAAC;AAGP;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAG9E;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,GAAI,eAAe,aAAa,EAAE,EAAE,eAAe,aAAa,KAAG,YAAY,CAAC,kBAAkB,CAyI/I,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,eAAe,aAAa,EAAE,EAAE,eAAe,aAAa,KAAG,YAAY,CAAC,SAAS,EAAE,CAS3H,CAAA"}
1
+ {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAiBA,OAAO,EASH,yBAAyB,EAEzB,iBAAiB,EAEpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAa,gBAAgB,EAAmB,MAAM,eAAe,CAAA;AAG5E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK/E;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAC1B,kBAAkB,EAAE,gBAAgB,EACpC,cAAc,CAAC,EAAE,SAAS,EAAE,EAC5B,SAAS,CAAC,EAAE,SAAS,EACrB,yBAAyB,CAAC,EAAE,yBAAyB,EACrD,cAAc,CAAC,EAAE,iBAAiB,KACjC,CAAC,CAAC;AAGP;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAG9E;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,GAAI,eAAe,aAAa,EAAE,EAAE,eAAe,aAAa,KAAG,YAAY,CAAC,kBAAkB,CA0I/I,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,eAAe,aAAa,EAAE,EAAE,eAAe,aAAa,KAAG,YAAY,CAAC,SAAS,EAAE,CAU3H,CAAA"}
@@ -26,7 +26,7 @@ import { combinedLanguageBaseLookupFor } from "./factory.js";
26
26
  export const nodeBaseDeserializerWithIdMapping = (languageBases, receiveDelta) => {
27
27
  const symbolTable = new MemoisingSymbolTable(languageBases.map(({ language }) => language));
28
28
  const languageBaseFor = combinedLanguageBaseLookupFor(languageBases);
29
- return (serializationChunk, dependentNodes = [], propertyValueDeserializer = new BuiltinPropertyValueDeserializer(), problemsHandler = defaultSimplisticHandler) => {
29
+ return (serializationChunk, dependentNodes = [], idMapping, propertyValueDeserializer = new BuiltinPropertyValueDeserializer(), problemsHandler = defaultSimplisticHandler) => {
30
30
  const nodesToInstall = [];
31
31
  const createNode = ({ id, classifier: classifierMetaPointer, properties, containments, references, annotations }) => {
32
32
  const languageMessage = `language ${classifierMetaPointer.language} (${classifierMetaPointer.version})`;
@@ -93,8 +93,8 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases, receiveDelta) =
93
93
  const nodesById = byIdMap(keepDefineds(serializationChunk
94
94
  .nodes
95
95
  .map(createNode)));
96
- const dependentNodesById = dependentNodes instanceof IdMapping ? dependentNodes.raw : byIdMap(dependentNodes);
97
- const lookupNodeById = (id) => nodesById[id] ?? dependentNodesById[id];
96
+ const dependentNodesById = byIdMap(dependentNodes);
97
+ const lookupNodeById = (id) => nodesById[id] ?? dependentNodesById[id] ?? idMapping?.tryFromId(id);
98
98
  nodesToInstall.forEach(([node, feature, ids]) => {
99
99
  if (feature instanceof Containment) {
100
100
  const valueManager = node.getContainmentValueManager(feature);
@@ -153,6 +153,6 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases, receiveDelta) =
153
153
  */
154
154
  export const nodeBaseDeserializer = (languageBases, receiveDelta) => {
155
155
  const deserializerWithIdMapping = nodeBaseDeserializerWithIdMapping(languageBases, receiveDelta);
156
- return (serializationChunk, dependentNodes = [], propertyValueDeserializer = new BuiltinPropertyValueDeserializer(), problemsHandler = defaultSimplisticHandler) => deserializerWithIdMapping(serializationChunk, dependentNodes, propertyValueDeserializer, problemsHandler).roots;
156
+ return (serializationChunk, dependentNodes, idMapping, propertyValueDeserializer = new BuiltinPropertyValueDeserializer(), problemsHandler = defaultSimplisticHandler) => deserializerWithIdMapping(serializationChunk, dependentNodes, idMapping, propertyValueDeserializer, problemsHandler).roots;
157
157
  };
158
158
  //# sourceMappingURL=deserializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { INodeBase } from "./index.js";
4
4
  /**
5
5
  * Type def. for a (hash-)map {@link LionWebId ID} &rarr; {@link INodeBase}.
6
6
  */
7
- export type NodesById = {
7
+ type NodesById = {
8
8
  [id: LionWebId]: INodeBase;
9
9
  };
10
10
  /**
@@ -40,9 +40,6 @@ export declare class IdMapping {
40
40
  * and should only be used by components which are in complete control of the nodes being passed to this method.
41
41
  */
42
42
  reinitializeWith: (nodesById: NodesById) => void;
43
- /**
44
- * A raw snapshot of this ID mapping, as a {@link NodesById} object (that is a defensive copy).
45
- */
46
- get raw(): NodesById;
47
43
  }
44
+ export {};
48
45
  //# sourceMappingURL=id-mapping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-mapping.d.ts","sourceRoot":"","sources":["../src/id-mapping.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAc,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGtC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,CAAA;AAGtD;;;;GAIG;AACH,qBAAa,SAAS;IAElB,OAAO,CAAC,SAAS,CAAY;gBACjB,SAAS,EAAE,SAAS;IAKhC;;;OAGG;IACH,MAAM,GAAI,IAAI,SAAS,KAAG,SAAS,CAKlC;IAED;;;OAGG;IACH,SAAS,GAAI,IAAI,SAAS,KAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAC7B;IAEvB;;;OAGG;IACH,SAAS,GAAI,gBAAgB,cAAc,KAAG,SAAS,CAAC,SAAS,CAAC,CAGT;IAEzD;;OAEG;IACH,UAAU,GAAG,MAAM,SAAS,UAK3B;IAED;;;;OAIG;IACH,gBAAgB,GAAI,WAAW,SAAS,UAEvC;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,CAEnB;CAEJ"}
1
+ {"version":3,"file":"id-mapping.d.ts","sourceRoot":"","sources":["../src/id-mapping.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAc,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGtC;;GAEG;AACH,KAAK,SAAS,GAAG;IAAE,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,CAAA;AAG/C;;;;GAIG;AACH,qBAAa,SAAS;IAElB,OAAO,CAAC,SAAS,CAAY;gBACjB,SAAS,EAAE,SAAS;IAKhC;;;OAGG;IACH,MAAM,GAAI,IAAI,SAAS,KAAG,SAAS,CAKlC;IAED;;;OAGG;IACH,SAAS,GAAI,IAAI,SAAS,KAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAC7B;IAEvB;;;OAGG;IACH,SAAS,GAAI,gBAAgB,cAAc,KAAG,SAAS,CAAC,SAAS,CAAC,CAGT;IAEzD;;OAEG;IACH,UAAU,GAAG,MAAM,SAAS,UAK3B;IAED;;;;OAIG;IACH,gBAAgB,GAAI,WAAW,SAAS,UAEvC;CAEJ"}
@@ -64,11 +64,5 @@ export class IdMapping {
64
64
  };
65
65
  this.nodesById = { ...nodesById };
66
66
  }
67
- /**
68
- * A raw snapshot of this ID mapping, as a {@link NodesById} object (that is a defensive copy).
69
- */
70
- get raw() {
71
- return { ...this.nodesById };
72
- }
73
67
  }
74
68
  //# sourceMappingURL=id-mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-mapping.js","sourceRoot":"","sources":["../src/id-mapping.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAA6B,UAAU,EAAE,MAAM,eAAe,CAAA;AAYrE;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAGlB,YAAY,SAAoB;QAGhC,iEAAiE;QAEjE;;;WAGG;QACH,WAAM,GAAG,CAAC,EAAa,EAAa,EAAE;YAClC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAA;QAED;;;WAGG;QACH,cAAS,GAAG,CAAC,EAAa,EAA2B,EAAE,CACnD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEvB;;;WAGG;QACH,cAAS,GAAG,CAAC,cAA8B,EAAwB,EAAE,CACjE,cAAc,KAAK,UAAU;YACzB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,CAAC;QAEzD;;WAEG;QACH,eAAU,GAAE,CAAC,IAAe,EAAE,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAG,4BAA4B;iBACvC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,iGAAiG;QACrG,CAAC,CAAA;QAED;;;;WAIG;QACH,qBAAgB,GAAG,CAAC,SAAoB,EAAE,EAAE;YACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC,CAAA;QAhDG,IAAI,CAAC,SAAS,GAAG,EAAC,GAAG,SAAS,EAAC,CAAC;IACpC,CAAC;IAiDD;;OAEG;IACH,IAAI,GAAG;QACH,OAAO,EAAC,GAAG,IAAI,CAAC,SAAS,EAAC,CAAC;IAC/B,CAAC;CAEJ"}
1
+ {"version":3,"file":"id-mapping.js","sourceRoot":"","sources":["../src/id-mapping.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAA6B,UAAU,EAAE,MAAM,eAAe,CAAA;AAYrE;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAGlB,YAAY,SAAoB;QAGhC,iEAAiE;QAEjE;;;WAGG;QACH,WAAM,GAAG,CAAC,EAAa,EAAa,EAAE;YAClC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAA;QAED;;;WAGG;QACH,cAAS,GAAG,CAAC,EAAa,EAA2B,EAAE,CACnD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEvB;;;WAGG;QACH,cAAS,GAAG,CAAC,cAA8B,EAAwB,EAAE,CACjE,cAAc,KAAK,UAAU;YACzB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,CAAC;QAEzD;;WAEG;QACH,eAAU,GAAE,CAAC,IAAe,EAAE,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAG,4BAA4B;iBACvC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,iGAAiG;QACrG,CAAC,CAAA;QAED;;;;WAIG;QACH,qBAAgB,GAAG,CAAC,SAAoB,EAAE,EAAE;YACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC,CAAA;QAhDG,IAAI,CAAC,SAAS,GAAG,EAAC,GAAG,SAAS,EAAC,CAAC;IACpC,CAAC;CAiDJ"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,6 @@ export * from "./deserializer.js";
5
5
  export { deepDuplicateWith } from "./duplicator.js";
6
6
  export * from "./id-mapping.js";
7
7
  export { combinedFactoryFor } from "./factory.js";
8
- export * from "./feature-resolvers.js";
9
8
  export * from "./LionCore_builtins.g.js";
10
9
  export { serializeNodeBases } from "./serializer.js";
11
10
  export { asTreeTextWith } from "./textualizer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,wBAAwB,CAAC;AAEvC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -21,7 +21,6 @@ export * from "./deserializer.js";
21
21
  export { deepDuplicateWith } from "./duplicator.js";
22
22
  export * from "./id-mapping.js";
23
23
  export { combinedFactoryFor } from "./factory.js";
24
- export * from "./feature-resolvers.js";
25
24
  // skip linking.js: see comment there
26
25
  export * from "./LionCore_builtins.g.js";
27
26
  export { serializeNodeBases } from "./serializer.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,qCAAqC;AACrC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,qCAAqC;AACrC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/class-core",
3
- "version": "0.7.0-beta.17",
3
+ "version": "0.7.0-beta.19",
4
4
  "description": "Generic, language-aspecific base types for generated TypeScript APIs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,9 +27,9 @@
27
27
  "release": "npm publish"
28
28
  },
29
29
  "dependencies": {
30
- "@lionweb/core": "0.7.0-beta.17",
31
- "@lionweb/json": "0.7.0-beta.17",
32
- "@lionweb/ts-utils": "0.7.0-beta.17",
30
+ "@lionweb/core": "0.7.0-beta.19",
31
+ "@lionweb/json": "0.7.0-beta.19",
32
+ "@lionweb/ts-utils": "0.7.0-beta.19",
33
33
  "littoral-templates": "0.5.0",
34
34
  "mobx": "6.13.7"
35
35
  }
@@ -18,9 +18,9 @@
18
18
  // Warning: this file is generated!
19
19
  // Modifying it by hand is useless at best, and sabotage at worst.
20
20
 
21
+ import { featureResolversFor } from "@lionweb/core";
21
22
  import { ILanguageBase } from "../../base-types.js";
22
23
  import { IDelta } from "../base.js";
23
- import { featureResolversFor } from "../../feature-resolvers.js";
24
24
  import { IdMapping } from "../../id-mapping.js";
25
25
  import { SerializedDelta } from "./types.g.js";
26
26
  import { DeltaDeserializer } from "./base.js";
@@ -74,40 +74,40 @@ export const deltaDeserializer = (languageBases: ILanguageBase[], idMapping: IdM
74
74
  }
75
75
  case "PropertyAdded": {
76
76
  const node = idMapping.fromId(delta.node);
77
- const property = resolvedPropertyFrom(delta.property, node);
77
+ const property = resolvedPropertyFrom(delta.property, node.classifier);
78
78
  const value = delta.value;
79
79
  return new PropertyAddedDelta(node, property, value);
80
80
  }
81
81
  case "PropertyDeleted": {
82
82
  const node = idMapping.fromId(delta.node);
83
- const property = resolvedPropertyFrom(delta.property, node);
83
+ const property = resolvedPropertyFrom(delta.property, node.classifier);
84
84
  const oldValue = delta.oldValue;
85
85
  return new PropertyDeletedDelta(node, property, oldValue);
86
86
  }
87
87
  case "PropertyChanged": {
88
88
  const node = idMapping.fromId(delta.node);
89
- const property = resolvedPropertyFrom(delta.property, node);
89
+ const property = resolvedPropertyFrom(delta.property, node.classifier);
90
90
  const oldValue = delta.oldValue;
91
91
  const newValue = delta.newValue;
92
92
  return new PropertyChangedDelta(node, property, oldValue, newValue);
93
93
  }
94
94
  case "ChildAdded": {
95
95
  const parent = idMapping.fromId(delta.parent);
96
- const containment = resolvedContainmentFrom(delta.containment, parent);
96
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
97
97
  const index = delta.index;
98
98
  const newChild = idMapping.fromId(delta.newChild);
99
99
  return new ChildAddedDelta(parent, containment, index, newChild);
100
100
  }
101
101
  case "ChildDeleted": {
102
102
  const parent = idMapping.fromId(delta.parent);
103
- const containment = resolvedContainmentFrom(delta.containment, parent);
103
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
104
104
  const index = delta.index;
105
105
  const deletedChild = idMapping.fromId(delta.deletedChild);
106
106
  return new ChildDeletedDelta(parent, containment, index, deletedChild);
107
107
  }
108
108
  case "ChildReplaced": {
109
109
  const parent = idMapping.fromId(delta.parent);
110
- const containment = resolvedContainmentFrom(delta.containment, parent);
110
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
111
111
  const index = delta.index;
112
112
  const replacedChild = idMapping.fromId(delta.replacedChild);
113
113
  const newChild = idMapping.fromId(delta.newChild);
@@ -115,26 +115,26 @@ export const deltaDeserializer = (languageBases: ILanguageBase[], idMapping: IdM
115
115
  }
116
116
  case "ChildMovedFromOtherContainment": {
117
117
  const oldParent = idMapping.fromId(delta.oldParent);
118
- const oldContainment = resolvedContainmentFrom(delta.oldContainment, oldParent);
118
+ const oldContainment = resolvedContainmentFrom(delta.oldContainment, oldParent.classifier);
119
119
  const oldIndex = delta.oldIndex;
120
120
  const newParent = idMapping.fromId(delta.newParent);
121
- const newContainment = resolvedContainmentFrom(delta.newContainment, newParent);
121
+ const newContainment = resolvedContainmentFrom(delta.newContainment, newParent.classifier);
122
122
  const newIndex = delta.newIndex;
123
123
  const movedChild = idMapping.fromId(delta.movedChild);
124
124
  return new ChildMovedFromOtherContainmentDelta(oldParent, oldContainment, oldIndex, newParent, newContainment, newIndex, movedChild);
125
125
  }
126
126
  case "ChildMovedFromOtherContainmentInSameParent": {
127
127
  const parent = idMapping.fromId(delta.parent);
128
- const oldContainment = resolvedContainmentFrom(delta.oldContainment, parent);
128
+ const oldContainment = resolvedContainmentFrom(delta.oldContainment, parent.classifier);
129
129
  const oldIndex = delta.oldIndex;
130
130
  const movedChild = idMapping.fromId(delta.movedChild);
131
- const newContainment = resolvedContainmentFrom(delta.newContainment, parent);
131
+ const newContainment = resolvedContainmentFrom(delta.newContainment, parent.classifier);
132
132
  const newIndex = delta.newIndex;
133
133
  return new ChildMovedFromOtherContainmentInSameParentDelta(parent, oldContainment, oldIndex, movedChild, newContainment, newIndex);
134
134
  }
135
135
  case "ChildMovedInSameContainment": {
136
136
  const parent = idMapping.fromId(delta.parent);
137
- const containment = resolvedContainmentFrom(delta.containment, parent);
137
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
138
138
  const oldIndex = delta.oldIndex;
139
139
  const newIndex = delta.newIndex;
140
140
  const movedChild = idMapping.fromId(delta.movedChild);
@@ -142,20 +142,20 @@ export const deltaDeserializer = (languageBases: ILanguageBase[], idMapping: IdM
142
142
  }
143
143
  case "ChildMovedAndReplacedFromOtherContainment": {
144
144
  const newParent = idMapping.fromId(delta.newParent);
145
- const newContainment = resolvedContainmentFrom(delta.newContainment, newParent);
145
+ const newContainment = resolvedContainmentFrom(delta.newContainment, newParent.classifier);
146
146
  const newIndex = delta.newIndex;
147
147
  const movedChild = idMapping.fromId(delta.movedChild);
148
148
  const oldParent = idMapping.fromId(delta.oldParent);
149
- const oldContainment = resolvedContainmentFrom(delta.oldContainment, oldParent);
149
+ const oldContainment = resolvedContainmentFrom(delta.oldContainment, oldParent.classifier);
150
150
  const oldIndex = delta.oldIndex;
151
151
  const replacedChild = idMapping.fromId(delta.replacedChild);
152
152
  return new ChildMovedAndReplacedFromOtherContainmentDelta(newParent, newContainment, newIndex, movedChild, oldParent, oldContainment, oldIndex, replacedChild);
153
153
  }
154
154
  case "ChildMovedAndReplacedFromOtherContainmentInSameParent": {
155
155
  const parent = idMapping.fromId(delta.parent);
156
- const oldContainment = resolvedContainmentFrom(delta.oldContainment, parent);
156
+ const oldContainment = resolvedContainmentFrom(delta.oldContainment, parent.classifier);
157
157
  const oldIndex = delta.oldIndex;
158
- const newContainment = resolvedContainmentFrom(delta.newContainment, parent);
158
+ const newContainment = resolvedContainmentFrom(delta.newContainment, parent.classifier);
159
159
  const newIndex = delta.newIndex;
160
160
  const movedChild = idMapping.fromId(delta.movedChild);
161
161
  const replacedChild = idMapping.fromId(delta.replacedChild);
@@ -163,7 +163,7 @@ export const deltaDeserializer = (languageBases: ILanguageBase[], idMapping: IdM
163
163
  }
164
164
  case "ChildMovedAndReplacedInSameContainment": {
165
165
  const parent = idMapping.fromId(delta.parent);
166
- const containment = resolvedContainmentFrom(delta.containment, parent);
166
+ const containment = resolvedContainmentFrom(delta.containment, parent.classifier);
167
167
  const oldIndex = delta.oldIndex;
168
168
  const newIndex = delta.newIndex;
169
169
  const movedChild = idMapping.fromId(delta.movedChild);
@@ -223,21 +223,21 @@ export const deltaDeserializer = (languageBases: ILanguageBase[], idMapping: IdM
223
223
  }
224
224
  case "ReferenceAdded": {
225
225
  const parent = idMapping.fromId(delta.parent);
226
- const reference = resolvedReferenceFrom(delta.reference, parent);
226
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
227
227
  const index = delta.index;
228
228
  const newTarget = idMapping.fromRefId(delta.newTarget);
229
229
  return new ReferenceAddedDelta(parent, reference, index, newTarget);
230
230
  }
231
231
  case "ReferenceDeleted": {
232
232
  const parent = idMapping.fromId(delta.parent);
233
- const reference = resolvedReferenceFrom(delta.reference, parent);
233
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
234
234
  const index = delta.index;
235
235
  const deletedTarget = idMapping.fromRefId(delta.deletedTarget);
236
236
  return new ReferenceDeletedDelta(parent, reference, index, deletedTarget);
237
237
  }
238
238
  case "ReferenceChanged": {
239
239
  const parent = idMapping.fromId(delta.parent);
240
- const reference = resolvedReferenceFrom(delta.reference, parent);
240
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
241
241
  const index = delta.index;
242
242
  const newTarget = idMapping.fromRefId(delta.newTarget);
243
243
  const oldTarget = idMapping.fromRefId(delta.oldTarget);
@@ -245,26 +245,26 @@ export const deltaDeserializer = (languageBases: ILanguageBase[], idMapping: IdM
245
245
  }
246
246
  case "EntryMovedFromOtherReference": {
247
247
  const oldParent = idMapping.fromId(delta.oldParent);
248
- const oldReference = resolvedReferenceFrom(delta.oldReference, oldParent);
248
+ const oldReference = resolvedReferenceFrom(delta.oldReference, oldParent.classifier);
249
249
  const oldIndex = delta.oldIndex;
250
250
  const newParent = idMapping.fromId(delta.newParent);
251
- const newReference = resolvedReferenceFrom(delta.newReference, newParent);
251
+ const newReference = resolvedReferenceFrom(delta.newReference, newParent.classifier);
252
252
  const newIndex = delta.newIndex;
253
253
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
254
254
  return new EntryMovedFromOtherReferenceDelta(oldParent, oldReference, oldIndex, newParent, newReference, newIndex, movedTarget);
255
255
  }
256
256
  case "EntryMovedFromOtherReferenceInSameParent": {
257
257
  const parent = idMapping.fromId(delta.parent);
258
- const oldReference = resolvedReferenceFrom(delta.oldReference, parent);
258
+ const oldReference = resolvedReferenceFrom(delta.oldReference, parent.classifier);
259
259
  const oldIndex = delta.oldIndex;
260
- const newReference = resolvedReferenceFrom(delta.newReference, parent);
260
+ const newReference = resolvedReferenceFrom(delta.newReference, parent.classifier);
261
261
  const newIndex = delta.newIndex;
262
262
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
263
263
  return new EntryMovedFromOtherReferenceInSameParentDelta(parent, oldReference, oldIndex, newReference, newIndex, movedTarget);
264
264
  }
265
265
  case "EntryMovedInSameReference": {
266
266
  const parent = idMapping.fromId(delta.parent);
267
- const reference = resolvedReferenceFrom(delta.reference, parent);
267
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
268
268
  const oldIndex = delta.oldIndex;
269
269
  const newIndex = delta.newIndex;
270
270
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
@@ -272,20 +272,20 @@ export const deltaDeserializer = (languageBases: ILanguageBase[], idMapping: IdM
272
272
  }
273
273
  case "EntryMovedAndReplacedFromOtherReference": {
274
274
  const newParent = idMapping.fromId(delta.newParent);
275
- const newReference = resolvedReferenceFrom(delta.newReference, newParent);
275
+ const newReference = resolvedReferenceFrom(delta.newReference, newParent.classifier);
276
276
  const newIndex = delta.newIndex;
277
277
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
278
278
  const oldParent = idMapping.fromId(delta.oldParent);
279
- const oldReference = resolvedReferenceFrom(delta.oldReference, oldParent);
279
+ const oldReference = resolvedReferenceFrom(delta.oldReference, oldParent.classifier);
280
280
  const oldIndex = delta.oldIndex;
281
281
  const replacedTarget = idMapping.fromRefId(delta.replacedTarget);
282
282
  return new EntryMovedAndReplacedFromOtherReferenceDelta(newParent, newReference, newIndex, movedTarget, oldParent, oldReference, oldIndex, replacedTarget);
283
283
  }
284
284
  case "EntryMovedAndReplacedFromOtherReferenceInSameParent": {
285
285
  const parent = idMapping.fromId(delta.parent);
286
- const oldReference = resolvedReferenceFrom(delta.oldReference, parent);
286
+ const oldReference = resolvedReferenceFrom(delta.oldReference, parent.classifier);
287
287
  const oldIndex = delta.oldIndex;
288
- const newReference = resolvedReferenceFrom(delta.newReference, parent);
288
+ const newReference = resolvedReferenceFrom(delta.newReference, parent.classifier);
289
289
  const newIndex = delta.newIndex;
290
290
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
291
291
  const replacedTarget = idMapping.fromRefId(delta.replacedTarget);
@@ -293,7 +293,7 @@ export const deltaDeserializer = (languageBases: ILanguageBase[], idMapping: IdM
293
293
  }
294
294
  case "EntryMovedAndReplacedInSameReference": {
295
295
  const parent = idMapping.fromId(delta.parent);
296
- const reference = resolvedReferenceFrom(delta.reference, parent);
296
+ const reference = resolvedReferenceFrom(delta.reference, parent.classifier);
297
297
  const oldIndex = delta.oldIndex;
298
298
  const newIndex = delta.newIndex;
299
299
  const movedTarget = idMapping.fromRefId(delta.movedTarget);
@@ -42,7 +42,8 @@ import { NodesToInstall } from "./linking.js"
42
42
  */
43
43
  export type Deserializer<T> = (
44
44
  serializationChunk: LionWebJsonChunk,
45
- dependentNodes?: (INodeBase[] | IdMapping),
45
+ dependentNodes?: INodeBase[],
46
+ idMapping?: IdMapping,
46
47
  propertyValueDeserializer?: PropertyValueDeserializer,
47
48
  problemHandler?: SimplisticHandler
48
49
  ) => T;
@@ -68,6 +69,7 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases: ILanguageBase[]
68
69
  return (
69
70
  serializationChunk,
70
71
  dependentNodes = [],
72
+ idMapping,
71
73
  propertyValueDeserializer = new BuiltinPropertyValueDeserializer(),
72
74
  problemsHandler = defaultSimplisticHandler
73
75
  ): RootsWithIdMapping => {
@@ -143,10 +145,10 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases: ILanguageBase[]
143
145
  )
144
146
  );
145
147
 
146
- const dependentNodesById = dependentNodes instanceof IdMapping ? dependentNodes.raw : byIdMap(dependentNodes);
148
+ const dependentNodesById = byIdMap(dependentNodes);
147
149
 
148
- const lookupNodeById = (id: LionWebId) =>
149
- nodesById[id] ?? dependentNodesById[id];
150
+ const lookupNodeById = (id: LionWebId): (INodeBase | undefined) =>
151
+ nodesById[id] ?? dependentNodesById[id] ?? idMapping?.tryFromId(id);
150
152
 
151
153
  nodesToInstall.forEach(([node, feature, ids]) => {
152
154
  if (feature instanceof Containment) {
@@ -209,10 +211,11 @@ export const nodeBaseDeserializer = (languageBases: ILanguageBase[], receiveDelt
209
211
  const deserializerWithIdMapping = nodeBaseDeserializerWithIdMapping(languageBases, receiveDelta);
210
212
  return (
211
213
  serializationChunk,
212
- dependentNodes = [],
214
+ dependentNodes,
215
+ idMapping,
213
216
  propertyValueDeserializer = new BuiltinPropertyValueDeserializer(),
214
217
  problemsHandler = defaultSimplisticHandler
215
218
  ): INodeBase[] =>
216
- deserializerWithIdMapping(serializationChunk, dependentNodes, propertyValueDeserializer, problemsHandler).roots
219
+ deserializerWithIdMapping(serializationChunk, dependentNodes, idMapping, propertyValueDeserializer, problemsHandler).roots
217
220
  }
218
221
 
package/src/id-mapping.ts CHANGED
@@ -24,7 +24,7 @@ import { INodeBase } from "./index.js"
24
24
  /**
25
25
  * Type def. for a (hash-)map {@link LionWebId ID} &rarr; {@link INodeBase}.
26
26
  */
27
- export type NodesById = { [id: LionWebId]: INodeBase }
27
+ type NodesById = { [id: LionWebId]: INodeBase }
28
28
 
29
29
 
30
30
  /**
@@ -86,12 +86,5 @@ export class IdMapping {
86
86
  this.nodesById = nodesById;
87
87
  }
88
88
 
89
- /**
90
- * A raw snapshot of this ID mapping, as a {@link NodesById} object (that is a defensive copy).
91
- */
92
- get raw(): NodesById {
93
- return {...this.nodesById};
94
- }
95
-
96
89
  }
97
90
 
package/src/index.ts CHANGED
@@ -22,7 +22,6 @@ export * from "./deserializer.js";
22
22
  export { deepDuplicateWith } from "./duplicator.js";
23
23
  export * from "./id-mapping.js";
24
24
  export { combinedFactoryFor } from "./factory.js";
25
- export * from "./feature-resolvers.js";
26
25
  // skip linking.js: see comment there
27
26
  export * from "./LionCore_builtins.g.js";
28
27
  export {serializeNodeBases} from "./serializer.js";
@@ -1,24 +0,0 @@
1
- import { Containment, Feature, Language, Property, Reference } from "@lionweb/core";
2
- import { LionWebJsonMetaPointer } from "@lionweb/json";
3
- import { INodeBase } from "./base-types.js";
4
- /**
5
- * Type def. for functions that resolve a {@link Feature feature} of the indicated sub-type
6
- * from a feature's and a classifier's meta-pointers,
7
- * throwing an {@link Error error} when the feature couldn't be resolved,
8
- * or it isn't of the expected sub-type.
9
- */
10
- export type FeatureResolver<FT extends Feature> = (metaPointer: LionWebJsonMetaPointer, container: INodeBase) => FT;
11
- /**
12
- * Type def. for an object containing {@link FeatureResolver resolvers} for
13
- * {@link Property properties}, {@link Containmnent containments}, and {@link Reference references}.
14
- */
15
- export type FeatureResolvers = {
16
- resolvedPropertyFrom: FeatureResolver<Property>;
17
- resolvedContainmentFrom: FeatureResolver<Containment>;
18
- resolvedReferenceFrom: FeatureResolver<Reference>;
19
- };
20
- /**
21
- * @return an {@link FeatureResolvers object} for the given {@link Language languages}.
22
- */
23
- export declare const featureResolversFor: (languages: Language[]) => FeatureResolvers;
24
- //# sourceMappingURL=feature-resolvers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"feature-resolvers.d.ts","sourceRoot":"","sources":["../src/feature-resolvers.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAwB,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzG,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C;;;;;GAKG;AACH,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,OAAO,IAAI,CAAC,WAAW,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,KAAK,EAAE,CAAA;AAEnH;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,oBAAoB,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;IAC/C,uBAAuB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACrD,qBAAqB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;CACpD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,QAAQ,EAAE,KAAG,gBA0B3D,CAAA"}
@@ -1,47 +0,0 @@
1
- // Copyright 2025 TRUMPF Laser SE and other contributors
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License")
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- //
15
- // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
- // SPDX-License-Identifier: Apache-2.0
17
- import { Containment, MemoisingSymbolTable, Property, Reference } from "@lionweb/core";
18
- /**
19
- * @return an {@link FeatureResolvers object} for the given {@link Language languages}.
20
- */
21
- export const featureResolversFor = (languages) => {
22
- const symbolTable = new MemoisingSymbolTable(languages);
23
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
- const featureResolverFor = (featureClassConstructor) => (featureMetaPointer, container) => {
25
- const classifierMetaPointer = container.classifier.metaPointer();
26
- const featureLocationMessage = () => `feature with meta-pointer ${JSON.stringify(featureMetaPointer)} on instance with ID="${container.id}" with meta-pointer ${JSON.stringify(classifierMetaPointer)}`;
27
- const feature = symbolTable.featureMatching(classifierMetaPointer, featureMetaPointer);
28
- if (feature === undefined) {
29
- throw new Error(`couldn't resolve ${featureLocationMessage()}`); // fail early <== unrecoverable
30
- }
31
- if (feature.constructor !== featureClassConstructor) { // feature's type must match desired type *exactly*
32
- throw new Error(`${featureLocationMessage()} is not a ${featureClassConstructor.name} but a ${feature.constructor.name}`); // fail early <== unrecoverable
33
- }
34
- /*
35
- * We could make this function memoising as well, to avoid having to perform these checks every resolution.
36
- * That memoisation would involve a 6-deep lookup, in the feature's meta-pointer + container's classifier meta-pointer.
37
- * The checks seem cheap enough to not be problematic performance-wise, though.
38
- */
39
- return feature; // valid <== feature.constructor === featureClassConstructor
40
- };
41
- return {
42
- resolvedPropertyFrom: featureResolverFor(Property),
43
- resolvedContainmentFrom: featureResolverFor(Containment),
44
- resolvedReferenceFrom: featureResolverFor(Reference)
45
- };
46
- };
47
- //# sourceMappingURL=feature-resolvers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"feature-resolvers.js","sourceRoot":"","sources":["../src/feature-resolvers.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,WAAW,EAAqB,oBAAoB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAuBzG;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAqB,EAAoB,EAAE;IAC3E,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAA;IACvD,8DAA8D;IAC9D,MAAM,kBAAkB,GAAG,CAAqB,uBAAmD,EAAuB,EAAE,CACxH,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE;QAC9B,MAAM,qBAAqB,GAAG,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;QAChE,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,yBAAyB,SAAS,CAAC,EAAE,uBAAuB,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAA;QACvM,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAA;QACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,sBAAsB,EAAE,EAAE,CAAC,CAAA,CAAI,+BAA+B;QACtG,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,uBAAuB,EAAE,CAAC,CAAE,mDAAmD;YACvG,MAAM,IAAI,KAAK,CAAC,GAAG,sBAAsB,EAAE,aAAa,uBAAuB,CAAC,IAAI,UAAU,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA,CAAI,+BAA+B;QAChK,CAAC;QACD;;;;WAIG;QACH,OAAO,OAAa,CAAA,CAAI,4DAA4D;IACxF,CAAC,CAAA;IACL,OAAO;QACH,oBAAoB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;QAClD,uBAAuB,EAAE,kBAAkB,CAAC,WAAW,CAAC;QACxD,qBAAqB,EAAE,kBAAkB,CAAC,SAAS,CAAC;KACvD,CAAA;AACL,CAAC,CAAA"}
@@ -1,71 +0,0 @@
1
- // Copyright 2025 TRUMPF Laser SE and other contributors
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License")
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- //
15
- // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
- // SPDX-License-Identifier: Apache-2.0
17
-
18
- import { Containment, Feature, Language, MemoisingSymbolTable, Property, Reference } from "@lionweb/core"
19
- import { LionWebJsonMetaPointer } from "@lionweb/json"
20
- import { INodeBase } from "./base-types.js"
21
-
22
-
23
- /**
24
- * Type def. for functions that resolve a {@link Feature feature} of the indicated sub-type
25
- * from a feature's and a classifier's meta-pointers,
26
- * throwing an {@link Error error} when the feature couldn't be resolved,
27
- * or it isn't of the expected sub-type.
28
- */
29
- export type FeatureResolver<FT extends Feature> = (metaPointer: LionWebJsonMetaPointer, container: INodeBase) => FT
30
-
31
- /**
32
- * Type def. for an object containing {@link FeatureResolver resolvers} for
33
- * {@link Property properties}, {@link Containmnent containments}, and {@link Reference references}.
34
- */
35
- export type FeatureResolvers = {
36
- resolvedPropertyFrom: FeatureResolver<Property>
37
- resolvedContainmentFrom: FeatureResolver<Containment>
38
- resolvedReferenceFrom: FeatureResolver<Reference>
39
- }
40
-
41
- /**
42
- * @return an {@link FeatureResolvers object} for the given {@link Language languages}.
43
- */
44
- export const featureResolversFor = (languages: Language[]): FeatureResolvers => {
45
- const symbolTable = new MemoisingSymbolTable(languages)
46
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
- const featureResolverFor = <FT extends Feature>(featureClassConstructor: new (...args: any[]) => FT): FeatureResolver<FT> =>
48
- (featureMetaPointer, container) => {
49
- const classifierMetaPointer = container.classifier.metaPointer()
50
- const featureLocationMessage = () => `feature with meta-pointer ${JSON.stringify(featureMetaPointer)} on instance with ID="${container.id}" with meta-pointer ${JSON.stringify(classifierMetaPointer)}`
51
- const feature = symbolTable.featureMatching(classifierMetaPointer, featureMetaPointer)
52
- if (feature === undefined) {
53
- throw new Error(`couldn't resolve ${featureLocationMessage()}`) // fail early <== unrecoverable
54
- }
55
- if (feature.constructor !== featureClassConstructor) { // feature's type must match desired type *exactly*
56
- throw new Error(`${featureLocationMessage()} is not a ${featureClassConstructor.name} but a ${feature.constructor.name}`) // fail early <== unrecoverable
57
- }
58
- /*
59
- * We could make this function memoising as well, to avoid having to perform these checks every resolution.
60
- * That memoisation would involve a 6-deep lookup, in the feature's meta-pointer + container's classifier meta-pointer.
61
- * The checks seem cheap enough to not be problematic performance-wise, though.
62
- */
63
- return feature as FT // valid <== feature.constructor === featureClassConstructor
64
- }
65
- return {
66
- resolvedPropertyFrom: featureResolverFor(Property),
67
- resolvedContainmentFrom: featureResolverFor(Containment),
68
- resolvedReferenceFrom: featureResolverFor(Reference)
69
- }
70
- }
71
-