@lionweb/class-core 0.7.0-beta.11 → 0.7.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/README.md +6 -6
- package/dist/LionCore_builtins.g.d.ts +2 -2
- package/dist/LionCore_builtins.g.d.ts.map +1 -1
- package/dist/LionCore_builtins.g.js +1 -1
- package/dist/LionCore_builtins.g.js.map +1 -1
- package/dist/base-types.d.ts +7 -7
- package/dist/base-types.d.ts.map +1 -1
- package/dist/base-types.js +3 -3
- package/dist/base-types.js.map +1 -1
- package/dist/convenience.d.ts +7 -7
- package/dist/convenience.d.ts.map +1 -1
- package/dist/convenience.js +7 -7
- package/dist/convenience.js.map +1 -1
- package/dist/deltas/appliers.d.ts +2 -2
- package/dist/deltas/appliers.d.ts.map +1 -1
- package/dist/deltas/appliers.js +5 -2
- package/dist/deltas/appliers.js.map +1 -1
- package/dist/deltas/compositor.d.ts +51 -0
- package/dist/deltas/compositor.d.ts.map +1 -0
- package/dist/deltas/compositor.js +95 -0
- package/dist/deltas/compositor.js.map +1 -0
- package/dist/deltas/index.d.ts +2 -1
- package/dist/deltas/index.d.ts.map +1 -1
- package/dist/deltas/index.js +2 -1
- package/dist/deltas/index.js.map +1 -1
- package/dist/deltas/receivers.d.ts +39 -0
- package/dist/deltas/receivers.d.ts.map +1 -0
- package/dist/deltas/receivers.js +59 -0
- package/dist/deltas/receivers.js.map +1 -0
- package/dist/deserializer.d.ts +5 -5
- package/dist/deserializer.d.ts.map +1 -1
- package/dist/deserializer.js +8 -8
- package/dist/deserializer.js.map +1 -1
- package/dist/factory.d.ts +2 -2
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +2 -2
- package/dist/factory.js.map +1 -1
- package/dist/value-managers/base.d.ts +2 -2
- package/dist/value-managers/base.js +4 -4
- package/dist/value-managers/base.js.map +1 -1
- package/package.json +4 -4
- package/src/LionCore_builtins.g.ts +2 -2
- package/src/base-types.ts +6 -6
- package/src/convenience.ts +10 -10
- package/src/deltas/appliers.ts +5 -2
- package/src/deltas/compositor.ts +107 -0
- package/src/deltas/index.ts +3 -1
- package/src/deltas/receivers.ts +91 -0
- package/src/deserializer.ts +9 -9
- package/src/factory.ts +3 -3
- package/src/value-managers/base.ts +4 -4
- package/dist/deltas/handlers.d.ts +0 -17
- package/dist/deltas/handlers.d.ts.map +0 -1
- package/dist/deltas/handlers.js +0 -43
- package/dist/deltas/handlers.js.map +0 -1
- package/src/deltas/handlers.ts +0 -64
package/CHANGELOG.md
CHANGED
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
* annotations: `moveAndReplaceAtIndex[Directly]`
|
|
11
11
|
* containments: `replace{With|AtIndex}`
|
|
12
12
|
* references: `removeAtIndexDirectly`, `moveAndReplaceDirectly`
|
|
13
|
-
|
|
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`)
|
|
14
17
|
|
|
15
18
|
## 0.6.13
|
|
16
19
|
|
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 `
|
|
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 `
|
|
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 `
|
|
55
|
-
Such a function has to be passed to invocations `<concrete classifier>.create(<id>, <
|
|
56
|
-
Such a place is recognizable from the presence of an argument `
|
|
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 `
|
|
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 {
|
|
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(
|
|
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,
|
|
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(
|
|
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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"}
|
package/dist/base-types.d.ts
CHANGED
|
@@ -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,
|
|
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
|
|
112
|
+
* An optionally-installed {@link DeltaReceiver}.
|
|
113
113
|
*/
|
|
114
|
-
|
|
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
|
|
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
|
|
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,
|
|
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,7 +166,7 @@ export type NodeBaseFactory = (classifier: Classifier, id: LionWebId) => INodeBa
|
|
|
166
166
|
*/
|
|
167
167
|
export interface ILanguageBase {
|
|
168
168
|
language: Language;
|
|
169
|
-
factory(
|
|
169
|
+
factory(receiveDelta?: DeltaReceiver): NodeBaseFactory;
|
|
170
170
|
enumLiteralFrom<T>(enumerationLiteral: EnumerationLiteral): T;
|
|
171
171
|
}
|
|
172
172
|
/**
|
package/dist/base-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../src/base-types.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEH,UAAU,EAGV,WAAW,EACX,kBAAkB,EAClB,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../src/base-types.ts"],"names":[],"mappings":"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"}
|
package/dist/base-types.js
CHANGED
|
@@ -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
|
|
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,
|
|
47
|
+
constructor(classifier, id, receiveDelta, parentage) {
|
|
48
48
|
this.classifier = classifier;
|
|
49
49
|
this.id = id;
|
|
50
|
-
this.
|
|
50
|
+
this.receiveDelta = receiveDelta;
|
|
51
51
|
this.annotationsValueManager = new AnnotationsValueManager(this);
|
|
52
52
|
this.classifier = classifier;
|
|
53
53
|
this.id = id;
|
package/dist/base-types.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"base-types.js","sourceRoot":"","sources":["../src/base-types.ts"],"names":[],"mappings":"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"}
|
package/dist/convenience.d.ts
CHANGED
|
@@ -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 {
|
|
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
|
|
26
|
+
* @param receiveDelta an optional {@link DeltaReceiver} that gets installed on the deep-cloned nodes
|
|
27
27
|
*/
|
|
28
|
-
export declare const deepClonerFor: (languageBases: ILanguageBase[],
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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"}
|
package/dist/convenience.js
CHANGED
|
@@ -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
|
|
50
|
+
* @param receiveDelta an optional {@link DeltaReceiver} that gets installed on the deep-cloned nodes
|
|
51
51
|
*/
|
|
52
|
-
export const deepClonerFor = (languageBases,
|
|
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
|
|
57
|
+
* @param receiveDelta an optional {@link DeltaReceiver}
|
|
58
58
|
* @param idMapping an optional {@link IdMapping}
|
|
59
59
|
*/
|
|
60
|
-
export const defaultNodeDuplicatorFor = (languageBases, newIdFunc,
|
|
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(
|
|
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
|
|
72
|
+
* @param receiveDelta an optional {@link DeltaReceiver} that gets installed on the deep-cloned nodes
|
|
73
73
|
*/
|
|
74
|
-
export const deepDuplicatorFor = (languageBases, newIdFunc,
|
|
74
|
+
export const deepDuplicatorFor = (languageBases, newIdFunc, receiveDelta, idMapping) => deepDuplicateWith(defaultNodeDuplicatorFor(languageBases, newIdFunc, receiveDelta, idMapping));
|
|
75
75
|
//# sourceMappingURL=convenience.js.map
|
package/dist/convenience.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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,
|
|
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,
|
|
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"}
|
package/dist/deltas/appliers.js
CHANGED
|
@@ -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,
|
|
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,
|
|
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 ⇔ `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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// Copyright 2025 TRUMPF Laser SE and other contributors
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
+
import { CompositeDelta } from "../index.js";
|
|
18
|
+
/**
|
|
19
|
+
* A <em>delta compositor</em> is used to <em>aggregate</em> deltas as {@link CompositeDelta composite deltas}.
|
|
20
|
+
*
|
|
21
|
+
* Usage:
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const compositor = new Compositor(downstreamReceiveDelta);
|
|
24
|
+
* compositor.openComposite();
|
|
25
|
+
* // ...
|
|
26
|
+
* compositor.upstreamReceiveDelta(<delta>);
|
|
27
|
+
* // ...
|
|
28
|
+
* compositor.closeComposite();
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export class DeltaCompositor {
|
|
32
|
+
/**
|
|
33
|
+
* @param downstreamReceiveDelta the {@link DeltaReceiver} that deltas get passed to.
|
|
34
|
+
* @param maximumNestingDepth the maximum depth that composites can be nested.
|
|
35
|
+
* A maximum depth of e.g. 1 means that at most 1 composite can be open at any time.
|
|
36
|
+
*/
|
|
37
|
+
constructor(downstreamReceiveDelta, maximumNestingDepth = Infinity) {
|
|
38
|
+
this.downstreamReceiveDelta = downstreamReceiveDelta;
|
|
39
|
+
this.maximumNestingDepth = maximumNestingDepth;
|
|
40
|
+
/**
|
|
41
|
+
* An array of arrays of {@link IDelta deltas}, comprising a “stack”.
|
|
42
|
+
*
|
|
43
|
+
* Invariants:
|
|
44
|
+
* - (I1) composite has been opened ⇔ `this.deltasInComposite !== undefined` / `Array.isArray(this.deltasInComposite)`
|
|
45
|
+
* - (I2) this.deltasStack is either undefined or an array containing at least one array
|
|
46
|
+
*/
|
|
47
|
+
this.deltasStack = undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Opens a composite, meaning that all deltas passed to the {@link upstreamReceiveDelta} are gathered into a composite delta
|
|
50
|
+
* that gets forwarded to the downstream delta receiver as soon as the composite is closed.
|
|
51
|
+
*
|
|
52
|
+
* Composites can be nested, to the maximum depth configured through this class’ constructor,
|
|
53
|
+
* beyond which an error gets thrown.
|
|
54
|
+
*/
|
|
55
|
+
this.openComposite = () => {
|
|
56
|
+
if (this.deltasStack === undefined) {
|
|
57
|
+
this.deltasStack = []; // ==> (I1) + 1st half of (I2)
|
|
58
|
+
}
|
|
59
|
+
if (this.deltasStack.length >= this.maximumNestingDepth) {
|
|
60
|
+
throw new Error(`attempt occurred to start a nested composition exceeding the maximum nesting depth`);
|
|
61
|
+
}
|
|
62
|
+
this.deltasStack.push([]); // ==> 2nd half of (I2)
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Closes the current composite, producing the deltas gathered for this composite into a composite delta.
|
|
66
|
+
* Composites can be nested, and deltas only get forwarded to the downstream delta receiver after the top-level composite has been closed.
|
|
67
|
+
*/
|
|
68
|
+
this.closeComposite = () => {
|
|
69
|
+
if (this.deltasStack === undefined) {
|
|
70
|
+
throw new Error(`attempt occurred to finish a composite without one being started`);
|
|
71
|
+
}
|
|
72
|
+
const parts = this.deltasStack.pop(); // is an array because of (I2)
|
|
73
|
+
if (this.deltasStack.length === 0) { // last array popped from stack
|
|
74
|
+
this.deltasStack = undefined; // maintain (I2)
|
|
75
|
+
}
|
|
76
|
+
if (parts.length > 0) {
|
|
77
|
+
this.upstreamReceiveDelta(new CompositeDelta(parts));
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
if (maximumNestingDepth !== Infinity && (!Number.isInteger(maximumNestingDepth) || maximumNestingDepth < 0)) {
|
|
81
|
+
throw new Error(`maximum nesting depth must be a non-negative integer`);
|
|
82
|
+
}
|
|
83
|
+
this.upstreamReceiveDelta = (delta) => {
|
|
84
|
+
if (this.deltasStack === undefined) {
|
|
85
|
+
// pass on immediately:
|
|
86
|
+
this.downstreamReceiveDelta(delta);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
// store for later:
|
|
90
|
+
this.deltasStack[this.deltasStack.length - 1].push(delta); // (I2)
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=compositor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compositor.js","sourceRoot":"","sources":["../../src/deltas/compositor.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,cAAc,EAAyB,MAAM,aAAa,CAAA;AAGnE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAe;IAiBxB;;;;OAIG;IACH,YAA6B,sBAAqC,EAAmB,sBAA8B,QAAQ;QAA9F,2BAAsB,GAAtB,sBAAsB,CAAe;QAAmB,wBAAmB,GAAnB,mBAAmB,CAAmB;QAd3H;;;;;;WAMG;QACK,gBAAW,GAA2B,SAAS,CAAC;QAsBxD;;;;;;WAMG;QACH,kBAAa,GAAG,GAAS,EAAE;YACvB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAE,8BAA8B;YAC1D,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;YACzG,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAE,uBAAuB;QACvD,CAAC,CAAA;QAED;;;WAGG;QACH,mBAAc,GAAG,GAAS,EAAE;YACxB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACxF,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAG,CAAC,CAAE,8BAA8B;YACtE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAI,+BAA+B;gBACnE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,CAAG,gBAAgB;YACpD,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,oBAAoB,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,CAAC;QACL,CAAC,CAAA;QA/CG,IAAI,mBAAmB,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1G,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,CAAC,KAAK,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACjC,uBAAuB;gBACvB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,mBAAmB;gBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,OAAO;YACvE,CAAC;QACL,CAAC,CAAC;IACN,CAAC;CAqCJ"}
|