@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 +0 -3
- package/dist/deltas/serialization/deserializer.g.d.ts.map +1 -1
- package/dist/deltas/serialization/deserializer.g.js +32 -30
- package/dist/deltas/serialization/deserializer.g.js.map +1 -1
- package/dist/deserializer.d.ts +1 -1
- package/dist/deserializer.d.ts.map +1 -1
- package/dist/deserializer.js +4 -4
- package/dist/deserializer.js.map +1 -1
- package/dist/id-mapping.d.ts +2 -5
- package/dist/id-mapping.d.ts.map +1 -1
- package/dist/id-mapping.js +0 -6
- package/dist/id-mapping.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/deltas/serialization/deserializer.g.ts +30 -30
- package/src/deserializer.ts +9 -6
- package/src/id-mapping.ts +1 -8
- package/src/index.ts +0 -1
- package/dist/feature-resolvers.d.ts +0 -24
- package/dist/feature-resolvers.d.ts.map +0 -1
- package/dist/feature-resolvers.js +0 -47
- package/dist/feature-resolvers.js.map +0 -1
- package/src/feature-resolvers.ts +0 -71
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 → 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":"
|
|
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
|
-
|
|
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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"}
|
package/dist/deserializer.d.ts
CHANGED
|
@@ -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?:
|
|
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,
|
|
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"}
|
package/dist/deserializer.js
CHANGED
|
@@ -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 =
|
|
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
|
|
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
|
package/dist/deserializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.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,EACH,gCAAgC,EAChC,UAAU,EACV,WAAW,EACX,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,QAAQ,EAER,SAAS,EAET,UAAU,EACb,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEzD,OAAO,EAAiB,SAAS,EAA4B,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
|
package/dist/id-mapping.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { INodeBase } from "./index.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* Type def. for a (hash-)map {@link LionWebId ID} → {@link INodeBase}.
|
|
6
6
|
*/
|
|
7
|
-
|
|
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
|
package/dist/id-mapping.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/id-mapping.js
CHANGED
|
@@ -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
|
package/dist/id-mapping.js.map
CHANGED
|
@@ -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;
|
|
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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,
|
|
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.
|
|
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.
|
|
31
|
-
"@lionweb/json": "0.7.0-beta.
|
|
32
|
-
"@lionweb/ts-utils": "0.7.0-beta.
|
|
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);
|
package/src/deserializer.ts
CHANGED
|
@@ -42,7 +42,8 @@ import { NodesToInstall } from "./linking.js"
|
|
|
42
42
|
*/
|
|
43
43
|
export type Deserializer<T> = (
|
|
44
44
|
serializationChunk: LionWebJsonChunk,
|
|
45
|
-
dependentNodes?:
|
|
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 =
|
|
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} → {@link INodeBase}.
|
|
26
26
|
*/
|
|
27
|
-
|
|
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"}
|
package/src/feature-resolvers.ts
DELETED
|
@@ -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
|
-
|