@lionweb/class-core 0.7.0-beta.8 → 0.7.0

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 (117) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/README.md +6 -6
  3. package/dist/LionCore_builtins.g.d.ts +2 -2
  4. package/dist/LionCore_builtins.g.d.ts.map +1 -1
  5. package/dist/LionCore_builtins.g.js +1 -1
  6. package/dist/LionCore_builtins.g.js.map +1 -1
  7. package/dist/base-types.d.ts +7 -11
  8. package/dist/base-types.d.ts.map +1 -1
  9. package/dist/base-types.js +3 -28
  10. package/dist/base-types.js.map +1 -1
  11. package/dist/convenience.d.ts +10 -9
  12. package/dist/convenience.d.ts.map +1 -1
  13. package/dist/convenience.js +12 -11
  14. package/dist/convenience.js.map +1 -1
  15. package/dist/deltas/appliers.d.ts +5 -4
  16. package/dist/deltas/appliers.d.ts.map +1 -1
  17. package/dist/deltas/appliers.js +369 -163
  18. package/dist/deltas/appliers.js.map +1 -1
  19. package/dist/deltas/compositor.d.ts +51 -0
  20. package/dist/deltas/compositor.d.ts.map +1 -0
  21. package/dist/deltas/compositor.js +95 -0
  22. package/dist/deltas/compositor.js.map +1 -0
  23. package/dist/deltas/index.d.ts +2 -1
  24. package/dist/deltas/index.d.ts.map +1 -1
  25. package/dist/deltas/index.js +2 -1
  26. package/dist/deltas/index.js.map +1 -1
  27. package/dist/deltas/inverters.d.ts.map +1 -1
  28. package/dist/deltas/inverters.js +91 -28
  29. package/dist/deltas/inverters.js.map +1 -1
  30. package/dist/deltas/receivers.d.ts +39 -0
  31. package/dist/deltas/receivers.d.ts.map +1 -0
  32. package/dist/deltas/receivers.js +60 -0
  33. package/dist/deltas/receivers.js.map +1 -0
  34. package/dist/deltas/serialization/deserializer.g.d.ts.map +1 -1
  35. package/dist/deltas/serialization/deserializer.g.js +167 -59
  36. package/dist/deltas/serialization/deserializer.g.js.map +1 -1
  37. package/dist/deltas/serialization/serializer-helpers.d.ts +1 -1
  38. package/dist/deltas/serialization/serializer-helpers.d.ts.map +1 -1
  39. package/dist/deltas/serialization/serializer-helpers.js +3 -4
  40. package/dist/deltas/serialization/serializer-helpers.js.map +1 -1
  41. package/dist/deltas/serialization/serializer.g.d.ts +2 -2
  42. package/dist/deltas/serialization/serializer.g.d.ts.map +1 -1
  43. package/dist/deltas/serialization/serializer.g.js +186 -47
  44. package/dist/deltas/serialization/serializer.g.js.map +1 -1
  45. package/dist/deltas/serialization/types.g.d.ts +156 -43
  46. package/dist/deltas/serialization/types.g.d.ts.map +1 -1
  47. package/dist/deltas/types.g.d.ts +155 -55
  48. package/dist/deltas/types.g.d.ts.map +1 -1
  49. package/dist/deltas/types.g.js +170 -57
  50. package/dist/deltas/types.g.js.map +1 -1
  51. package/dist/deserializer.d.ts +6 -6
  52. package/dist/deserializer.d.ts.map +1 -1
  53. package/dist/deserializer.js +16 -27
  54. package/dist/deserializer.js.map +1 -1
  55. package/dist/duplicator.d.ts.map +1 -1
  56. package/dist/duplicator.js.map +1 -1
  57. package/dist/factory.d.ts +10 -2
  58. package/dist/factory.d.ts.map +1 -1
  59. package/dist/factory.js +25 -16
  60. package/dist/factory.js.map +1 -1
  61. package/dist/id-mapping.d.ts +31 -3
  62. package/dist/id-mapping.d.ts.map +1 -1
  63. package/dist/id-mapping.js +46 -14
  64. package/dist/id-mapping.js.map +1 -1
  65. package/dist/serializer.d.ts.map +1 -1
  66. package/dist/textualizer.d.ts +1 -1
  67. package/dist/textualizer.d.ts.map +1 -1
  68. package/dist/textualizer.js +1 -1
  69. package/dist/textualizer.js.map +1 -1
  70. package/dist/value-managers/annotations.d.ts +5 -0
  71. package/dist/value-managers/annotations.d.ts.map +1 -1
  72. package/dist/value-managers/annotations.js +31 -3
  73. package/dist/value-managers/annotations.js.map +1 -1
  74. package/dist/value-managers/base.d.ts +2 -2
  75. package/dist/value-managers/base.d.ts.map +1 -1
  76. package/dist/value-managers/base.js +4 -4
  77. package/dist/value-managers/base.js.map +1 -1
  78. package/dist/value-managers/containments.d.ts +4 -1
  79. package/dist/value-managers/containments.d.ts.map +1 -1
  80. package/dist/value-managers/containments.js +151 -20
  81. package/dist/value-managers/containments.js.map +1 -1
  82. package/dist/value-managers/properties.d.ts.map +1 -1
  83. package/dist/value-managers/properties.js +1 -0
  84. package/dist/value-managers/properties.js.map +1 -1
  85. package/dist/value-managers/references.d.ts +3 -0
  86. package/dist/value-managers/references.d.ts.map +1 -1
  87. package/dist/value-managers/references.js +26 -8
  88. package/dist/value-managers/references.js.map +1 -1
  89. package/package.json +34 -37
  90. package/src/LionCore_builtins.g.ts +2 -2
  91. package/src/base-types.ts +6 -32
  92. package/src/convenience.ts +15 -14
  93. package/src/deltas/appliers.ts +377 -177
  94. package/src/deltas/compositor.ts +107 -0
  95. package/src/deltas/index.ts +3 -1
  96. package/src/deltas/inverters.ts +108 -36
  97. package/src/deltas/receivers.ts +92 -0
  98. package/src/deltas/serialization/deserializer.g.ts +185 -64
  99. package/src/deltas/serialization/serializer-helpers.ts +3 -10
  100. package/src/deltas/serialization/serializer.g.ts +242 -63
  101. package/src/deltas/serialization/types.g.ts +190 -51
  102. package/src/deltas/types.g.ts +190 -51
  103. package/src/deserializer.ts +32 -43
  104. package/src/duplicator.ts +1 -1
  105. package/src/factory.ts +31 -17
  106. package/src/id-mapping.ts +43 -5
  107. package/src/textualizer.ts +1 -1
  108. package/src/value-managers/annotations.ts +28 -2
  109. package/src/value-managers/base.ts +4 -4
  110. package/src/value-managers/containments.ts +144 -20
  111. package/src/value-managers/properties.ts +1 -0
  112. package/src/value-managers/references.ts +28 -8
  113. package/dist/deltas/handlers.d.ts +0 -17
  114. package/dist/deltas/handlers.d.ts.map +0 -1
  115. package/dist/deltas/handlers.js +0 -43
  116. package/dist/deltas/handlers.js.map +0 -1
  117. package/src/deltas/handlers.ts +0 -64
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/value-managers/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/value-managers/base.ts"],"names":[],"mappings":"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"}
@@ -21,6 +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(movedChild: T): void;
24
25
  }
25
26
  export declare class OptionalSingleContainmentValueManager<T extends INodeBase> extends SingleContainmentValueManager<T> {
26
27
  constructor(containment: Containment, container: INodeBase);
@@ -41,10 +42,12 @@ export declare abstract class MultiContainmentValueManager<T extends INodeBase>
41
42
  addDirectly(newChild: T): void;
42
43
  add(newChild: T): void;
43
44
  insertAtIndexDirectly(newChild: T, index: number): void;
44
- insertAtIndex(newChild: T, index: number): void;
45
+ insertAtIndex(newChild: T, newIndex: number): void;
45
46
  removeDirectly(childToRemove: T): number;
47
+ removeAtIndexDirectly(index: number): void;
46
48
  moveDirectly(oldIndex: number, newIndex: number): T | undefined;
47
49
  move(oldIndex: number, newIndex: number): void;
50
+ replaceAtIndex(movedChild: T, newIndex: number): void;
48
51
  }
49
52
  export declare class OptionalMultiContainmentValueManager<T extends INodeBase> extends MultiContainmentValueManager<T> {
50
53
  constructor(containment: Containment, container: INodeBase);
@@ -1 +1 @@
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,EAAoB,MAAM,kBAAkB,CAAA;AAE9D,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;CAQlC;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;CAyCtC;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;CAuCtC;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,KAAK,EAAE,MAAM;IAYxC,cAAc,CAAC,aAAa,EAAE,CAAC,GAAG,MAAM;IAUxC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAW/D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAOlD;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"}
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, ChildMovedDelta, 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.
@@ -66,6 +65,7 @@ let SingleContainmentValueManager = (() => {
66
65
  let _instanceExtraInitializers = [];
67
66
  let _setDirectly_decorators;
68
67
  let _addDirectly_decorators;
68
+ let _replaceWith_decorators;
69
69
  return _a = class SingleContainmentValueManager extends _classSuper {
70
70
  constructor(containment, container) {
71
71
  super(containment, container);
@@ -84,17 +84,59 @@ let SingleContainmentValueManager = (() => {
84
84
  addDirectly(newChild) {
85
85
  const oldChild = this.getDirectly();
86
86
  if (oldChild !== undefined) {
87
- throw new Error(`replacing a child using addDirectly on a value manager for a single-valued containment isn't allowed`); // FIXME unit test this
87
+ throw new Error(`replacing a child using addDirectly on a value manager for a single-valued containment isn't allowed`); // TODO unit test this
88
88
  }
89
89
  this.child.set(newChild);
90
90
  }
91
+ replaceWith(movedChild) {
92
+ const replacedChild = this.getDirectly();
93
+ if (replacedChild === undefined) {
94
+ // not a proper replace, but an add-set => delegate to regular setter (— unfortunately, through necessarily “unfolding the hierarchy”):
95
+ if (this instanceof OptionalSingleContainmentValueManager) {
96
+ this.set(movedChild);
97
+ }
98
+ if (this instanceof RequiredSingleContainmentValueManager) {
99
+ this.set(movedChild);
100
+ }
101
+ }
102
+ else {
103
+ if (replacedChild === movedChild) {
104
+ // do nothing: nothing's changed
105
+ }
106
+ else {
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();
128
+ }
129
+ }
130
+ }
91
131
  },
92
132
  (() => {
93
133
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
94
134
  _setDirectly_decorators = [action];
95
135
  _addDirectly_decorators = [action];
136
+ _replaceWith_decorators = [action];
96
137
  __esDecorate(_a, null, _setDirectly_decorators, { kind: "method", name: "setDirectly", static: false, private: false, access: { has: obj => "setDirectly" in obj, get: obj => obj.setDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
97
138
  __esDecorate(_a, null, _addDirectly_decorators, { kind: "method", name: "addDirectly", static: false, private: false, access: { has: obj => "addDirectly" in obj, get: obj => obj.addDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
139
+ __esDecorate(_a, null, _replaceWith_decorators, { kind: "method", name: "replaceWith", static: false, private: false, access: { has: obj => "replaceWith" in obj, get: obj => obj.replaceWith }, metadata: _metadata }, null, _instanceExtraInitializers);
98
140
  if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
99
141
  })(),
100
142
  _a;
@@ -123,8 +165,8 @@ let OptionalSingleContainmentValueManager = (() => {
123
165
  else {
124
166
  if (newChild.parent && newChild.containment) {
125
167
  const oldParent = newChild.parent;
126
- removeFromParent(oldParent, newChild);
127
- this.emitDelta(() => new ChildMovedDelta(oldParent, newChild.containment, 0, this.container, this.feature, 0, newChild));
168
+ removeFromContainment(newChild);
169
+ this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment, 0, this.container, this.feature, 0, newChild));
128
170
  }
129
171
  else {
130
172
  this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
@@ -144,13 +186,14 @@ let OptionalSingleContainmentValueManager = (() => {
144
186
  // do nothing: nothing's changed
145
187
  }
146
188
  else {
189
+ // FIXME this could emit 2 deltas where it should be a single ChildReplaced-delta
147
190
  if (oldChild.parent && oldChild.containment && oldChild.parent === this.container && oldChild.containment === this.feature) {
148
191
  // FIXME oldChild.parent COULD be this.container
149
192
  this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
150
193
  }
151
194
  oldChild.detach();
152
195
  if (newChild.parent && newChild.containment) {
153
- removeFromParent(newChild.parent, newChild);
196
+ removeFromContainment(newChild);
154
197
  }
155
198
  this.setDirectly(newChild);
156
199
  newChild.attachTo(this.container, this.feature);
@@ -196,8 +239,8 @@ let RequiredSingleContainmentValueManager = (() => {
196
239
  else {
197
240
  if (newChild.parent && newChild.containment) {
198
241
  const oldParent = newChild.parent;
199
- removeFromParent(oldParent, newChild);
200
- this.emitDelta(() => new ChildMovedDelta(oldParent, newChild.containment, 0, this.container, this.feature, 0, newChild));
242
+ removeFromContainment(newChild);
243
+ this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment, 0, this.container, this.feature, 0, newChild));
201
244
  }
202
245
  else {
203
246
  this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
@@ -221,7 +264,7 @@ let RequiredSingleContainmentValueManager = (() => {
221
264
  }
222
265
  oldChild.detach();
223
266
  if (newChild.parent && newChild.containment) {
224
- removeFromParent(newChild.parent, newChild);
267
+ removeFromContainment(newChild);
225
268
  }
226
269
  this.setDirectly(newChild);
227
270
  newChild.attachTo(this.container, this.feature);
@@ -249,8 +292,10 @@ let MultiContainmentValueManager = (() => {
249
292
  let _insertAtIndexDirectly_decorators;
250
293
  let _insertAtIndex_decorators;
251
294
  let _removeDirectly_decorators;
295
+ let _removeAtIndexDirectly_decorators;
252
296
  let _moveDirectly_decorators;
253
297
  let _move_decorators;
298
+ let _replaceAtIndex_decorators;
254
299
  return _a = class MultiContainmentValueManager extends _classSuper {
255
300
  constructor(containment, container) {
256
301
  super(containment, container);
@@ -276,27 +321,48 @@ let MultiContainmentValueManager = (() => {
276
321
  checkIndex(index, this.children.length, true);
277
322
  this.children.splice(index, 0, newChild);
278
323
  }
279
- insertAtIndex(newChild, index) {
280
- this.insertAtIndexDirectly(newChild, index);
281
- if (newChild.parent === undefined && newChild.containment === undefined) {
282
- 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));
283
329
  }
284
330
  else {
285
- const oldIndex = removeFromParent(newChild.parent, newChild);
286
- this.emitDelta(() => new ChildMovedDelta(newChild.parent, newChild.containment, oldIndex, this.container, this.containment, index, newChild));
287
- 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
+ }
288
351
  }
289
- newChild.attachTo(this.container, this.containment);
290
352
  }
291
353
  removeDirectly(childToRemove) {
292
354
  const children = this.getDirectly();
293
- const index = children.findIndex((child) => child === childToRemove);
355
+ const index = children.indexOf(childToRemove);
294
356
  if (index > -1) {
295
357
  children.splice(index, 1);
296
358
  return index;
297
359
  }
298
360
  return -1;
299
361
  }
362
+ removeAtIndexDirectly(index) {
363
+ checkIndex(index, this.children.length, false);
364
+ this.getDirectly().splice(index, 1);
365
+ }
300
366
  moveDirectly(oldIndex, newIndex) {
301
367
  checkIndex(oldIndex, this.children.length, false);
302
368
  checkIndex(newIndex, this.children.length, false);
@@ -313,6 +379,42 @@ let MultiContainmentValueManager = (() => {
313
379
  this.emitDelta(() => new ChildMovedInSameContainmentDelta(this.container, this.containment, oldIndex, newIndex, child));
314
380
  }
315
381
  }
382
+ replaceAtIndex(movedChild, newIndex) {
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
+ }
387
+ const replacedChild = this.children[newIndex];
388
+ if (replacedChild === movedChild) {
389
+ // do nothing: nothing's changed
390
+ }
391
+ else {
392
+ this.children.splice(newIndex, 1, movedChild);
393
+ if (replacedChild.parent !== undefined) {
394
+ const oldValueManager = replacedChild.parent.getContainmentValueManager(replacedChild.containment);
395
+ const oldIndex = oldValueManager instanceof SingleContainmentValueManager
396
+ ? 0
397
+ : oldValueManager.children.indexOf(replacedChild);
398
+ if (replacedChild.parent === movedChild.parent) {
399
+ if (replacedChild.containment === movedChild.containment) {
400
+ this.emitDelta(() => new ChildMovedAndReplacedInSameContainmentDelta(this.container, this.containment, oldIndex, newIndex, movedChild, replacedChild));
401
+ }
402
+ else {
403
+ this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentInSameParentDelta(this.container, replacedChild.containment, oldIndex, this.containment, newIndex, movedChild, replacedChild));
404
+ }
405
+ }
406
+ else {
407
+ this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentDelta(this.container, this.containment, newIndex, movedChild, movedChild.parent, movedChild.containment, oldIndex, replacedChild));
408
+ }
409
+ replacedChild.detach();
410
+ }
411
+ else {
412
+ // not a move+replace, but a regular replace instead:
413
+ this.emitDelta(() => new ChildReplacedDelta(this.container, this.containment, newIndex, replacedChild, movedChild));
414
+ }
415
+ movedChild.attachTo(this.container, this.containment);
416
+ }
417
+ }
316
418
  },
317
419
  (() => {
318
420
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
@@ -321,15 +423,19 @@ let MultiContainmentValueManager = (() => {
321
423
  _insertAtIndexDirectly_decorators = [action];
322
424
  _insertAtIndex_decorators = [action];
323
425
  _removeDirectly_decorators = [action];
426
+ _removeAtIndexDirectly_decorators = [action];
324
427
  _moveDirectly_decorators = [action];
325
428
  _move_decorators = [action];
429
+ _replaceAtIndex_decorators = [action];
326
430
  __esDecorate(_a, null, _addDirectly_decorators, { kind: "method", name: "addDirectly", static: false, private: false, access: { has: obj => "addDirectly" in obj, get: obj => obj.addDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
327
431
  __esDecorate(_a, null, _add_decorators, { kind: "method", name: "add", static: false, private: false, access: { has: obj => "add" in obj, get: obj => obj.add }, metadata: _metadata }, null, _instanceExtraInitializers);
328
432
  __esDecorate(_a, null, _insertAtIndexDirectly_decorators, { kind: "method", name: "insertAtIndexDirectly", static: false, private: false, access: { has: obj => "insertAtIndexDirectly" in obj, get: obj => obj.insertAtIndexDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
329
433
  __esDecorate(_a, null, _insertAtIndex_decorators, { kind: "method", name: "insertAtIndex", static: false, private: false, access: { has: obj => "insertAtIndex" in obj, get: obj => obj.insertAtIndex }, metadata: _metadata }, null, _instanceExtraInitializers);
330
434
  __esDecorate(_a, null, _removeDirectly_decorators, { kind: "method", name: "removeDirectly", static: false, private: false, access: { has: obj => "removeDirectly" in obj, get: obj => obj.removeDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
435
+ __esDecorate(_a, null, _removeAtIndexDirectly_decorators, { kind: "method", name: "removeAtIndexDirectly", static: false, private: false, access: { has: obj => "removeAtIndexDirectly" in obj, get: obj => obj.removeAtIndexDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
331
436
  __esDecorate(_a, null, _moveDirectly_decorators, { kind: "method", name: "moveDirectly", static: false, private: false, access: { has: obj => "moveDirectly" in obj, get: obj => obj.moveDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
332
437
  __esDecorate(_a, null, _move_decorators, { kind: "method", name: "move", static: false, private: false, access: { has: obj => "move" in obj, get: obj => obj.move }, metadata: _metadata }, null, _instanceExtraInitializers);
438
+ __esDecorate(_a, null, _replaceAtIndex_decorators, { kind: "method", name: "replaceAtIndex", static: false, private: false, access: { has: obj => "replaceAtIndex" in obj, get: obj => obj.replaceAtIndex }, metadata: _metadata }, null, _instanceExtraInitializers);
333
439
  if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
334
440
  })(),
335
441
  _a;
@@ -348,7 +454,7 @@ let OptionalMultiContainmentValueManager = (() => {
348
454
  }
349
455
  remove(childToRemove) {
350
456
  const children = this.getDirectly();
351
- const index = children.findIndex((child) => child === childToRemove);
457
+ const index = children.indexOf(childToRemove);
352
458
  if (index > -1) {
353
459
  children.splice(index, 1);
354
460
  childToRemove.detach();
@@ -385,7 +491,7 @@ let RequiredMultiContainmentValueManager = (() => {
385
491
  }
386
492
  remove(childToRemove) {
387
493
  const children = this.getDirectly();
388
- const index = children.findIndex((child) => child === childToRemove);
494
+ const index = children.indexOf(childToRemove);
389
495
  if (index > -1) {
390
496
  if (children.length === 1) {
391
497
  this.throwOnUnset();
@@ -405,4 +511,29 @@ let RequiredMultiContainmentValueManager = (() => {
405
511
  _a;
406
512
  })();
407
513
  export { RequiredMultiContainmentValueManager };
514
+ /**
515
+ * Removes the given child node from its containment, and returns the containment index it had before removal.
516
+ */
517
+ const removeFromContainment = (child) => {
518
+ if (child.parent === undefined) {
519
+ throw new Error(`can't remove an orphan from its parent`);
520
+ }
521
+ if (child.containment === undefined) {
522
+ throw new Error(`can't remove an orphan from its containing feature`);
523
+ }
524
+ if (child.containment === null) {
525
+ throw new Error(`can't remove an annotation`);
526
+ }
527
+ const valueManager = child.parent.getContainmentValueManager(child.containment);
528
+ if (valueManager instanceof SingleContainmentValueManager) {
529
+ valueManager.setDirectly(undefined);
530
+ return 0;
531
+ }
532
+ else if (valueManager instanceof MultiContainmentValueManager) {
533
+ return valueManager.removeDirectly(child);
534
+ }
535
+ else {
536
+ throw new Error(`don't know how to remove a child that's contained through a value manager of type ${valueManager.constructor.name}`);
537
+ }
538
+ };
408
539
  //# 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":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAGzC,OAAO,EACH,eAAe,EACf,iBAAiB,EACjB,8CAA8C,EAC9C,0DAA0D,EAC1D,2CAA2C,EAC3C,mCAAmC,EACnC,+CAA+C,EAC/C,gCAAgC,EAChC,kBAAkB,EACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG3D;;GAEG;AACH,MAAM,OAAgB,uBAA6C,SAAQ,mBAAgC;IAEvG,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CAWJ;IAGqB,6BAA6B;;sBAA8B,uBAAuB;;;;;sBAAlF,6BAAmD,SAAQ,WAA0B;YAEvG,YAAsB,WAAwB,EAAE,SAAoB;gBAChE,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAIjB,UAAK,IAPJ,mDAA6B,EAOtB,UAAU,CAAC,GAAG,CAAgB,SAAS,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,EAAC;gBAH7E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YAID,WAAW;gBACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC5B,CAAC;YAED,KAAK;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,SAAS,CAAC;YAC1C,CAAC;YAEO,WAAW,CAAC,QAAuB;gBACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;YAEO,WAAW,CAAC,QAAW;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC,CAAI,uBAAuB;gBACvJ,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;YAEO,WAAW,CAAC,UAAa;gBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAC9B,uIAAuI;oBACvI,IAAI,IAAI,YAAY,qCAAqC,EAAE,CAAC;wBACxD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACzB,CAAC;oBACD,IAAI,IAAI,YAAY,qCAAqC,EAAE,CAAC;wBACxD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACzB,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;wBAC/B,gCAAgC;oBACpC,CAAC;yBAAM,CAAC;wBACJ,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;4BAClC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;wBAC7G,CAAC;6BAAM,CAAC;4BACJ,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gCACvC,IAAI,UAAU,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;oCAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,2CAA2C,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;gCAC7I,CAAC;qCAAM,CAAC;oCACJ,MAAM,QAAQ,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;oCACtD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,0DAA0D,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,WAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;gCAC5L,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACJ,MAAM,QAAQ,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;gCACtD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,8CAA8C,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,MAAO,EAAE,UAAU,CAAC,WAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;4BACpM,CAAC;wBACL,CAAC;wBACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;wBAC7B,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;wBACtD,aAAa,CAAC,MAAM,EAAE,CAAC;oBAC3B,CAAC;gBACL,CAAC;YACL,CAAC;;;;uCA9CA,MAAM;uCAIN,MAAM;uCAQN,MAAM;YAZC,kLAAA,WAAW,6DAElB;YAEO,kLAAA,WAAW,6DAMlB;YAEO,kLAAA,WAAW,6DAkClB;;;;;SA/DiB,6BAA6B;IAoEtC,qCAAqC;;sBAA8B,6BAA6B;;;sBAAhG,qCAA2D,SAAQ,WAAgC;YAE5G,YAAY,WAAwB,EAAE,SAAoB;gBACtD,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAHzB,mDAAqC;gBAI1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC7B;YAED,GAAG;gBACC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;YAEO,GAAG,CAAC,QAAuB;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,gCAAgC;oBACpC,CAAC;yBAAM,CAAC;wBACJ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;4BAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAClC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;4BAChC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,mCAAmC,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAY,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;wBAClJ,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACzF,CAAC;wBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wBAC3B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpD,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAClB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;wBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC3F,CAAC;yBAAM,CAAC;wBACJ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BACxB,gCAAgC;wBACpC,CAAC;6BAAM,CAAC;4BACJ,kFAAkF;4BAClF,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gCACzH,iDAAiD;gCACjD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;4BAC3F,CAAC;4BACD,QAAQ,CAAC,MAAM,EAAE,CAAC;4BAClB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gCAC1C,qBAAqB,CAAC,QAAQ,CAAC,CAAC;4BACpC,CAAC;4BACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAC3B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BAChD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACtG,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;;;;+BAxCA,MAAM;YAAC,0JAAA,GAAG,6DAwCV;;;;;SAnDQ,qCAAqC;IAwDrC,qCAAqC;;sBAA8B,6BAA6B;;;sBAAhG,qCAA2D,SAAQ,WAAgC;YAE5G,YAAY,WAAwB,EAAE,SAAoB;gBACtD,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAHzB,mDAAqC;gBAI1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC5B;YAED,GAAG;gBACC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;YAEO,GAAG,CAAC,QAAuB;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,gCAAgC;oBACpC,CAAC;yBAAM,CAAC;wBACJ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;4BAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAClC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;4BAChC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,mCAAmC,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAY,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;wBAClJ,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACzF,CAAC;wBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wBAC3B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpD,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACJ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BACxB,gCAAgC;wBACpC,CAAC;6BAAM,CAAC;4BACJ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gCACzH,iDAAiD;gCACjD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;4BAC3F,CAAC;4BACD,QAAQ,CAAC,MAAM,EAAE,CAAC;4BAClB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gCAC1C,qBAAqB,CAAC,QAAQ,CAAC,CAAC;4BACpC,CAAC;4BACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAC3B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BAChD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACtG,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;;;;+BArCA,MAAM;YAAC,0JAAA,GAAG,6DAqCV;;;;;SApDQ,qCAAqC;IAyD5B,4BAA4B;;sBAA8B,uBAAuB;;;;;;;;;;;sBAAjF,4BAAkD,SAAQ,WAA0B;YAEtG,YAAsB,WAAwB,EAAE,SAAoB;gBAChE,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAIjB,aAAQ,IAPP,mDAA4B,EAOlB,UAAU,CAAC,KAAK,CAAI,EAAE,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,EAAC;gBAH/D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAID,WAAW;gBACP,OAAO,IAAI,CAAC,QAAQ,CAAC;YACzB,CAAC;YAED,GAAG;gBACC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;YACtC,CAAC;YAED,KAAK;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACpC,CAAC;YAEO,WAAW,CAAC,QAAW;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;YAEO,GAAG,CAAC,QAAW;gBACnB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;YAEO,qBAAqB,CAAC,QAAW,EAAE,KAAa;gBACpD,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAEO,aAAa,CAAC,QAAW,EAAE,QAAgB;gBAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC/C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBACpD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACpG,CAAC;qBAAM,CAAC;oBACJ,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;wBACrC,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;4BAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACjD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;4BACtC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,gCAAgC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBAC/H,CAAC;6BAAM,CAAC;4BACJ,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;4BACjD,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BACjD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;4BAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,+CAA+C,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;4BACjK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;wBACxD,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;wBACjD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,mCAAmC,CAAC,QAAQ,CAAC,MAAO,EAAE,QAAQ,CAAC,WAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACvK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBACxD,CAAC;gBACL,CAAC;YACL,CAAC;YAEO,cAAc,CAAC,aAAgB;gBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC9C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;oBACb,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC1B,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;YACd,CAAC;YAEO,qBAAqB,CAAC,KAAa;gBACvC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YAEO,YAAY,CAAC,QAAgB,EAAE,QAAgB;gBACnD,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClD,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBACzC,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC;YAEO,IAAI,CAAC,QAAgB,EAAE,QAAgB;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,gCAAgC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5H,CAAC;YACL,CAAC;YAEO,cAAc,CAAC,UAAa,EAAE,QAAgB;gBAClD,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,CAAC,EAAE,6BAA6B,CAAC,CAAC;gBACvF,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;oBAC/B,gCAAgC;gBACpC,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;oBAC9C,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBACrC,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,0BAA0B,CAAC,aAAa,CAAC,WAAY,CAAC,CAAC;wBACpG,MAAM,QAAQ,GAAG,eAAe,YAAY,6BAA6B;4BACrE,CAAC,CAAC,CAAC;4BACH,CAAC,CAAE,eAA2D,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;wBACnG,IAAI,aAAa,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;4BAC7C,IAAI,aAAa,CAAC,WAAW,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;gCACvD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,2CAA2C,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;4BAC3J,CAAC;iCAAM,CAAC;gCACJ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,0DAA0D,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,WAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;4BACtM,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,8CAA8C,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,MAAO,EAAE,UAAU,CAAC,WAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;wBAC3M,CAAC;wBACD,aAAa,CAAC,MAAM,EAAE,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACJ,qDAAqD;wBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;oBACxH,CAAC;oBACD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1D,CAAC;YACL,CAAC;;;;uCAxGA,MAAM;+BAIN,MAAM;iDAIN,MAAM;yCAKN,MAAM;0CA2BN,MAAM;iDAUN,MAAM;wCAKN,MAAM;gCAWN,MAAM;0CAON,MAAM;YAzEC,kLAAA,WAAW,6DAElB;YAEO,0JAAA,GAAG,6DAEV;YAEO,gNAAA,qBAAqB,6DAG5B;YAEO,wLAAA,aAAa,6DAyBpB;YAEO,2LAAA,cAAc,6DAQrB;YAEO,gNAAA,qBAAqB,6DAG5B;YAEO,qLAAA,YAAY,6DASnB;YAEO,6JAAA,IAAI,6DAKX;YAEO,2LAAA,cAAc,6DA+BrB;;;;;SA7HiB,4BAA4B;IAkIrC,oCAAoC;;sBAA8B,4BAA4B;;;sBAA9F,oCAA0D,SAAQ,WAA+B;YAE1G,YAAY,WAAwB,EAAE,SAAoB;gBACtD,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAHzB,mDAAoC;gBAIzC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC7B;YAEO,MAAM,CAAC,aAAgB;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC9C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;oBACb,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC1B,aAAa,CAAC,MAAM,EAAE,CAAC;oBACvB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;gBACxG,CAAC;YACL,CAAC;;;;kCARA,MAAM;YAAC,mKAAA,MAAM,6DAQb;;;;;SAfQ,oCAAoC;IAoBpC,oCAAoC;;sBAA8B,4BAA4B;;;sBAA9F,oCAA0D,SAAQ,WAA+B;YAE1G,YAAY,WAAwB,EAAE,SAAoB;gBACtD,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAHzB,mDAAoC;gBAIzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC5B;YAED,GAAG;gBACC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,CAAC;gBACD,OAAO,QAAQ,CAAC;YACpB,CAAC;YAEO,MAAM,CAAC,aAAgB;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC9C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;oBACb,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACxB,CAAC;oBACD,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC1B,aAAa,CAAC,MAAM,EAAE,CAAC;oBACvB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;gBACxG,CAAC;YACL,CAAC;;;;kCAXA,MAAM;YAAC,mKAAA,MAAM,6DAWb;;;;;SA1BQ,oCAAoC;AA8BjD;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAU,EAAE;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAC/E,IAAI,YAAY,YAAY,6BAA6B,EAAE,CAAC;QACxD,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACnC,OAAO,CAAC,CAAA;IACZ,CAAC;SAAM,IAAI,YAAY,YAAY,4BAA4B,EAAE,CAAC;QAC9D,OAAO,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,qFAAqF,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;IACzI,CAAC;AACL,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/value-managers/properties.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG/C;;GAEG;AACH,8BAAsB,oBAAoB,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,QAAQ,CAAC;IAE/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4F;IAE5H,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,WAAW,IAAI,CAAC,GAAG,SAAS;IAIpB,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;IAI3C,KAAK,IAAI,OAAO;CAInB;AAGD,qBAAa,4BAA4B,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;gBAE5D,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAKpD,GAAG,IAAI,CAAC;IAQA,GAAG,CAAC,QAAQ,EAAE,CAAC;CAqB1B;AAGD,qBAAa,4BAA4B,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;gBAE5D,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAKpD,GAAG,IAAI,CAAC,GAAG,SAAS;IAIZ,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;CAwBtC"}
1
+ {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/value-managers/properties.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG/C;;GAEG;AACH,8BAAsB,oBAAoB,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,QAAQ,CAAC;IAE/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4F;IAG5H,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,WAAW,IAAI,CAAC,GAAG,SAAS;IAIpB,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;IAI3C,KAAK,IAAI,OAAO;CAInB;AAGD,qBAAa,4BAA4B,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;gBAE5D,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAKpD,GAAG,IAAI,CAAC;IAQA,GAAG,CAAC,QAAQ,EAAE,CAAC;CAqB1B;AAGD,qBAAa,4BAA4B,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;gBAE5D,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAKpD,GAAG,IAAI,CAAC,GAAG,SAAS;IAIZ,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;CAwBtC"}
@@ -64,6 +64,7 @@ let PropertyValueManager = (() => {
64
64
  super(...arguments);
65
65
  this.observableValue = (__runInitializers(this, _instanceExtraInitializers), observable.box(undefined, { deep: false }));
66
66
  }
67
+ // TODO could replace T with a sum types of the exact types we know a property's value can have
67
68
  get property() {
68
69
  return this.feature;
69
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/value-managers/properties.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGtC,OAAO,EAAE,MAAM,EAAoB,UAAU,EAAE,MAAM,MAAM,CAAA;AAE3D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAEnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG/C;;GAEG;IACmB,oBAAoB;;sBAAY,mBAAmB;;;sBAAnD,oBAAwB,SAAQ,WAA6B;;;gBAE9D,oBAAe,yDAAoC,UAAU,CAAC,GAAG,CAAgB,SAAS,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,EAAC;YAkBhI,CAAC;YAhBG,IAAI,QAAQ;gBACR,OAAO,IAAI,CAAC,OAAO,CAAC;YACxB,CAAC;YAED,WAAW;gBACP,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YACtC,CAAC;YAEO,WAAW,CAAC,QAAuB;gBACvC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAED,KAAK;gBACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,SAAS,CAAC;YACpD,CAAC;;;;uCANA,MAAM;YAAC,kLAAA,WAAW,6DAElB;;;;;SAdiB,oBAAoB;IAuB7B,4BAA4B;;sBAAY,oBAAoB;;;sBAA5D,4BAAgC,SAAQ,WAAuB;YAExE,YAAY,QAAkB,EAAE,SAAoB;gBAChD,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;;gBAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC5B;YAED,GAAG;gBACC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;YAEO,GAAG,CAAC,QAAW;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACxB,OAAM;gBACV,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC3B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,mBAAmB;oBACvB,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC1F,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACtG,CAAC;gBACL,CAAC;YACL,CAAC;;;;+BAnBA,MAAM;YAAC,0JAAA,GAAG,6DAmBV;;;;;SAlCQ,4BAA4B;IAuC5B,4BAA4B;;sBAAY,oBAAoB;;;sBAA5D,4BAAgC,SAAQ,WAAuB;YAExE,YAAY,QAAkB,EAAE,SAAoB;gBAChD,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;;gBAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC7B;YAED,GAAG;gBACC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;YAEO,GAAG,CAAC,QAAuB;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,aAAa;oBACjB,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wBAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC1F,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;wBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC5F,CAAC;yBAAM,CAAC;wBACJ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BACxB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACtG,CAAC;6BAAM,CAAC;4BACJ,aAAa;wBACjB,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;;;;+BAtBA,MAAM;YAAC,0JAAA,GAAG,6DAsBV;;;;;SAjCQ,4BAA4B"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/value-managers/properties.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare abstract class ReferenceValueManager<T extends INodeBase> extends
10
10
  /**
11
11
  * Adds the given target to the reference.
12
12
  * For a single-valued reference, this replaces an already-present target.
13
+ * **Note**: this method predominantly exists for the benefit of the deserializer and duplicator!
13
14
  */
14
15
  abstract addDirectly(newTarget: SingleRef<T> | undefined): void;
15
16
  }
@@ -43,8 +44,10 @@ export declare abstract class MultiReferenceValueManager<T extends INodeBase> ex
43
44
  insertAtIndex(newTarget: SingleRef<T>, index: number): void;
44
45
  removeDirectly(targetToRemove: SingleRef<T>): number;
45
46
  abstract remove(targetToRemove: SingleRef<T>): void;
47
+ removeAtIndexDirectly(index: number): SingleRef<T>;
46
48
  moveDirectly(oldIndex: number, newIndex: number): SingleRef<T> | undefined;
47
49
  move(oldIndex: number, newIndex: number): void;
50
+ moveAndReplaceDirectly(oldIndex: number, newIndex: number): void;
48
51
  }
49
52
  export declare class OptionalMultiReferenceValueManager<T extends INodeBase> extends MultiReferenceValueManager<T> {
50
53
  constructor(reference: Reference, container: INodeBase);
@@ -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":"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"}
@@ -49,7 +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 { ReferenceAddedDelta, ReferenceDeletedDelta, ReferenceMovedInSameReferenceDelta, ReferenceReplacedDelta } from "../deltas/index.js";
52
+ import { EntryMovedInSameReferenceDelta, ReferenceAddedDelta, ReferenceChangedDelta, ReferenceDeletedDelta } from "../deltas/index.js";
53
53
  import { checkIndex, FeatureValueManager } from "./base.js";
54
54
  /**
55
55
  * An instance manages the value of a particular reference feature on a particular instance of a classifier.
@@ -116,7 +116,7 @@ let OptionalSingleReferenceValueManager = (() => {
116
116
  return;
117
117
  }
118
118
  if (newTarget === undefined) {
119
- this.addDirectly(undefined);
119
+ this.setDirectly(undefined);
120
120
  if (oldTarget === undefined) {
121
121
  // (nothing)
122
122
  }
@@ -125,12 +125,12 @@ let OptionalSingleReferenceValueManager = (() => {
125
125
  }
126
126
  }
127
127
  else {
128
- this.addDirectly(newTarget);
128
+ this.setDirectly(newTarget);
129
129
  if (oldTarget === undefined) {
130
130
  this.emitDelta(() => new ReferenceAddedDelta(this.container, this.reference, 0, newTarget));
131
131
  }
132
132
  else {
133
- this.emitDelta(() => new ReferenceReplacedDelta(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
  }
@@ -172,12 +172,12 @@ let RequiredSingleReferenceValueManager = (() => {
172
172
  this.throwOnUnset();
173
173
  }
174
174
  else {
175
- this.addDirectly(newTarget);
175
+ this.setDirectly(newTarget);
176
176
  if (oldTarget === undefined) {
177
177
  this.emitDelta(() => new ReferenceAddedDelta(this.container, this.reference, 0, newTarget));
178
178
  }
179
179
  else {
180
- this.emitDelta(() => new ReferenceReplacedDelta(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
  }
@@ -200,8 +200,10 @@ let MultiReferenceValueManager = (() => {
200
200
  let _insertAtIndexDirectly_decorators;
201
201
  let _insertAtIndex_decorators;
202
202
  let _removeDirectly_decorators;
203
+ let _removeAtIndexDirectly_decorators;
203
204
  let _moveDirectly_decorators;
204
205
  let _move_decorators;
206
+ let _moveAndReplaceDirectly_decorators;
205
207
  return _a = class MultiReferenceValueManager extends _classSuper {
206
208
  constructor(reference, container) {
207
209
  super(reference, container);
@@ -212,7 +214,7 @@ let MultiReferenceValueManager = (() => {
212
214
  return this.targets;
213
215
  }
214
216
  get() {
215
- return this.getDirectly().slice();
217
+ return this.getDirectly().slice(); // make defensive copy
216
218
  }
217
219
  isSet() {
218
220
  return this.targets.length > 0;
@@ -239,6 +241,10 @@ let MultiReferenceValueManager = (() => {
239
241
  }
240
242
  return index;
241
243
  }
244
+ removeAtIndexDirectly(index) {
245
+ checkIndex(index, this.targets.length, false);
246
+ return this.targets.splice(index, 1)[0];
247
+ }
242
248
  moveDirectly(oldIndex, newIndex) {
243
249
  checkIndex(oldIndex, this.targets.length, false);
244
250
  checkIndex(newIndex, this.targets.length, false);
@@ -252,7 +258,15 @@ let MultiReferenceValueManager = (() => {
252
258
  move(oldIndex, newIndex) {
253
259
  const target = this.moveDirectly(oldIndex, newIndex);
254
260
  if (target !== undefined) {
255
- this.emitDelta(() => new ReferenceMovedInSameReferenceDelta(this.container, this.reference, oldIndex, newIndex, target));
261
+ this.emitDelta(() => new EntryMovedInSameReferenceDelta(this.container, this.reference, oldIndex, newIndex, target));
262
+ }
263
+ }
264
+ moveAndReplaceDirectly(oldIndex, newIndex) {
265
+ checkIndex(oldIndex, this.targets.length, false);
266
+ checkIndex(newIndex, this.targets.length, false);
267
+ if (oldIndex !== newIndex) {
268
+ this.targets.splice(newIndex, 1, this.targets[oldIndex]);
269
+ this.targets.splice(oldIndex, 1);
256
270
  }
257
271
  }
258
272
  },
@@ -263,15 +277,19 @@ let MultiReferenceValueManager = (() => {
263
277
  _insertAtIndexDirectly_decorators = [action];
264
278
  _insertAtIndex_decorators = [action];
265
279
  _removeDirectly_decorators = [action];
280
+ _removeAtIndexDirectly_decorators = [action];
266
281
  _moveDirectly_decorators = [action];
267
282
  _move_decorators = [action];
283
+ _moveAndReplaceDirectly_decorators = [action];
268
284
  __esDecorate(_a, null, _addDirectly_decorators, { kind: "method", name: "addDirectly", static: false, private: false, access: { has: obj => "addDirectly" in obj, get: obj => obj.addDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
269
285
  __esDecorate(_a, null, _add_decorators, { kind: "method", name: "add", static: false, private: false, access: { has: obj => "add" in obj, get: obj => obj.add }, metadata: _metadata }, null, _instanceExtraInitializers);
270
286
  __esDecorate(_a, null, _insertAtIndexDirectly_decorators, { kind: "method", name: "insertAtIndexDirectly", static: false, private: false, access: { has: obj => "insertAtIndexDirectly" in obj, get: obj => obj.insertAtIndexDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
271
287
  __esDecorate(_a, null, _insertAtIndex_decorators, { kind: "method", name: "insertAtIndex", static: false, private: false, access: { has: obj => "insertAtIndex" in obj, get: obj => obj.insertAtIndex }, metadata: _metadata }, null, _instanceExtraInitializers);
272
288
  __esDecorate(_a, null, _removeDirectly_decorators, { kind: "method", name: "removeDirectly", static: false, private: false, access: { has: obj => "removeDirectly" in obj, get: obj => obj.removeDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
289
+ __esDecorate(_a, null, _removeAtIndexDirectly_decorators, { kind: "method", name: "removeAtIndexDirectly", static: false, private: false, access: { has: obj => "removeAtIndexDirectly" in obj, get: obj => obj.removeAtIndexDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
273
290
  __esDecorate(_a, null, _moveDirectly_decorators, { kind: "method", name: "moveDirectly", static: false, private: false, access: { has: obj => "moveDirectly" in obj, get: obj => obj.moveDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
274
291
  __esDecorate(_a, null, _move_decorators, { kind: "method", name: "move", static: false, private: false, access: { has: obj => "move" in obj, get: obj => obj.move }, metadata: _metadata }, null, _instanceExtraInitializers);
292
+ __esDecorate(_a, null, _moveAndReplaceDirectly_decorators, { kind: "method", name: "moveAndReplaceDirectly", static: false, private: false, access: { has: obj => "moveAndReplaceDirectly" in obj, get: obj => obj.moveAndReplaceDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
275
293
  if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
276
294
  })(),
277
295
  _a;