@lionweb/class-core 0.7.2-beta.3 → 0.7.2-beta.5

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
@@ -3,7 +3,8 @@
3
3
  ## 0.7.2
4
4
 
5
5
  * Implement a `propertyValueSerializerWith` function that produces a `PropertyValueSerializer` instance to serialize properties’ values with, properly dealing with enumerations as well.
6
- * Ensure that deltas w.r.t. features of a node are only emitted when that node is not “free-floating”, i.e. is not a partition itself, or (in-/)directly contained by a partition.
6
+ * Ensure that deltas w.r.t. features of a node are only emitted when that node is *attached*, i.e. it is a partition itself, or (in-/)directly contained by a partition.
7
+ * (Use the modified `MultiRef<T>` type instead of `SingleRef<T>[]` — this is an idempotent change.)
7
8
 
8
9
 
9
10
  ## 0.7.1
@@ -1 +1 @@
1
- {"version":3,"file":"duplicator.d.ts","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAe,OAAO,EAA0D,MAAM,eAAe,CAAA;AAI5G,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAM3C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,SAAS,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;AAEtH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,eAAe,cAAc,KAAG,UAmE7D,CAAC"}
1
+ {"version":3,"file":"duplicator.d.ts","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAe,OAAO,EAAoE,MAAM,eAAe,CAAA;AAItH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAM3C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,SAAS,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;AAEtH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,eAAe,cAAc,KAAG,UAmE7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicator.js","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicator.js","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"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"}
@@ -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":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAY5C,OAAO,EAAc,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG3D;;GAEG;AACH,8BAAsB,uBAAuB,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,mBAAmB,CAAC,WAAW,CAAC;IAEvG,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,QAAQ,CAAC,WAAW,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;IAEzD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI;CAE1C;AAGD,8BAAsB,6BAA6B,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAEvG,SAAS,aAAa,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAKpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2D;IAEjF,WAAW,IAAI,CAAC,GAAG,SAAS;IAI5B,KAAK,IAAI,OAAO;IAIR,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;IAInC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAQvB,WAAW,CAAC,UAAU,EAAE,CAAC;CAoCpC;AAGD,qBAAa,qCAAqC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,6BAA6B,CAAC,CAAC,CAAC;gBAEhG,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAK1D,GAAG,IAAI,CAAC,GAAG,SAAS;IAIZ,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;CA0CtC;AAGD,qBAAa,qCAAqC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,6BAA6B,CAAC,CAAC,CAAC;gBAEhG,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAK1D,GAAG,IAAI,CAAC;IAQA,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;CAgDtC;AAGD,8BAAsB,4BAA4B,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAEtG,SAAS,aAAa,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAKpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IAEnE,WAAW,IAAI,CAAC,EAAE;IAIlB,GAAG,IAAI,CAAC,EAAE;IAIV,KAAK,IAAI,OAAO;IAIR,WAAW,CAAC,QAAQ,EAAE,CAAC;IAIvB,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI;IAItB,qBAAqB,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;IAKhD,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM;IA2B3C,cAAc,CAAC,aAAa,EAAE,CAAC,GAAG,MAAM;IAUxC,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAKnC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAW/D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAOvC,cAAc,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM;CAiCzD;AAGD,qBAAa,oCAAoC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,4BAA4B,CAAC,CAAC,CAAC;gBAE9F,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAKlD,MAAM,CAAC,aAAa,EAAE,CAAC;CAUlC;AAGD,qBAAa,oCAAoC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,4BAA4B,CAAC,CAAC,CAAC;gBAE9F,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAK1D,GAAG,IAAI,CAAC,EAAE;IAQF,MAAM,CAAC,aAAa,EAAE,CAAC;CAalC"}
@@ -231,19 +231,19 @@ let RequiredSingleContainmentValueManager = (() => {
231
231
  return child;
232
232
  }
233
233
  set(newChild) {
234
- const oldChild = this.getDirectly();
234
+ const oldChild = this.getDirectly(); // (oldChild is contained by this.container through this.containment)
235
235
  if (oldChild === undefined) {
236
236
  if (newChild === undefined) {
237
237
  // do nothing: nothing's changed
238
238
  }
239
239
  else {
240
- if (newChild.parent && newChild.containment) {
241
- const oldParent = newChild.parent;
242
- removeFromContainment(newChild);
243
- this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment, 0, this.container, this.feature, 0, newChild));
240
+ if (newChild.parent === undefined) {
241
+ this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
244
242
  }
245
243
  else {
246
- this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
244
+ const oldParent = newChild.parent;
245
+ const oldIndex = removeFromContainment(newChild);
246
+ this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment, oldIndex, this.container, this.feature, 0, newChild));
247
247
  }
248
248
  this.setDirectly(newChild);
249
249
  newChild.attachTo(this.container, this.feature);
@@ -258,17 +258,29 @@ let RequiredSingleContainmentValueManager = (() => {
258
258
  // do nothing: nothing's changed
259
259
  }
260
260
  else {
261
- if (oldChild.parent && oldChild.containment && oldChild.parent === this.container && oldChild.containment === this.feature) {
262
- // FIXME oldChild.parent COULD be this.container
263
- this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
264
- }
265
261
  oldChild.detach();
266
- if (newChild.parent && newChild.containment) {
267
- removeFromContainment(newChild);
268
- }
269
262
  this.setDirectly(newChild);
270
- newChild.attachTo(this.container, this.feature);
271
- this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
263
+ if (newChild.parent === undefined) {
264
+ // newChild is unattached:
265
+ newChild.attachTo(this.container, this.feature);
266
+ this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
267
+ }
268
+ else {
269
+ const oldContainment = newChild.containment;
270
+ const oldIndex = removeFromContainment(newChild);
271
+ if (newChild.parent === this.container) {
272
+ if (newChild.containment === this.containment) {
273
+ this.emitDelta(() => new ChildMovedAndReplacedInSameContainmentDelta(this.container, this.containment, 0, 0, newChild, oldChild));
274
+ }
275
+ else {
276
+ this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentInSameParentDelta(this.container, oldContainment, oldIndex, this.containment, 0, newChild, oldChild));
277
+ }
278
+ }
279
+ else {
280
+ this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentDelta(this.container, this.containment, 0, newChild, newChild.parent, oldContainment, oldIndex, oldChild));
281
+ }
282
+ newChild.attachTo(this.container, this.feature);
283
+ }
272
284
  }
273
285
  }
274
286
  }
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import { Reference, SingleRef } from "@lionweb/core";
1
+ import { MultiRef, Reference, SingleRef } from "@lionweb/core";
2
2
  import { INodeBase } from "../base-types.js";
3
3
  import { FeatureValueManager } from "./base.js";
4
4
  /**
@@ -6,7 +6,7 @@ import { FeatureValueManager } from "./base.js";
6
6
  */
7
7
  export declare abstract class ReferenceValueManager<T extends INodeBase> extends FeatureValueManager<Reference> {
8
8
  get reference(): Reference;
9
- abstract getDirectly(): (SingleRef<T> | undefined) | (SingleRef<T> | undefined)[];
9
+ abstract getDirectly(): (SingleRef<T> | undefined) | (MultiRef<T> | undefined);
10
10
  /**
11
11
  * Adds the given target to the reference.
12
12
  * For a single-valued reference, this replaces an already-present target.
@@ -35,8 +35,8 @@ export declare class RequiredSingleReferenceValueManager<T extends INodeBase> ex
35
35
  export declare abstract class MultiReferenceValueManager<T extends INodeBase> extends ReferenceValueManager<T> {
36
36
  protected constructor(reference: Reference, container: INodeBase);
37
37
  private readonly targets;
38
- getDirectly(): SingleRef<T>[];
39
- get(): SingleRef<T>[];
38
+ getDirectly(): MultiRef<T>;
39
+ get(): MultiRef<T>;
40
40
  isSet(): boolean;
41
41
  addDirectly(newTarget: SingleRef<T>): void;
42
42
  add(newTarget: SingleRef<T>): void;
@@ -55,7 +55,7 @@ export declare class OptionalMultiReferenceValueManager<T extends INodeBase> ext
55
55
  }
56
56
  export declare class RequiredMultiReferenceValueManager<T extends INodeBase> extends MultiReferenceValueManager<T> {
57
57
  constructor(reference: Reference, container: INodeBase);
58
- get(): SingleRef<T>[];
58
+ get(): MultiRef<T>;
59
59
  remove(targetToRemove: SingleRef<T>): void;
60
60
  }
61
61
  //# sourceMappingURL=references.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/value-managers/references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/value-managers/references.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAO5C,OAAO,EAAc,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG3D;;GAEG;AACH,8BAAsB,qBAAqB,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,mBAAmB,CAAC,SAAS,CAAC;IAEnG,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,QAAQ,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAE9E;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI;CAElE;AAGD,8BAAsB,2BAA2B,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IAEnG,SAAS,aAAa,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAKhE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsE;IAE7F,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;IAIvC,KAAK,IAAI,OAAO;IAIR,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;IAI/C,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;CAI1D;AAGD,qBAAa,mCAAmC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,2BAA2B,CAAC,CAAC,CAAC;gBAE5F,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAKtD,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;IAIvB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;CAuBlD;AAGD,qBAAa,mCAAmC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,2BAA2B,CAAC,CAAC,CAAC;gBAE5F,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAKtD,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC;IAQX,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;CAkBlD;AAGD,8BAAsB,0BAA0B,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IAElG,SAAS,aAAa,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAKhE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqD;IAE7E,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC;IAI1B,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;IAIlB,KAAK,IAAI,OAAO;IAIR,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAInC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAI3B,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAK5D,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAKpD,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM;IAS5D,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAE3C,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAKlD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;IAW1E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAOvC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CASpE;AAGD,qBAAa,kCAAkC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;gBAE1F,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAK9C,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;CAO9C;AAGD,qBAAa,kCAAkC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;gBAE1F,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAKtD,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;IAQV,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;CAY9C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/class-core",
3
- "version": "0.7.2-beta.3",
3
+ "version": "0.7.2-beta.5",
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.2-beta.3",
31
- "@lionweb/json": "0.7.2-beta.3",
32
- "@lionweb/ts-utils": "0.7.2-beta.3",
30
+ "@lionweb/core": "0.7.2-beta.5",
31
+ "@lionweb/json": "0.7.2-beta.5",
32
+ "@lionweb/ts-utils": "0.7.2-beta.5",
33
33
  "littoral-templates": "0.5.1",
34
34
  "mobx": "6.13.7"
35
35
  }
package/src/duplicator.ts CHANGED
@@ -15,7 +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 { Containment, Feature, idOf, Link, Property, Reference, SingleRef, unresolved } from "@lionweb/core"
18
+ import { Containment, Feature, idOf, Link, MultiRef, Property, Reference, SingleRef, unresolved } from "@lionweb/core"
19
19
  import { LionWebId } from "@lionweb/json"
20
20
  import { asArray } from "@lionweb/ts-utils"
21
21
 
@@ -54,7 +54,7 @@ export const deepDuplicateWith = (duplicateNode: NodeDuplicator): Duplicator =>
54
54
  if (feature instanceof Property) {
55
55
  duplicatedNode.getPropertyValueManager(feature).setDirectly(value);
56
56
  } else if (feature instanceof Link) {
57
- const values = asArray(value as (SingleRef<INodeBase> | SingleRef<INodeBase>[]));
57
+ const values = asArray(value as (MultiRef<INodeBase> | SingleRef<INodeBase>));
58
58
  const resolvedValues = values.filter((value) => value !== unresolved) as INodeBase[];
59
59
  if (resolvedValues.length > 0) {
60
60
  nodesToInstall.push([
@@ -194,17 +194,17 @@ export class RequiredSingleContainmentValueManager<T extends INodeBase> extends
194
194
  }
195
195
 
196
196
  @action set(newChild: T | undefined) {
197
- const oldChild = this.getDirectly();
197
+ const oldChild = this.getDirectly(); // (oldChild is contained by this.container through this.containment)
198
198
  if (oldChild === undefined) {
199
199
  if (newChild === undefined) {
200
200
  // do nothing: nothing's changed
201
201
  } else {
202
- if (newChild.parent && newChild.containment) {
203
- const oldParent = newChild.parent;
204
- removeFromContainment(newChild);
205
- this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment!, 0, this.container, this.feature, 0, newChild));
206
- } else {
202
+ if (newChild.parent === undefined) {
207
203
  this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
204
+ } else {
205
+ const oldParent = newChild.parent;
206
+ const oldIndex = removeFromContainment(newChild);
207
+ this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment!, oldIndex, this.container, this.feature, 0, newChild));
208
208
  }
209
209
  this.setDirectly(newChild);
210
210
  newChild.attachTo(this.container, this.feature);
@@ -216,17 +216,26 @@ export class RequiredSingleContainmentValueManager<T extends INodeBase> extends
216
216
  if (oldChild === newChild) {
217
217
  // do nothing: nothing's changed
218
218
  } else {
219
- if (oldChild.parent && oldChild.containment && oldChild.parent === this.container && oldChild.containment === this.feature) {
220
- // FIXME oldChild.parent COULD be this.container
221
- this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
222
- }
223
219
  oldChild.detach();
224
- if (newChild.parent && newChild.containment) {
225
- removeFromContainment(newChild);
226
- }
227
220
  this.setDirectly(newChild);
228
- newChild.attachTo(this.container, this.feature);
229
- this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
221
+ if (newChild.parent === undefined) {
222
+ // newChild is unattached:
223
+ newChild.attachTo(this.container, this.feature);
224
+ this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
225
+ } else {
226
+ const oldContainment = newChild.containment!;
227
+ const oldIndex = removeFromContainment(newChild);
228
+ if (newChild.parent === this.container) {
229
+ if (newChild.containment === this.containment) {
230
+ this.emitDelta(() => new ChildMovedAndReplacedInSameContainmentDelta(this.container, this.containment, 0, 0, newChild, oldChild));
231
+ } else {
232
+ this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentInSameParentDelta(this.container, oldContainment, oldIndex, this.containment, 0, newChild, oldChild));
233
+ }
234
+ } else {
235
+ this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentDelta(this.container, this.containment, 0, newChild, newChild.parent!, oldContainment, oldIndex, oldChild));
236
+ }
237
+ newChild.attachTo(this.container, this.feature);
238
+ }
230
239
  }
231
240
  }
232
241
  }
@@ -15,7 +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 { Reference, SingleRef } from "@lionweb/core"
18
+ import { MultiRef, Reference, SingleRef } from "@lionweb/core"
19
19
  import { action, observable } from "mobx"
20
20
 
21
21
  import { INodeBase } from "../base-types.js"
@@ -37,7 +37,7 @@ export abstract class ReferenceValueManager<T extends INodeBase> extends Feature
37
37
  return this.feature;
38
38
  }
39
39
 
40
- abstract getDirectly(): (SingleRef<T> | undefined) | (SingleRef<T> | undefined)[];
40
+ abstract getDirectly(): (SingleRef<T> | undefined) | (MultiRef<T> | undefined);
41
41
 
42
42
  /**
43
43
  * Adds the given target to the reference.
@@ -159,11 +159,11 @@ export abstract class MultiReferenceValueManager<T extends INodeBase> extends Re
159
159
 
160
160
  private readonly targets = observable.array<SingleRef<T>>([], {deep: false});
161
161
 
162
- getDirectly(): SingleRef<T>[] {
162
+ getDirectly(): MultiRef<T> {
163
163
  return this.targets;
164
164
  }
165
165
 
166
- get(): SingleRef<T>[] {
166
+ get(): MultiRef<T> {
167
167
  return this.getDirectly().slice(); // make defensive copy
168
168
  }
169
169
 
@@ -259,7 +259,7 @@ export class RequiredMultiReferenceValueManager<T extends INodeBase> extends Mul
259
259
  this.checkRequired(true);
260
260
  }
261
261
 
262
- get(): SingleRef<T>[] {
262
+ get(): MultiRef<T> {
263
263
  const targets = this.getDirectly();
264
264
  if (targets.length === 0) {
265
265
  this.throwOnReadOfUnset();