@lionweb/class-core 0.7.0-beta.13 → 0.7.0-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/dist/base-types.d.ts +0 -4
  3. package/dist/base-types.d.ts.map +1 -1
  4. package/dist/base-types.js +0 -25
  5. package/dist/base-types.js.map +1 -1
  6. package/dist/deltas/inverters.d.ts.map +1 -1
  7. package/dist/deltas/inverters.js +33 -9
  8. package/dist/deltas/inverters.js.map +1 -1
  9. package/dist/deltas/receivers.d.ts.map +1 -1
  10. package/dist/deltas/receivers.js +2 -1
  11. package/dist/deltas/receivers.js.map +1 -1
  12. package/dist/deserializer.d.ts.map +1 -1
  13. package/dist/deserializer.js +3 -14
  14. package/dist/deserializer.js.map +1 -1
  15. package/dist/factory.d.ts +8 -0
  16. package/dist/factory.d.ts.map +1 -1
  17. package/dist/factory.js +25 -16
  18. package/dist/factory.js.map +1 -1
  19. package/dist/id-mapping.d.ts +21 -3
  20. package/dist/id-mapping.d.ts.map +1 -1
  21. package/dist/id-mapping.js +37 -17
  22. package/dist/id-mapping.js.map +1 -1
  23. package/dist/textualizer.js +1 -1
  24. package/dist/textualizer.js.map +1 -1
  25. package/dist/value-managers/annotations.d.ts.map +1 -1
  26. package/dist/value-managers/annotations.js +1 -2
  27. package/dist/value-managers/annotations.js.map +1 -1
  28. package/dist/value-managers/containments.d.ts +2 -2
  29. package/dist/value-managers/containments.d.ts.map +1 -1
  30. package/dist/value-managers/containments.js +89 -27
  31. package/dist/value-managers/containments.js.map +1 -1
  32. package/dist/value-managers/references.js +2 -2
  33. package/package.json +34 -34
  34. package/src/base-types.ts +0 -25
  35. package/src/deltas/inverters.ts +33 -9
  36. package/src/deltas/receivers.ts +2 -1
  37. package/src/deserializer.ts +3 -19
  38. package/src/factory.ts +30 -16
  39. package/src/id-mapping.ts +26 -5
  40. package/src/textualizer.ts +1 -1
  41. package/src/value-managers/annotations.ts +2 -2
  42. package/src/value-managers/containments.ts +87 -27
  43. package/src/value-managers/references.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/value-managers/annotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/value-managers/annotations.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare abstract class SingleContainmentValueManager<T extends INodeBase>
21
21
  isSet(): boolean;
22
22
  setDirectly(newChild: T | undefined): void;
23
23
  addDirectly(newChild: T): void;
24
- replaceWith(newChild: T): void;
24
+ replaceWith(movedChild: T): void;
25
25
  }
26
26
  export declare class OptionalSingleContainmentValueManager<T extends INodeBase> extends SingleContainmentValueManager<T> {
27
27
  constructor(containment: Containment, container: INodeBase);
@@ -42,7 +42,7 @@ export declare abstract class MultiContainmentValueManager<T extends INodeBase>
42
42
  addDirectly(newChild: T): void;
43
43
  add(newChild: T): void;
44
44
  insertAtIndexDirectly(newChild: T, index: number): void;
45
- insertAtIndex(newChild: T, index: number): void;
45
+ insertAtIndex(newChild: T, newIndex: number): void;
46
46
  removeDirectly(childToRemove: T): number;
47
47
  removeAtIndexDirectly(index: number): void;
48
48
  moveDirectly(oldIndex: number, newIndex: number): T | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"containments.d.ts","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containments.d.ts","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"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"}
@@ -49,8 +49,7 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
49
49
  done = true;
50
50
  };
51
51
  import { action, observable } from "mobx";
52
- import { removeFromParent } from "../base-types.js";
53
- import { ChildAddedDelta, ChildDeletedDelta, ChildMovedAndReplacedFromOtherContainmentInSameParentDelta, ChildMovedAndReplacedInSameContainmentDelta, ChildMovedFromOtherContainmentDelta, ChildMovedInSameContainmentDelta, ChildReplacedDelta } from "../deltas/index.js";
52
+ import { ChildAddedDelta, ChildDeletedDelta, ChildMovedAndReplacedFromOtherContainmentDelta, ChildMovedAndReplacedFromOtherContainmentInSameParentDelta, ChildMovedAndReplacedInSameContainmentDelta, ChildMovedFromOtherContainmentDelta, ChildMovedFromOtherContainmentInSameParentDelta, ChildMovedInSameContainmentDelta, ChildReplacedDelta } from "../deltas/index.js";
54
53
  import { checkIndex, FeatureValueManager } from "./base.js";
55
54
  /**
56
55
  * An instance manages the value of a particular containment feature on a particular instance of a classifier.
@@ -89,26 +88,43 @@ let SingleContainmentValueManager = (() => {
89
88
  }
90
89
  this.child.set(newChild);
91
90
  }
92
- replaceWith(newChild) {
93
- const oldChild = this.getDirectly();
94
- if (oldChild === undefined) {
91
+ replaceWith(movedChild) {
92
+ const replacedChild = this.getDirectly();
93
+ if (replacedChild === undefined) {
95
94
  // not a proper replace, but an add-set => delegate to regular setter (— unfortunately, through necessarily “unfolding the hierarchy”):
96
95
  if (this instanceof OptionalSingleContainmentValueManager) {
97
- this.set(newChild);
96
+ this.set(movedChild);
98
97
  }
99
98
  if (this instanceof RequiredSingleContainmentValueManager) {
100
- this.set(newChild);
99
+ this.set(movedChild);
101
100
  }
102
101
  }
103
102
  else {
104
- if (oldChild === newChild) {
103
+ if (replacedChild === movedChild) {
105
104
  // do nothing: nothing's changed
106
105
  }
107
106
  else {
108
- oldChild.detach();
109
- this.setDirectly(newChild);
110
- newChild.attachTo(this.container, this.feature);
111
- this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
107
+ if (movedChild.parent === undefined) {
108
+ this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, replacedChild, movedChild));
109
+ }
110
+ else {
111
+ if (movedChild.parent === this.container) {
112
+ if (movedChild.containment === this.containment) {
113
+ this.emitDelta(() => new ChildMovedAndReplacedInSameContainmentDelta(this.container, this.containment, 0, 0, movedChild, replacedChild));
114
+ }
115
+ else {
116
+ const oldIndex = removeFromContainment(replacedChild);
117
+ this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentInSameParentDelta(this.container, movedChild.containment, oldIndex, this.containment, 0, movedChild, replacedChild));
118
+ }
119
+ }
120
+ else {
121
+ const oldIndex = removeFromContainment(replacedChild);
122
+ this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentDelta(this.container, this.containment, 0, movedChild, movedChild.parent, movedChild.containment, oldIndex, replacedChild));
123
+ }
124
+ }
125
+ this.setDirectly(movedChild);
126
+ movedChild.attachTo(this.container, this.containment);
127
+ replacedChild.detach();
112
128
  }
113
129
  }
114
130
  }
@@ -149,7 +165,7 @@ let OptionalSingleContainmentValueManager = (() => {
149
165
  else {
150
166
  if (newChild.parent && newChild.containment) {
151
167
  const oldParent = newChild.parent;
152
- removeFromParent(oldParent, newChild);
168
+ removeFromContainment(newChild);
153
169
  this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment, 0, this.container, this.feature, 0, newChild));
154
170
  }
155
171
  else {
@@ -170,13 +186,14 @@ let OptionalSingleContainmentValueManager = (() => {
170
186
  // do nothing: nothing's changed
171
187
  }
172
188
  else {
189
+ // FIXME this could emit 2 deltas where it should be a single ChildReplaced-delta
173
190
  if (oldChild.parent && oldChild.containment && oldChild.parent === this.container && oldChild.containment === this.feature) {
174
191
  // FIXME oldChild.parent COULD be this.container
175
192
  this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
176
193
  }
177
194
  oldChild.detach();
178
195
  if (newChild.parent && newChild.containment) {
179
- removeFromParent(newChild.parent, newChild);
196
+ removeFromContainment(newChild);
180
197
  }
181
198
  this.setDirectly(newChild);
182
199
  newChild.attachTo(this.container, this.feature);
@@ -222,7 +239,7 @@ let RequiredSingleContainmentValueManager = (() => {
222
239
  else {
223
240
  if (newChild.parent && newChild.containment) {
224
241
  const oldParent = newChild.parent;
225
- removeFromParent(oldParent, newChild);
242
+ removeFromContainment(newChild);
226
243
  this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment, 0, this.container, this.feature, 0, newChild));
227
244
  }
228
245
  else {
@@ -247,7 +264,7 @@ let RequiredSingleContainmentValueManager = (() => {
247
264
  }
248
265
  oldChild.detach();
249
266
  if (newChild.parent && newChild.containment) {
250
- removeFromParent(newChild.parent, newChild);
267
+ removeFromContainment(newChild);
251
268
  }
252
269
  this.setDirectly(newChild);
253
270
  newChild.attachTo(this.container, this.feature);
@@ -304,17 +321,34 @@ let MultiContainmentValueManager = (() => {
304
321
  checkIndex(index, this.children.length, true);
305
322
  this.children.splice(index, 0, newChild);
306
323
  }
307
- insertAtIndex(newChild, index) {
308
- this.insertAtIndexDirectly(newChild, index);
309
- if (newChild.parent === undefined && newChild.containment === undefined) {
310
- this.emitDelta(() => new ChildAddedDelta(this.container, this.containment, index, newChild));
324
+ insertAtIndex(newChild, newIndex) {
325
+ if (newChild.parent === undefined) {
326
+ this.insertAtIndexDirectly(newChild, newIndex);
327
+ newChild.attachTo(this.container, this.containment);
328
+ this.emitDelta(() => new ChildAddedDelta(this.container, this.containment, newIndex, newChild));
311
329
  }
312
330
  else {
313
- const oldIndex = removeFromParent(newChild.parent, newChild);
314
- this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(newChild.parent, newChild.containment, oldIndex, this.container, this.containment, index, newChild));
315
- newChild.detach();
331
+ if (newChild.parent === this.container) {
332
+ if (newChild.containment === this.containment) {
333
+ const oldIndex = this.children.indexOf(newChild);
334
+ this.moveDirectly(oldIndex, newIndex);
335
+ this.emitDelta(() => new ChildMovedInSameContainmentDelta(this.container, this.containment, oldIndex, newIndex, newChild));
336
+ }
337
+ else {
338
+ const oldIndex = removeFromContainment(newChild);
339
+ checkIndex(newIndex, this.children.length, true);
340
+ this.insertAtIndexDirectly(newChild, newIndex);
341
+ this.emitDelta(() => new ChildMovedFromOtherContainmentInSameParentDelta(this.container, newChild.containment, oldIndex, newChild, this.containment, newIndex));
342
+ newChild.attachTo(this.container, this.containment);
343
+ }
344
+ }
345
+ else {
346
+ const oldIndex = removeFromContainment(newChild);
347
+ this.insertAtIndexDirectly(newChild, newIndex);
348
+ this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(newChild.parent, newChild.containment, oldIndex, this.container, this.containment, newIndex, newChild));
349
+ newChild.attachTo(this.container, this.containment);
350
+ }
316
351
  }
317
- newChild.attachTo(this.container, this.containment);
318
352
  }
319
353
  removeDirectly(childToRemove) {
320
354
  const children = this.getDirectly();
@@ -347,19 +381,21 @@ let MultiContainmentValueManager = (() => {
347
381
  }
348
382
  replaceAtIndex(movedChild, newIndex) {
349
383
  checkIndex(newIndex, this.children.length, false);
384
+ if (movedChild.parent === undefined) {
385
+ throw new Error(`a child-to-move (id=${movedChild.id}) must already be contained`);
386
+ }
350
387
  const replacedChild = this.children[newIndex];
351
388
  if (replacedChild === movedChild) {
352
389
  // do nothing: nothing's changed
353
390
  }
354
391
  else {
355
392
  this.children.splice(newIndex, 1, movedChild);
356
- if (replacedChild.parent) {
393
+ if (replacedChild.parent !== undefined) {
357
394
  const oldValueManager = replacedChild.parent.getContainmentValueManager(replacedChild.containment);
358
395
  const oldIndex = oldValueManager instanceof SingleContainmentValueManager
359
396
  ? 0
360
397
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
361
398
  : oldValueManager.children.indexOf(replacedChild);
362
- replacedChild.detach();
363
399
  if (replacedChild.parent === movedChild.parent) {
364
400
  if (replacedChild.containment === movedChild.containment) {
365
401
  this.emitDelta(() => new ChildMovedAndReplacedInSameContainmentDelta(this.container, this.containment, oldIndex, newIndex, movedChild, replacedChild));
@@ -369,8 +405,9 @@ let MultiContainmentValueManager = (() => {
369
405
  }
370
406
  }
371
407
  else {
372
- this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(replacedChild.parent, replacedChild.containment, oldIndex, this.container, this.containment, newIndex, movedChild));
408
+ this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentDelta(this.container, this.containment, newIndex, movedChild, movedChild.parent, movedChild.containment, oldIndex, replacedChild));
373
409
  }
410
+ replacedChild.detach();
374
411
  }
375
412
  else {
376
413
  // not a move+replace, but a regular replace instead:
@@ -475,4 +512,29 @@ let RequiredMultiContainmentValueManager = (() => {
475
512
  _a;
476
513
  })();
477
514
  export { RequiredMultiContainmentValueManager };
515
+ /**
516
+ * Removes the given child node from its containment, and returns the containment index it had before removal.
517
+ */
518
+ const removeFromContainment = (child) => {
519
+ if (child.parent === undefined) {
520
+ throw new Error(`can't remove an orphan from its parent`);
521
+ }
522
+ if (child.containment === undefined) {
523
+ throw new Error(`can't remove an orphan from its containing feature`);
524
+ }
525
+ if (child.containment === null) {
526
+ throw new Error(`can't remove an annotation`);
527
+ }
528
+ const valueManager = child.parent.getContainmentValueManager(child.containment);
529
+ if (valueManager instanceof SingleContainmentValueManager) {
530
+ valueManager.setDirectly(undefined);
531
+ return 0;
532
+ }
533
+ else if (valueManager instanceof MultiContainmentValueManager) {
534
+ return valueManager.removeDirectly(child);
535
+ }
536
+ else {
537
+ throw new Error(`don't know how to remove a child that's contained through a value manager of type ${valueManager.constructor.name}`);
538
+ }
539
+ };
478
540
  //# sourceMappingURL=containments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"containments.js","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containments.js","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"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"}
@@ -130,7 +130,7 @@ let OptionalSingleReferenceValueManager = (() => {
130
130
  this.emitDelta(() => new ReferenceAddedDelta(this.container, this.reference, 0, newTarget));
131
131
  }
132
132
  else {
133
- this.emitDelta(() => new ReferenceChangedDelta(this.container, this.reference, 0, oldTarget, newTarget));
133
+ this.emitDelta(() => new ReferenceChangedDelta(this.container, this.reference, 0, newTarget, oldTarget));
134
134
  }
135
135
  }
136
136
  }
@@ -177,7 +177,7 @@ let RequiredSingleReferenceValueManager = (() => {
177
177
  this.emitDelta(() => new ReferenceAddedDelta(this.container, this.reference, 0, newTarget));
178
178
  }
179
179
  else {
180
- this.emitDelta(() => new ReferenceChangedDelta(this.container, this.reference, 0, oldTarget, newTarget));
180
+ this.emitDelta(() => new ReferenceChangedDelta(this.container, this.reference, 0, newTarget, oldTarget));
181
181
  }
182
182
  }
183
183
  }
package/package.json CHANGED
@@ -1,36 +1,36 @@
1
1
  {
2
- "name": "@lionweb/class-core",
3
- "version": "0.7.0-beta.13",
4
- "description": "Generic, language-aspecific base types for generated TypeScript APIs",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "typings": "dist/index.d.ts",
8
- "type": "module",
9
- "license": "Apache-2.0",
10
- "repository": {
11
- "type": "git",
12
- "url": "git+https://github.com/LionWeb-io/lionweb-typescript.git"
13
- },
14
- "bugs": {
15
- "url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
16
- },
17
- "scripts": {
18
- "clean": "npx rimraf dist node_modules -g lionweb-class-core-*.tgz",
19
- "build": "npx rimraf dist && tsc",
20
- "lint": "eslint src",
21
- "prep:pre-release": "npm run clean && npm install && npm run build",
22
- "prerelease-alpha": "npm run prep:pre-release",
23
- "release-alpha": "npm publish --tag alpha",
24
- "prerelease-beta": "npm run prep:pre-release",
25
- "release-beta": "npm publish --tag beta",
26
- "prerelease": "npm run prep:pre-release",
27
- "release": "npm publish"
28
- },
29
- "dependencies": {
30
- "@lionweb/core": "0.7.0-beta.13",
31
- "@lionweb/json": "0.7.0-beta.13",
32
- "@lionweb/ts-utils": "0.7.0-beta.13",
33
- "littoral-templates": "0.5.0",
34
- "mobx": "6.13.7"
35
- }
2
+ "name": "@lionweb/class-core",
3
+ "version": "0.7.0-beta.14",
4
+ "description": "Generic, language-aspecific base types for generated TypeScript APIs",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "typings": "dist/index.d.ts",
8
+ "type": "module",
9
+ "license": "Apache-2.0",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/LionWeb-io/lionweb-typescript.git"
13
+ },
14
+ "bugs": {
15
+ "url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
16
+ },
17
+ "scripts": {
18
+ "clean": "npx rimraf dist node_modules -g lionweb-class-core-*.tgz",
19
+ "build": "npx rimraf dist && tsc",
20
+ "lint": "eslint src",
21
+ "prep:pre-release": "npm run clean && npm install && npm run build",
22
+ "prerelease-alpha": "npm run prep:pre-release",
23
+ "release-alpha": "npm publish --tag alpha",
24
+ "prerelease-beta": "npm run prep:pre-release",
25
+ "release-beta": "npm publish --tag beta",
26
+ "prerelease": "npm run prep:pre-release",
27
+ "release": "npm publish"
28
+ },
29
+ "dependencies": {
30
+ "@lionweb/core": "0.7.0-beta.14",
31
+ "@lionweb/json": "0.7.0-beta.14",
32
+ "@lionweb/ts-utils": "0.7.0-beta.14",
33
+ "littoral-templates": "0.5.0",
34
+ "mobx": "6.13.7"
35
+ }
36
36
  }
package/src/base-types.ts CHANGED
@@ -351,28 +351,3 @@ export interface ILanguageBase {
351
351
  enumLiteralFrom<T>(enumerationLiteral: EnumerationLiteral): T;
352
352
  }
353
353
 
354
-
355
- /**
356
- * Removes the given child node from its parent, and returns its containment index.
357
- */
358
- export const removeFromParent = (parent: INodeBase | undefined, child: INodeBase): number => {
359
- if (parent === undefined) {
360
- throw new Error(`can't remove an orphan from its parent`);
361
- }
362
- if (child.containment instanceof Containment) {
363
- const valueManager = parent.getContainmentValueManager(child.containment);
364
- if (valueManager instanceof SingleContainmentValueManager) {
365
- valueManager.setDirectly(undefined);
366
- return 0;
367
- } else if (valueManager instanceof MultiContainmentValueManager) {
368
- return valueManager.removeDirectly(child);
369
- } else {
370
- throw new Error(`don't know how to remove a child that's contained through a value manager of type ${valueManager.constructor.name}`);
371
- }
372
- }
373
- if (child.containment === null) {
374
- return parent.annotationsValueManager.removeDirectly(child);
375
- }
376
- throw new Error(`not going to remove a child from its parent without knowing how it's contained`);
377
- }
378
-
@@ -91,13 +91,22 @@ export const invertDelta = (delta: IDelta): IDelta => {
91
91
  return new ChildMovedInSameContainmentDelta(delta.parent, delta.containment, delta.newIndex, delta.oldIndex, delta.movedChild);
92
92
  }
93
93
  if (delta instanceof ChildMovedAndReplacedFromOtherContainmentDelta) {
94
- // TODO implement
94
+ return new CompositeDelta([
95
+ new ChildMovedFromOtherContainmentDelta(delta.newParent, delta.newContainment, delta.newIndex, delta.oldParent, delta.oldContainment, delta.oldIndex, delta.movedChild),
96
+ new ChildAddedDelta(delta.newParent, delta.newContainment, delta.newIndex, delta.replacedChild)
97
+ ]);
95
98
  }
96
99
  if (delta instanceof ChildMovedAndReplacedFromOtherContainmentInSameParentDelta) {
97
- // TODO implement
100
+ return new CompositeDelta([
101
+ new ChildMovedFromOtherContainmentInSameParentDelta(delta.parent, delta.newContainment, delta.newIndex, delta.movedChild, delta.oldContainment, delta.oldIndex),
102
+ new ChildAddedDelta(delta.parent, delta.newContainment, delta.newIndex, delta.replacedChild)
103
+ ]);
98
104
  }
99
105
  if (delta instanceof ChildMovedAndReplacedInSameContainmentDelta) {
100
- // TODO implement
106
+ return new CompositeDelta([
107
+ new ChildMovedInSameContainmentDelta(delta.parent, delta.containment, delta.newIndex, delta.oldIndex, delta.movedChild),
108
+ new ChildAddedDelta(delta.parent, delta.containment, delta.newIndex, delta.replacedChild)
109
+ ]);
101
110
  }
102
111
  if (delta instanceof AnnotationAddedDelta) {
103
112
  return new AnnotationDeletedDelta(delta.parent, delta.index, delta.newAnnotation);
@@ -115,10 +124,16 @@ export const invertDelta = (delta: IDelta): IDelta => {
115
124
  return new AnnotationMovedInSameParentDelta(delta.parent, delta.newIndex, delta.oldIndex, delta.movedAnnotation);
116
125
  }
117
126
  if (delta instanceof AnnotationMovedAndReplacedFromOtherParentDelta) {
118
- // TODO implement
127
+ return new CompositeDelta([
128
+ new AnnotationMovedFromOtherParentDelta(delta.newParent, delta.newIndex, delta.oldParent, delta.oldIndex, delta.movedAnnotation),
129
+ new AnnotationAddedDelta(delta.newParent, delta.newIndex, delta.replacedAnnotation)
130
+ ]);
119
131
  }
120
132
  if (delta instanceof AnnotationMovedAndReplacedInSameParentDelta) {
121
- // TODO implement
133
+ return new CompositeDelta([
134
+ new AnnotationMovedInSameParentDelta(delta.parent, delta.newIndex, delta.oldIndex, delta.movedAnnotation),
135
+ new AnnotationAddedDelta(delta.parent, delta.newIndex, delta.replacedAnnotation)
136
+ ]);
122
137
  }
123
138
  if (delta instanceof ReferenceAddedDelta) {
124
139
  return new ReferenceDeletedDelta(delta.parent, delta.reference, delta.index, delta.newTarget);
@@ -133,19 +148,28 @@ export const invertDelta = (delta: IDelta): IDelta => {
133
148
  return new EntryMovedFromOtherReferenceDelta(delta.newParent, delta.newReference, delta.newIndex, delta.oldParent, delta.oldReference, delta.oldIndex, delta.movedTarget);
134
149
  }
135
150
  if (delta instanceof EntryMovedFromOtherReferenceInSameParentDelta) {
136
- // TODO implement
151
+ return new EntryMovedFromOtherReferenceInSameParentDelta(delta.parent, delta.newReference, delta.newIndex, delta.oldReference, delta.oldIndex, delta.movedTarget);
137
152
  }
138
153
  if (delta instanceof EntryMovedInSameReferenceDelta) {
139
154
  return new EntryMovedInSameReferenceDelta(delta.parent, delta.reference, delta.newIndex, delta.oldIndex, delta.movedTarget);
140
155
  }
141
156
  if (delta instanceof EntryMovedAndReplacedFromOtherReferenceDelta) {
142
- // TODO implement
157
+ return new CompositeDelta([
158
+ new EntryMovedFromOtherReferenceDelta(delta.newParent, delta.newReference, delta.newIndex, delta.oldParent, delta.oldReference, delta.oldIndex, delta.movedTarget),
159
+ new ReferenceAddedDelta(delta.newParent, delta.newReference, delta.newIndex, delta.replacedTarget)
160
+ ]);
143
161
  }
144
162
  if (delta instanceof EntryMovedAndReplacedFromOtherReferenceInSameParentDelta) {
145
- return new EntryMovedAndReplacedFromOtherReferenceInSameParentDelta(delta.parent, delta.newReference, delta.newIndex, delta.oldReference, delta.oldIndex, delta.replacedTarget, delta.movedTarget);
163
+ return new CompositeDelta([
164
+ new EntryMovedFromOtherReferenceInSameParentDelta(delta.parent, delta.newReference, delta.newIndex, delta.oldReference, delta.oldIndex, delta.movedTarget),
165
+ new ReferenceAddedDelta(delta.parent, delta.newReference, delta.newIndex, delta.replacedTarget)
166
+ ]);
146
167
  }
147
168
  if (delta instanceof EntryMovedAndReplacedInSameReferenceDelta) {
148
- // TODO implement
169
+ return new CompositeDelta([
170
+ new EntryMovedInSameReferenceDelta(delta.parent, delta.reference, delta.newIndex, delta.oldIndex, delta.movedTarget),
171
+ new ReferenceAddedDelta(delta.parent, delta.reference, delta.newIndex, delta.replacedTarget)
172
+ ]);
149
173
  }
150
174
  if (delta instanceof CompositeDelta) {
151
175
  return new CompositeDelta(delta.parts.map(invertDelta));
@@ -15,6 +15,7 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
+ import { asPrettyJsonString } from "@lionweb/ts-utils"
18
19
  import { IDelta } from "./base.js"
19
20
  import { serializeDelta } from "./serialization/index.js"
20
21
 
@@ -37,7 +38,7 @@ export const collectingDeltaReceiver = (printSerializations = false): [DeltaRece
37
38
  const receiveDelta: DeltaReceiver = (delta) => {
38
39
  deltas.push(delta);
39
40
  if (printSerializations) {
40
- console.log(JSON.stringify(serializeDelta(delta), null, 4));
41
+ console.log(asPrettyJsonString(serializeDelta(delta)));
41
42
  }
42
43
  };
43
44
  return [receiveDelta, deltas];
@@ -21,7 +21,6 @@ import {
21
21
  Containment,
22
22
  defaultSimplisticHandler,
23
23
  Enumeration,
24
- Language,
25
24
  MemoisingSymbolTable,
26
25
  PrimitiveType,
27
26
  Property,
@@ -34,6 +33,7 @@ import { LionWebId, LionWebJsonChunk, LionWebJsonNode } from "@lionweb/json"
34
33
  import { byIdMap, keepDefineds } from "@lionweb/ts-utils"
35
34
 
36
35
  import { DeltaReceiver, IdMapping, ILanguageBase, INodeBase } from "./index.js"
36
+ import { combinedLanguageBaseLookupFor } from "./factory.js"
37
37
  import { NodesToInstall } from "./linking.js"
38
38
 
39
39
 
@@ -48,21 +48,6 @@ export type Deserializer<T> = (
48
48
  ) => T;
49
49
 
50
50
 
51
- const languageBaseLookupFor = (languageBases: ILanguageBase[]) =>
52
- (language: Language) => {
53
- const languageBase = languageBases.find((languageBase) => languageBase.language === language);
54
- if (languageBase === undefined) {
55
- throw new Error(`language ${language.name} (with key=${language.key} and version=${language.version}) not known`);
56
- }
57
- return languageBase;
58
- };
59
-
60
- const factoryLookupFor = (languageBases: ILanguageBase[], receiveDelta?: DeltaReceiver) => {
61
- const lookup = languageBaseLookupFor(languageBases);
62
- return (language: Language) => lookup(language).factory(receiveDelta);
63
- }
64
-
65
-
66
51
  /**
67
52
  * A quasi-tuple of the roots (of type {@link INodeBase}) of a model,
68
53
  * and its {@link IdMapping} instance.
@@ -78,8 +63,7 @@ export type RootsWithIdMapping = { roots: INodeBase[], idMapping: IdMapping };
78
63
  export const nodeBaseDeserializerWithIdMapping = (languageBases: ILanguageBase[], receiveDelta?: DeltaReceiver): Deserializer<RootsWithIdMapping> => {
79
64
 
80
65
  const symbolTable = new MemoisingSymbolTable(languageBases.map(({language}) => language));
81
- const languageBaseFor = languageBaseLookupFor(languageBases);
82
- const factoryFor = factoryLookupFor(languageBases, receiveDelta);
66
+ const languageBaseFor = combinedLanguageBaseLookupFor(languageBases);
83
67
 
84
68
  return (
85
69
  serializationChunk: LionWebJsonChunk,
@@ -98,7 +82,7 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases: ILanguageBase[]
98
82
  return undefined;
99
83
  }
100
84
 
101
- const node = factoryFor(classifier.language)(classifier, id);
85
+ const node = languageBaseFor(classifier.language).factory(receiveDelta)(classifier, id);
102
86
 
103
87
  properties.forEach(({property: propertyMetaPointer, value}) => {
104
88
  const feature = symbolTable.featureMatching(classifierMetaPointer, propertyMetaPointer);