@lionweb/class-core 0.7.0-beta.12 → 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 (80) hide show
  1. package/CHANGELOG.md +10 -0
  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 +7 -7
  12. package/dist/convenience.d.ts.map +1 -1
  13. package/dist/convenience.js +7 -7
  14. package/dist/convenience.js.map +1 -1
  15. package/dist/deltas/appliers.d.ts +2 -2
  16. package/dist/deltas/appliers.d.ts.map +1 -1
  17. package/dist/deltas/appliers.js +5 -2
  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 +33 -9
  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/deserializer.d.ts +5 -5
  35. package/dist/deserializer.d.ts.map +1 -1
  36. package/dist/deserializer.js +8 -19
  37. package/dist/deserializer.js.map +1 -1
  38. package/dist/factory.d.ts +10 -2
  39. package/dist/factory.d.ts.map +1 -1
  40. package/dist/factory.js +25 -16
  41. package/dist/factory.js.map +1 -1
  42. package/dist/id-mapping.d.ts +21 -3
  43. package/dist/id-mapping.d.ts.map +1 -1
  44. package/dist/id-mapping.js +37 -17
  45. package/dist/id-mapping.js.map +1 -1
  46. package/dist/textualizer.js +1 -1
  47. package/dist/textualizer.js.map +1 -1
  48. package/dist/value-managers/annotations.d.ts.map +1 -1
  49. package/dist/value-managers/annotations.js +1 -2
  50. package/dist/value-managers/annotations.js.map +1 -1
  51. package/dist/value-managers/base.d.ts +2 -2
  52. package/dist/value-managers/base.js +4 -4
  53. package/dist/value-managers/base.js.map +1 -1
  54. package/dist/value-managers/containments.d.ts +2 -2
  55. package/dist/value-managers/containments.d.ts.map +1 -1
  56. package/dist/value-managers/containments.js +89 -27
  57. package/dist/value-managers/containments.js.map +1 -1
  58. package/dist/value-managers/references.js +2 -2
  59. package/package.json +34 -34
  60. package/src/LionCore_builtins.g.ts +2 -2
  61. package/src/base-types.ts +6 -31
  62. package/src/convenience.ts +10 -10
  63. package/src/deltas/appliers.ts +5 -2
  64. package/src/deltas/compositor.ts +107 -0
  65. package/src/deltas/index.ts +3 -1
  66. package/src/deltas/inverters.ts +33 -9
  67. package/src/deltas/receivers.ts +92 -0
  68. package/src/deserializer.ts +9 -25
  69. package/src/factory.ts +31 -17
  70. package/src/id-mapping.ts +26 -5
  71. package/src/textualizer.ts +1 -1
  72. package/src/value-managers/annotations.ts +2 -2
  73. package/src/value-managers/base.ts +4 -4
  74. package/src/value-managers/containments.ts +87 -27
  75. package/src/value-managers/references.ts +2 -2
  76. package/dist/deltas/handlers.d.ts +0 -17
  77. package/dist/deltas/handlers.d.ts.map +0 -1
  78. package/dist/deltas/handlers.js +0 -43
  79. package/dist/deltas/handlers.js.map +0 -1
  80. package/src/deltas/handlers.ts +0 -64
package/CHANGELOG.md CHANGED
@@ -10,6 +10,16 @@
10
10
  * annotations: `moveAndReplaceAtIndex[Directly]`
11
11
  * containments: `replace{With|AtIndex}`
12
12
  * references: `removeAtIndexDirectly`, `moveAndReplaceDirectly`
13
+ * Add a `deltaReceiverForwardingTo` function that returns a delta receiver function that forwards received deltas to the given delta receivers.
14
+ * Add a `Compositor` class that can be used to gather deltas into composite deltas.
15
+ * Rename `DeltaHandler`, `handleDelta`, etc. to `DeltaReceiver`, `receiveDelta`, etc. to be more in line with C# implementation — keeping the previous names as legacy aliases.
16
+ (And: `latching` → `latchingDeltaReceiverFrom`.)
17
+ * Improve performance of deserializer a little bit (— potentially).
18
+ * Add a `reinitializeWith` method to `IdMapping`.
19
+ (Plus: add documentation to existing methods.)
20
+ * Implement inverters for all deltas.
21
+ * Fix single-containment and -reference value managers.
22
+ * (Fix a small cosmetic thing in `asTreeTextWith`: unset properties’ values now get shown as “`<not set>`” instead of as “`$<not set>`” — note the removed `$`.)
13
23
 
14
24
 
15
25
  ## 0.6.13
package/README.md CHANGED
@@ -24,9 +24,9 @@ The following top-level members of this package are suitable and intended to be
24
24
 
25
25
  * `allNodesFrom` — Computes all descendant nodes from the given node, including that node itself.
26
26
 
27
- * `deepClonerFor` — Given `ILanguageBase`s and an optional `DeltaHandler`, it returns a function that clones the given nodes, *without* altering the IDs.
27
+ * `deepClonerFor` — Given `ILanguageBase`s and an optional `DeltaReceiver`, it returns a function that clones the given nodes, *without* altering the IDs.
28
28
 
29
- * `deepCopierFor` — Given `ILanguageBase`s and an optional `DeltaHandler`, it returns a function that clones the given nodes, generating new IDs for all the duplicated nodes.
29
+ * `deepCopierFor` — Given `ILanguageBase`s and an optional `DeltaReceiver`, it returns a function that clones the given nodes, generating new IDs for all the duplicated nodes.
30
30
 
31
31
  * `incomingReferences` — Finds all references coming into the given target node or any of the given target nodes, within the given search scope.
32
32
 
@@ -51,9 +51,9 @@ The list above does not contain the top-level members of this package specifical
51
51
 
52
52
  * All deltas implement the `IDelta` interface.
53
53
 
54
- * The `DeltaHandler` type represents functions that handles a delta.
55
- Such a function has to be passed to invocations `<concrete classifier>.create(<id>, <handleDelta>)` and various other places, in order to “hook up” to the delta protocol.
56
- Such a place is recognizable from the presence of an argument `handleDelta?: DeltaHandler`.
54
+ * The `DeltaReceiver` type represents functions that handles a delta.
55
+ Such a function has to be passed to invocations `<concrete classifier>.create(<id>, <receiveDelta>)` and various other places, in order to “hook up” to the delta protocol.
56
+ Such a place is recognizable from the presence of an argument `receiveDelta?: DeltaReceiver`.
57
57
 
58
58
  * Deltas can be applied to a model state using the `applyDelta[s]` and `applyDelta[s]applyDeltaWithLookup` functions.
59
59
  The functions with plural `Deltas` in their names apply the given array of `IDelta`s in that order.
@@ -82,7 +82,7 @@ A node object represented as an `INodeBase` has (at least) the following charact
82
82
  An implementation of the `ILanguageBase` interface captures three base aspects of a language:
83
83
 
84
84
  1. Its language definition of type `Language` as a static member `INSTANCE`.
85
- 2. A `factory` method that – given an optional `DeltaHandler` produces a `NodeBaseFactory`, which (in turn) is a function that, given a `Classifier` instance, produces the appropriate `INodeBase` instance with the provided `id`, `classifier`, and `handleDelta` arguments.
85
+ 2. A `factory` method that – given an optional `DeltaReceiver` produces a `NodeBaseFactory`, which (in turn) is a function that, given a `Classifier` instance, produces the appropriate `INodeBase` instance with the provided `id`, `classifier`, and `receiveDelta` arguments.
86
86
  3. A `enumLiteralFrom` method that produces a runtime representation of a given `EnumerationLiteral`.
87
87
 
88
88
  ### Value managers
@@ -1,5 +1,5 @@
1
1
  import { Concept, EnumerationLiteral, Interface, Language, PrimitiveType, Property } from "@lionweb/core";
2
- import { DeltaHandler, ILanguageBase, INodeBase, NodeBase, NodeBaseFactory } from "./index.js";
2
+ import { DeltaReceiver, ILanguageBase, INodeBase, NodeBase, NodeBaseFactory } from "./index.js";
3
3
  export declare class LionCore_builtinsBase implements ILanguageBase {
4
4
  private readonly _language;
5
5
  get language(): Language;
@@ -19,7 +19,7 @@ export declare class LionCore_builtinsBase implements ILanguageBase {
19
19
  get INamed_name(): Property;
20
20
  private _wiredUp;
21
21
  private ensureWiredUp;
22
- factory(_handleDelta?: DeltaHandler): NodeBaseFactory;
22
+ factory(_receiveDelta?: DeltaReceiver): NodeBaseFactory;
23
23
  enumLiteralFrom<EnumType>(enumerationLiteral: EnumerationLiteral): EnumType;
24
24
  static readonly INSTANCE: LionCore_builtinsBase;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LionCore_builtins.g.d.ts","sourceRoot":"","sources":["../src/LionCore_builtins.g.ts"],"names":[],"mappings":"AA6BA,OAAO,EAEH,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACX,MAAM,eAAe,CAAC;AAMvB,OAAO,EACH,YAAY,EACZ,aAAa,EACb,SAAS,EACT,QAAQ,EACR,eAAe,EAClB,MAAM,YAAY,CAAC;AAGpB,qBAAa,qBAAsB,YAAW,aAAa;IAEvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmG;IAC7H,IAAI,QAAQ,IAAI,QAAQ,CAGvB;IAED,SAAgB,OAAO,gBAAuG;IAC9H,IAAI,MAAM,IAAI,aAAa,CAG1B;IAED,SAAgB,QAAQ,gBAA0G;IAClI,IAAI,OAAO,IAAI,aAAa,CAG3B;IAED,SAAgB,QAAQ,gBAA0G;IAClI,IAAI,OAAO,IAAI,aAAa,CAG3B;IAED,SAAgB,KAAK,gBAAiG;IACtH,IAAI,IAAI,IAAI,aAAa,CAGxB;IAED,SAAgB,KAAK,UAAiG;IACtH,IAAI,IAAI,IAAI,OAAO,CAGlB;IAED,SAAgB,OAAO,YAAmG;IAC1H,IAAI,MAAM,IAAI,SAAS,CAGtB;IACD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwG;IACrI,IAAI,WAAW,IAAI,QAAQ,CAG1B;IAED,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,eAAe;IAOrD,eAAe,CAAC,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,QAAQ;IAM3E,gBAAuB,QAAQ,wBAA+B;CACjE;AAGD,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC;AAE9B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC;AAE3B,8BAAsB,IAAK,SAAQ,QAAQ;CAC1C;AAED,MAAM,WAAW,MAAO,SAAQ,SAAS;IACrC,IAAI,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"LionCore_builtins.g.d.ts","sourceRoot":"","sources":["../src/LionCore_builtins.g.ts"],"names":[],"mappings":"AA6BA,OAAO,EAEH,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACX,MAAM,eAAe,CAAC;AAMvB,OAAO,EACH,aAAa,EACb,aAAa,EACb,SAAS,EACT,QAAQ,EACR,eAAe,EAClB,MAAM,YAAY,CAAC;AAGpB,qBAAa,qBAAsB,YAAW,aAAa;IAEvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmG;IAC7H,IAAI,QAAQ,IAAI,QAAQ,CAGvB;IAED,SAAgB,OAAO,gBAAuG;IAC9H,IAAI,MAAM,IAAI,aAAa,CAG1B;IAED,SAAgB,QAAQ,gBAA0G;IAClI,IAAI,OAAO,IAAI,aAAa,CAG3B;IAED,SAAgB,QAAQ,gBAA0G;IAClI,IAAI,OAAO,IAAI,aAAa,CAG3B;IAED,SAAgB,KAAK,gBAAiG;IACtH,IAAI,IAAI,IAAI,aAAa,CAGxB;IAED,SAAgB,KAAK,UAAiG;IACtH,IAAI,IAAI,IAAI,OAAO,CAGlB;IAED,SAAgB,OAAO,YAAmG;IAC1H,IAAI,MAAM,IAAI,SAAS,CAGtB;IACD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwG;IACrI,IAAI,WAAW,IAAI,QAAQ,CAG1B;IAED,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,eAAe;IAOvD,eAAe,CAAC,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,QAAQ;IAM3E,gBAAuB,QAAQ,wBAA+B;CACjE;AAGD,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC;AAE9B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC;AAE3B,8BAAsB,IAAK,SAAQ,QAAQ;CAC1C;AAED,MAAM,WAAW,MAAO,SAAQ,SAAS;IACrC,IAAI,EAAE,MAAM,CAAC;CAChB"}
@@ -78,7 +78,7 @@ export class LionCore_builtinsBase {
78
78
  this._INamed_name.ofType(this._String);
79
79
  this._wiredUp = true;
80
80
  }
81
- factory(_handleDelta) {
81
+ factory(_receiveDelta) {
82
82
  return (classifier, _id) => {
83
83
  const { language } = classifier;
84
84
  throw new Error(`can't instantiate ${classifier.name} (key=${classifier.key}): classifier is not known in language ${language.name} (key=${language.key}, version=${language.version})`);
@@ -1 +1 @@
1
- {"version":3,"file":"LionCore_builtins.g.js","sourceRoot":"","sources":["../src/LionCore_builtins.g.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LionCore_builtins.g.js","sourceRoot":"","sources":["../src/LionCore_builtins.g.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Classifier, Containment, EnumerationLiteral, Feature, Language, Node, Property, Reference } from "@lionweb/core";
2
2
  import { LionWebId } from "@lionweb/json";
3
- import { AnnotationsValueManager, ContainmentValueManager, DeltaHandler, FeatureValueManager, PropertyValueManager, ReferenceValueManager } from "./index.js";
3
+ import { AnnotationsValueManager, ContainmentValueManager, DeltaReceiver, FeatureValueManager, PropertyValueManager, ReferenceValueManager } from "./index.js";
4
4
  /**
5
5
  * Encodes how a {@link INodeBase} is contained by a parent.
6
6
  * If the {@code containingFeature} is {@code null}, the {@link INodeBase} is an annotation
@@ -109,9 +109,9 @@ export interface INodeBase extends Node {
109
109
  */
110
110
  get referenceTargets(): INodeBase[];
111
111
  /**
112
- * An optionally-installed {@link DeltaHandler}.
112
+ * An optionally-installed {@link DeltaReceiver}.
113
113
  */
114
- handleDelta?: DeltaHandler;
114
+ receiveDelta?: DeltaReceiver;
115
115
  /**
116
116
  * A message to indicate this node's meta-type (including originating language) and its ID.
117
117
  */
@@ -120,7 +120,7 @@ export interface INodeBase extends Node {
120
120
  /**
121
121
  * The base type for any node that's managed by a, potentially delta-emitting, API.
122
122
  *
123
- * It receives a {@link DeltaHandler} to pass {@link IDelta deltas} to
123
+ * It receives a {@link DeltaReceiver} to pass {@link IDelta deltas} to
124
124
  * that occur due to changes to values of its features,
125
125
  * as well as moving among parents and deletion.
126
126
  *
@@ -130,13 +130,13 @@ export interface INodeBase extends Node {
130
130
  export declare abstract class NodeBase implements INodeBase {
131
131
  readonly classifier: Classifier;
132
132
  readonly id: LionWebId;
133
- readonly handleDelta?: DeltaHandler | undefined;
133
+ readonly receiveDelta?: DeltaReceiver | undefined;
134
134
  private _parentage?;
135
135
  get parent(): INodeBase | undefined;
136
136
  get containment(): Containment | null | undefined;
137
137
  attachTo(parent: INodeBase, containingFeature: Containment | null): void;
138
138
  detach(): void;
139
- protected constructor(classifier: Classifier, id: LionWebId, handleDelta?: DeltaHandler | undefined, parentage?: Parentage);
139
+ protected constructor(classifier: Classifier, id: LionWebId, receiveDelta?: DeltaReceiver | undefined, parentage?: Parentage);
140
140
  get locationMessage(): string;
141
141
  getPropertyValueManager(property: Property): PropertyValueManager<unknown>;
142
142
  getContainmentValueManager(containment: Containment): ContainmentValueManager<INodeBase>;
@@ -166,11 +166,7 @@ export type NodeBaseFactory = (classifier: Classifier, id: LionWebId) => INodeBa
166
166
  */
167
167
  export interface ILanguageBase {
168
168
  language: Language;
169
- factory(handleDelta?: DeltaHandler): NodeBaseFactory;
169
+ factory(receiveDelta?: DeltaReceiver): NodeBaseFactory;
170
170
  enumLiteralFrom<T>(enumerationLiteral: EnumerationLiteral): T;
171
171
  }
172
- /**
173
- * Removes the given child node from its parent, and returns its containment index.
174
- */
175
- export declare const removeFromParent: (parent: INodeBase | undefined, child: INodeBase) => number;
176
172
  //# sourceMappingURL=base-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../src/base-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../src/base-types.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ import { AnnotationsValueManager, MultiContainmentValueManager, MultiReferenceVa
21
21
  /**
22
22
  * The base type for any node that's managed by a, potentially delta-emitting, API.
23
23
  *
24
- * It receives a {@link DeltaHandler} to pass {@link IDelta deltas} to
24
+ * It receives a {@link DeltaReceiver} to pass {@link IDelta deltas} to
25
25
  * that occur due to changes to values of its features,
26
26
  * as well as moving among parents and deletion.
27
27
  *
@@ -44,10 +44,10 @@ export class NodeBase {
44
44
  detach() {
45
45
  this._parentage = undefined;
46
46
  }
47
- constructor(classifier, id, handleDelta, parentage) {
47
+ constructor(classifier, id, receiveDelta, parentage) {
48
48
  this.classifier = classifier;
49
49
  this.id = id;
50
- this.handleDelta = handleDelta;
50
+ this.receiveDelta = receiveDelta;
51
51
  this.annotationsValueManager = new AnnotationsValueManager(this);
52
52
  this.classifier = classifier;
53
53
  this.id = id;
@@ -134,29 +134,4 @@ export class NodeBase {
134
134
  this.annotationsValueManager.remove(annotation);
135
135
  }
136
136
  }
137
- /**
138
- * Removes the given child node from its parent, and returns its containment index.
139
- */
140
- export const removeFromParent = (parent, child) => {
141
- if (parent === undefined) {
142
- throw new Error(`can't remove an orphan from its parent`);
143
- }
144
- if (child.containment instanceof Containment) {
145
- const valueManager = parent.getContainmentValueManager(child.containment);
146
- if (valueManager instanceof SingleContainmentValueManager) {
147
- valueManager.setDirectly(undefined);
148
- return 0;
149
- }
150
- else if (valueManager instanceof MultiContainmentValueManager) {
151
- return valueManager.removeDirectly(child);
152
- }
153
- else {
154
- throw new Error(`don't know how to remove a child that's contained through a value manager of type ${valueManager.constructor.name}`);
155
- }
156
- }
157
- if (child.containment === null) {
158
- return parent.annotationsValueManager.removeDirectly(child);
159
- }
160
- throw new Error(`not going to remove a child from its parent without knowing how it's contained`);
161
- };
162
137
  //# sourceMappingURL=base-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-types.js","sourceRoot":"","sources":["../src/base-types.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EACH,aAAa,EAIb,WAAW,EAKX,QAAQ,EACR,SAAS,EACZ,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAErC,OAAO,EACH,uBAAuB,EAIvB,4BAA4B,EAC5B,0BAA0B,EAG1B,6BAA6B,EAC7B,2BAA2B,EAC9B,MAAM,YAAY,CAAA;AAoJnB;;;;;;;;;GASG;AACH,MAAM,OAAgB,QAAQ;IAG1B,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IAEH,QAAQ,CAAC,MAAiB,EAAE,iBAAqC;QAC7D,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAGD,YAA+B,UAAsB,EAAW,EAAa,EAAW,WAA0B,EAAE,SAAqB;QAA1G,eAAU,GAAV,UAAU,CAAY;QAAW,OAAE,GAAF,EAAE,CAAW;QAAW,gBAAW,GAAX,WAAW,CAAe;QAgFzG,4BAAuB,GAA4B,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QA/E1F,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,eAAe;QACf,OAAO,eAAe,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,EAAE,CAAC;IACrG,CAAC;IAGD,uBAAuB,CAAC,QAAkB;QACtC,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,IAAI,eAAe,QAAQ,CAAC,GAAG,sBAAsB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACjI,CAAC;IAED,0BAA0B,CAAC,WAAwB;QAC/C,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,CAAC,IAAI,eAAe,WAAW,CAAC,GAAG,sBAAsB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1I,CAAC;IAED,wBAAwB,CAAC,SAAoB;QACzC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,IAAI,eAAe,SAAS,CAAC,GAAG,sBAAsB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACpI,CAAC;IAED,sBAAsB,CAAC,OAAgB;QACnC,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,YAAY,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7E,CAAC;IAGD,IAAI,WAAW;QACX,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;aAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,YAAY,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,WAAW;iBACf,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,YAAY,WAAW,CAAC;iBACnD,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACjB,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAsB,CAAC,CAAC;gBAC7E,IAAI,YAAY,YAAY,6BAA6B,EAAE,CAAC;oBACxD,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,CAAC;gBACD,IAAI,YAAY,YAAY,4BAA4B,EAAE,CAAC;oBACvD,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC;gBAC9B,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,CAAC,IAAI,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,gBAAgB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACpK,CAAC,CAAC,CAAC;YACP,GAAG,IAAI,CAAC,WAAW;SACtB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,YAAY,CACf,IAAI,CAAC,WAAW;aACX,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,YAAY,SAAS,CAAC;aACjD,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACjB,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAoB,CAAC,CAAC;YACzE,IAAI,YAAY,YAAY,2BAA2B,EAAE,CAAC;gBACtD,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,CAAC;YACD,IAAI,YAAY,YAAY,0BAA0B,EAAE,CAAC;gBACrD,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,CAAC,IAAI,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,gBAAgB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACpK,CAAC,CAAC,CACT,CAAC;IACN,CAAC;IAGD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,UAAqB;QAC/B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,uBAAuB,CAAC,UAAqB,EAAE,KAAa;QACxD,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,QAAgB,EAAE,QAAgB;QAC7C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,wBAAwB,CAAC,UAAqB,EAAE,KAAa;QACzD,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB,CAAC,UAAqB;QAClC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CAEJ;AAsBD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAA6B,EAAE,KAAgB,EAAU,EAAE;IACxF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,YAAY,WAAW,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,YAAY,YAAY,6BAA6B,EAAE,CAAC;YACxD,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,YAAY,YAAY,4BAA4B,EAAE,CAAC;YAC9D,OAAO,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,qFAAqF,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1I,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;AACtG,CAAC,CAAA"}
1
+ {"version":3,"file":"base-types.js","sourceRoot":"","sources":["../src/base-types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ReferenceValue } from "@lionweb/core";
2
2
  import { LionWebId } from "@lionweb/json";
3
3
  import { NodeDuplicator } from "./duplicator.js";
4
- import { DeltaHandler, IdMapping, ILanguageBase, INodeBase } from "./index.js";
4
+ import { DeltaReceiver, IdMapping, ILanguageBase, INodeBase } from "./index.js";
5
5
  /**
6
6
  * @return all descendant nodes from the given node, including that node itself.
7
7
  */
@@ -23,9 +23,9 @@ export declare const incomingReferences: (targetNodeOrNodes: INodeBase | INodeBa
23
23
  * *without* generating new IDs.
24
24
  * @param languageBases the {@link ILanguageBase language bases} of the languages that the nodes might come from
25
25
  * — these are necessary for their factories
26
- * @param handleDelta an optional {@link DeltaHandler} that gets installed on the deep-cloned nodes
26
+ * @param receiveDelta an optional {@link DeltaReceiver} that gets installed on the deep-cloned nodes
27
27
  */
28
- export declare const deepClonerFor: (languageBases: ILanguageBase[], handleDelta?: DeltaHandler) => import("./duplicator.js").Duplicator;
28
+ export declare const deepClonerFor: (languageBases: ILanguageBase[], receiveDelta?: DeltaReceiver) => import("./duplicator.js").Duplicator;
29
29
  /**
30
30
  * Type definition for functions that compute a – not necessarily new – ID from a given original {@link INodeBase node}.
31
31
  */
@@ -34,17 +34,17 @@ export type NewIdFunction = (originalNode: INodeBase) => LionWebId;
34
34
  * @return a {@link NodeDuplicator} function that does the “obvious” thing, given the parameters:
35
35
  * @param languageBases an array of languages in the form of {@link ILanguageBase}s
36
36
  * @param newIdFunc a function that computes a – not necessarily new – ID from a given original {@link INodeBase node}
37
- * @param handleDelta an optional {@link DeltaHandler}
37
+ * @param receiveDelta an optional {@link DeltaReceiver}
38
38
  * @param idMapping an optional {@link IdMapping}
39
39
  */
40
- export declare const defaultNodeDuplicatorFor: (languageBases: ILanguageBase[], newIdFunc: NewIdFunction, handleDelta?: DeltaHandler, idMapping?: IdMapping) => NodeDuplicator;
40
+ export declare const defaultNodeDuplicatorFor: (languageBases: ILanguageBase[], newIdFunc: NewIdFunction, receiveDelta?: DeltaReceiver, idMapping?: IdMapping) => NodeDuplicator;
41
41
  /**
42
42
  * @return a function that deep-duplicates the given nodes (of type {@link INodeBase}),
43
43
  * computing IDs using the `newIdFunc` function passed as the 2nd argument.
44
44
  * @param languageBases the {@link ILanguageBase language bases} of the languages that the nodes might come from
45
45
  * — these are necessary for their factories
46
46
  * @param newIdFunc a function that computes a – not necessarily new – ID from a given original {@link INodeBase node}
47
- * @param handleDelta an optional {@link DeltaHandler} that gets installed on the deep-cloned nodes
47
+ * @param receiveDelta an optional {@link DeltaReceiver} that gets installed on the deep-cloned nodes
48
48
  */
49
- export declare const deepDuplicatorFor: (languageBases: ILanguageBase[], newIdFunc: NewIdFunction, handleDelta?: DeltaHandler, idMapping?: IdMapping) => import("./duplicator.js").Duplicator;
49
+ export declare const deepDuplicatorFor: (languageBases: ILanguageBase[], newIdFunc: NewIdFunction, receiveDelta?: DeltaReceiver, idMapping?: IdMapping) => import("./duplicator.js").Duplicator;
50
50
  //# sourceMappingURL=convenience.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convenience.d.ts","sourceRoot":"","sources":["../src/convenience.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA8C,cAAc,EAAE,MAAM,eAAe,CAAA;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAqB,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAIjG;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,SAAS,KAAG,SAAS,EAS3D,CAAA;AAGD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAAI,mBAAmB,SAAS,GAAG,SAAS,EAAE,EAAE,kBAAkB,SAAS,EAAE,KAAG,cAAc,CAAC,SAAS,CAAC,EACrC,CAAC;AAGpG;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,eAAe,aAAa,EAAE,EAAE,cAAc,YAAY,yCACJ,CAAC;AAGrF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,SAAS,KAAK,SAAS,CAAC;AAGnE;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,eAAe,aAAa,EAAE,EAAE,WAAW,aAAa,EAAE,cAAc,YAAY,EAAE,YAAY,SAAS,KAAG,cAMlJ,CAAC;AAGN;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,eAAe,aAAa,EAAE,EAAE,WAAW,aAAa,EAAE,cAAc,YAAY,EAAE,YAAY,SAAS,yCAC5C,CAAC"}
1
+ {"version":3,"file":"convenience.d.ts","sourceRoot":"","sources":["../src/convenience.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA8C,cAAc,EAAE,MAAM,eAAe,CAAA;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAqB,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAIlG;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,SAAS,KAAG,SAAS,EAS3D,CAAA;AAGD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAAI,mBAAmB,SAAS,GAAG,SAAS,EAAE,EAAE,kBAAkB,SAAS,EAAE,KAAG,cAAc,CAAC,SAAS,CAAC,EACrC,CAAC;AAGpG;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,eAAe,aAAa,EAAE,EAAE,eAAe,aAAa,yCACL,CAAC;AAGtF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,SAAS,KAAK,SAAS,CAAC;AAGnE;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,eAAe,aAAa,EAAE,EAAE,WAAW,aAAa,EAAE,eAAe,aAAa,EAAE,YAAY,SAAS,KAAG,cAMpJ,CAAC;AAGN;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,eAAe,aAAa,EAAE,EAAE,WAAW,aAAa,EAAE,eAAe,aAAa,EAAE,YAAY,SAAS,yCAC7C,CAAC"}
@@ -47,19 +47,19 @@ export const incomingReferences = (targetNodeOrNodes, rootNodesInScope) => lwInc
47
47
  * *without* generating new IDs.
48
48
  * @param languageBases the {@link ILanguageBase language bases} of the languages that the nodes might come from
49
49
  * — these are necessary for their factories
50
- * @param handleDelta an optional {@link DeltaHandler} that gets installed on the deep-cloned nodes
50
+ * @param receiveDelta an optional {@link DeltaReceiver} that gets installed on the deep-cloned nodes
51
51
  */
52
- export const deepClonerFor = (languageBases, handleDelta) => deepDuplicatorFor(languageBases, (originalNode) => originalNode.id, handleDelta);
52
+ export const deepClonerFor = (languageBases, receiveDelta) => deepDuplicatorFor(languageBases, (originalNode) => originalNode.id, receiveDelta);
53
53
  /**
54
54
  * @return a {@link NodeDuplicator} function that does the “obvious” thing, given the parameters:
55
55
  * @param languageBases an array of languages in the form of {@link ILanguageBase}s
56
56
  * @param newIdFunc a function that computes a – not necessarily new – ID from a given original {@link INodeBase node}
57
- * @param handleDelta an optional {@link DeltaHandler}
57
+ * @param receiveDelta an optional {@link DeltaReceiver}
58
58
  * @param idMapping an optional {@link IdMapping}
59
59
  */
60
- export const defaultNodeDuplicatorFor = (languageBases, newIdFunc, handleDelta, idMapping) => (originalNode) => {
60
+ export const defaultNodeDuplicatorFor = (languageBases, newIdFunc, receiveDelta, idMapping) => (originalNode) => {
61
61
  const languageBase = languageBases.find((languageBase) => languageBase.language === originalNode.classifier.language);
62
- const duplicatedNode = languageBase.factory(handleDelta)(originalNode.classifier, newIdFunc(originalNode));
62
+ const duplicatedNode = languageBase.factory(receiveDelta)(originalNode.classifier, newIdFunc(originalNode));
63
63
  idMapping?.updateWith(duplicatedNode);
64
64
  return [duplicatedNode, originalNode.setFeatures];
65
65
  };
@@ -69,7 +69,7 @@ export const defaultNodeDuplicatorFor = (languageBases, newIdFunc, handleDelta,
69
69
  * @param languageBases the {@link ILanguageBase language bases} of the languages that the nodes might come from
70
70
  * — these are necessary for their factories
71
71
  * @param newIdFunc a function that computes a – not necessarily new – ID from a given original {@link INodeBase node}
72
- * @param handleDelta an optional {@link DeltaHandler} that gets installed on the deep-cloned nodes
72
+ * @param receiveDelta an optional {@link DeltaReceiver} that gets installed on the deep-cloned nodes
73
73
  */
74
- export const deepDuplicatorFor = (languageBases, newIdFunc, handleDelta, idMapping) => deepDuplicateWith(defaultNodeDuplicatorFor(languageBases, newIdFunc, handleDelta, idMapping));
74
+ export const deepDuplicatorFor = (languageBases, newIdFunc, receiveDelta, idMapping) => deepDuplicateWith(defaultNodeDuplicatorFor(languageBases, newIdFunc, receiveDelta, idMapping));
75
75
  //# sourceMappingURL=convenience.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convenience.js","sourceRoot":"","sources":["../src/convenience.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,kBAAkB,IAAI,oBAAoB,EAAkB,MAAM,eAAe,CAAA;AAG1F,OAAO,EAAE,iBAAiB,EAAqD,MAAM,YAAY,CAAA;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGhD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAmB,EAAe,EAAE;IAC7D,MAAM,KAAK,GAAgB,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,IAAe,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACxB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAA;IACD,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAGD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,iBAA0C,EAAE,gBAA6B,EAA+B,EAAE,CACzI,oBAAoB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC;AAGpG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,aAA8B,EAAE,WAA0B,EAAE,EAAE,CACxF,iBAAiB,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;AASrF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,aAA8B,EAAE,SAAwB,EAAE,WAA0B,EAAE,SAAqB,EAAkB,EAAE,CACpK,CAAC,YAAuB,EAAE,EAAE;IACxB,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,KAAK,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAE,CAAC;IACvH,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3G,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACtC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC,CAAC;AAGN;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAA8B,EAAE,SAAwB,EAAE,WAA0B,EAAE,SAAqB,EAAE,EAAE,CAC7I,iBAAiB,CAAC,wBAAwB,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"convenience.js","sourceRoot":"","sources":["../src/convenience.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,kBAAkB,IAAI,oBAAoB,EAAkB,MAAM,eAAe,CAAA;AAG1F,OAAO,EAAE,iBAAiB,EAAsD,MAAM,YAAY,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGhD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAmB,EAAe,EAAE;IAC7D,MAAM,KAAK,GAAgB,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,IAAe,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACxB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAA;IACD,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAGD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,iBAA0C,EAAE,gBAA6B,EAA+B,EAAE,CACzI,oBAAoB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC;AAGpG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,aAA8B,EAAE,YAA4B,EAAE,EAAE,CAC1F,iBAAiB,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;AAStF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,aAA8B,EAAE,SAAwB,EAAE,YAA4B,EAAE,SAAqB,EAAkB,EAAE,CACtK,CAAC,YAAuB,EAAE,EAAE;IACxB,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,KAAK,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAE,CAAC;IACvH,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5G,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACtC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC,CAAC;AAGN;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAA8B,EAAE,SAAwB,EAAE,YAA4B,EAAE,SAAqB,EAAE,EAAE,CAC/I,iBAAiB,CAAC,wBAAwB,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC"}
@@ -17,7 +17,7 @@ export declare const applyDelta: (delta: IDelta) => void;
17
17
  * @usage should look as follows.
18
18
  *
19
19
  * ```typescript
20
- * const {roots, idMapping} = deserializeAsLDMModelWithMapping(serializationChunk, handleDelta);
20
+ * const {roots, idMapping} = deserializeAsLDMModelWithMapping(serializationChunk, receiveDelta);
21
21
  * applyDeltasWithLookup(idMapping, deltas);
22
22
  * ```
23
23
  */
@@ -29,7 +29,7 @@ export declare const applyDeltasWithLookup: (idMapping: IdMapping, deltas: IDelt
29
29
  * @usage should look as follows.
30
30
  *
31
31
  * ```typescript
32
- * const {roots, idMapping} = deserializeAsLDMModelWithMapping(serializationChunk, handleDelta);
32
+ * const {roots, idMapping} = deserializeAsLDMModelWithMapping(serializationChunk, receiveDelta);
33
33
  * applyDeltaWithLookup(idMapping, delta);
34
34
  * ```
35
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"appliers.d.ts","sourceRoot":"","sources":["../../src/deltas/appliers.ts"],"names":[],"mappings":"AAyDA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAqYlC;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,KAAG,IAE9C,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,UAAU,UArYX,MAAM,KAAG,IAqYmB,CAAA;AAGxC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,GAAI,WAAW,SAAS,EAAE,QAAQ,MAAM,EAAE,EAAE,sBAAsB,MAAM,SAAS,EAAE,KAAG,IAEvH,CAAC;AAGF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS,EAAE,OAAO,MAAM,EAAE,sBAAsB,MAAM,SAAS,EAAE,KAAG,IAC7D,CAAA;AAGvD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,WAAW,SAAS,EAAE,OAAO,MAAM,SAW3E,CAAC"}
1
+ {"version":3,"file":"appliers.d.ts","sourceRoot":"","sources":["../../src/deltas/appliers.ts"],"names":[],"mappings":"AAyDA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAqYlC;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,KAAG,IAE9C,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,UAAU,UArYX,MAAM,KAAG,IAqYmB,CAAA;AAGxC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,GAAI,WAAW,SAAS,EAAE,QAAQ,MAAM,EAAE,EAAE,sBAAsB,MAAM,SAAS,EAAE,KAAG,IAEvH,CAAC;AAGF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS,EAAE,OAAO,MAAM,EAAE,sBAAsB,MAAM,SAAS,EAAE,KAAG,IAC7D,CAAA;AAGvD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,WAAW,SAAS,EAAE,OAAO,MAAM,SAc3E,CAAC"}
@@ -437,7 +437,7 @@ export const applyDelta = deltaApplier();
437
437
  * @usage should look as follows.
438
438
  *
439
439
  * ```typescript
440
- * const {roots, idMapping} = deserializeAsLDMModelWithMapping(serializationChunk, handleDelta);
440
+ * const {roots, idMapping} = deserializeAsLDMModelWithMapping(serializationChunk, receiveDelta);
441
441
  * applyDeltasWithLookup(idMapping, deltas);
442
442
  * ```
443
443
  */
@@ -451,7 +451,7 @@ export const applyDeltasWithLookup = (idMapping, deltas, updatablePartitions) =>
451
451
  * @usage should look as follows.
452
452
  *
453
453
  * ```typescript
454
- * const {roots, idMapping} = deserializeAsLDMModelWithMapping(serializationChunk, handleDelta);
454
+ * const {roots, idMapping} = deserializeAsLDMModelWithMapping(serializationChunk, receiveDelta);
455
455
  * applyDeltaWithLookup(idMapping, delta);
456
456
  * ```
457
457
  */
@@ -471,6 +471,9 @@ export const updateIdMappingWithDelta = (idMapping, delta) => {
471
471
  if (delta instanceof AnnotationAddedDelta) {
472
472
  idMapping.updateWith(delta.newAnnotation);
473
473
  }
474
+ if (delta instanceof PartitionAddedDelta) {
475
+ idMapping.updateWith(delta.newPartition);
476
+ }
474
477
  // (nothing to be done: no need –yet?- to take deleted child nodes out of the ID mapping)
475
478
  };
476
479
  //# sourceMappingURL=appliers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"appliers.js","sourceRoot":"","sources":["../../src/deltas/appliers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appliers.js","sourceRoot":"","sources":["../../src/deltas/appliers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { DeltaReceiver } from "../index.js";
2
+ /**
3
+ * A <em>delta compositor</em> is used to <em>aggregate</em> deltas as {@link CompositeDelta composite deltas}.
4
+ *
5
+ * Usage:
6
+ * ```typescript
7
+ * const compositor = new Compositor(downstreamReceiveDelta);
8
+ * compositor.openComposite();
9
+ * // ...
10
+ * compositor.upstreamReceiveDelta(<delta>);
11
+ * // ...
12
+ * compositor.closeComposite();
13
+ * ```
14
+ */
15
+ export declare class DeltaCompositor {
16
+ private readonly downstreamReceiveDelta;
17
+ private readonly maximumNestingDepth;
18
+ /**
19
+ * The {@link DeltaReceiver} implementation that either forwards to the given downstream delta handle
20
+ * or gathers deltas into composite deltas to forward to the downstream delta receiver later.
21
+ */
22
+ readonly upstreamReceiveDelta: DeltaReceiver;
23
+ /**
24
+ * An array of arrays of {@link IDelta deltas}, comprising a “stack”.
25
+ *
26
+ * Invariants:
27
+ * - (I1) composite has been opened &hArr; `this.deltasInComposite !== undefined` / `Array.isArray(this.deltasInComposite)`
28
+ * - (I2) this.deltasStack is either undefined or an array containing at least one array
29
+ */
30
+ private deltasStack;
31
+ /**
32
+ * @param downstreamReceiveDelta the {@link DeltaReceiver} that deltas get passed to.
33
+ * @param maximumNestingDepth the maximum depth that composites can be nested.
34
+ * A maximum depth of e.g. 1 means that at most 1 composite can be open at any time.
35
+ */
36
+ constructor(downstreamReceiveDelta: DeltaReceiver, maximumNestingDepth?: number);
37
+ /**
38
+ * Opens a composite, meaning that all deltas passed to the {@link upstreamReceiveDelta} are gathered into a composite delta
39
+ * that gets forwarded to the downstream delta receiver as soon as the composite is closed.
40
+ *
41
+ * Composites can be nested, to the maximum depth configured through this class’ constructor,
42
+ * beyond which an error gets thrown.
43
+ */
44
+ openComposite: () => void;
45
+ /**
46
+ * Closes the current composite, producing the deltas gathered for this composite into a composite delta.
47
+ * Composites can be nested, and deltas only get forwarded to the downstream delta receiver after the top-level composite has been closed.
48
+ */
49
+ closeComposite: () => void;
50
+ }
51
+ //# sourceMappingURL=compositor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compositor.d.ts","sourceRoot":"","sources":["../../src/deltas/compositor.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAkB,aAAa,EAAU,MAAM,aAAa,CAAA;AAGnE;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAe;IAsBZ,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAAiB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IApBxG;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAE7C;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,CAAqC;IAExD;;;;OAIG;gBAC0B,sBAAsB,EAAE,aAAa,EAAmB,mBAAmB,GAAE,MAAiB;IAe3H;;;;;;OAMG;IACH,aAAa,QAAO,IAAI,CAQvB;IAED;;;OAGG;IACH,cAAc,QAAO,IAAI,CAYxB;CAEJ"}