@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.
- package/CHANGELOG.md +18 -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 -11
- package/dist/base-types.d.ts.map +1 -1
- package/dist/base-types.js +3 -28
- package/dist/base-types.js.map +1 -1
- package/dist/convenience.d.ts +10 -9
- package/dist/convenience.d.ts.map +1 -1
- package/dist/convenience.js +12 -11
- package/dist/convenience.js.map +1 -1
- package/dist/deltas/appliers.d.ts +5 -4
- package/dist/deltas/appliers.d.ts.map +1 -1
- package/dist/deltas/appliers.js +369 -163
- 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/inverters.d.ts.map +1 -1
- package/dist/deltas/inverters.js +91 -28
- package/dist/deltas/inverters.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 +60 -0
- package/dist/deltas/receivers.js.map +1 -0
- package/dist/deltas/serialization/deserializer.g.d.ts.map +1 -1
- package/dist/deltas/serialization/deserializer.g.js +167 -59
- package/dist/deltas/serialization/deserializer.g.js.map +1 -1
- package/dist/deltas/serialization/serializer-helpers.d.ts +1 -1
- package/dist/deltas/serialization/serializer-helpers.d.ts.map +1 -1
- package/dist/deltas/serialization/serializer-helpers.js +3 -4
- package/dist/deltas/serialization/serializer-helpers.js.map +1 -1
- package/dist/deltas/serialization/serializer.g.d.ts +2 -2
- package/dist/deltas/serialization/serializer.g.d.ts.map +1 -1
- package/dist/deltas/serialization/serializer.g.js +186 -47
- package/dist/deltas/serialization/serializer.g.js.map +1 -1
- package/dist/deltas/serialization/types.g.d.ts +156 -43
- package/dist/deltas/serialization/types.g.d.ts.map +1 -1
- package/dist/deltas/types.g.d.ts +155 -55
- package/dist/deltas/types.g.d.ts.map +1 -1
- package/dist/deltas/types.g.js +170 -57
- package/dist/deltas/types.g.js.map +1 -1
- package/dist/deserializer.d.ts +6 -6
- package/dist/deserializer.d.ts.map +1 -1
- package/dist/deserializer.js +16 -27
- package/dist/deserializer.js.map +1 -1
- package/dist/duplicator.d.ts.map +1 -1
- package/dist/duplicator.js.map +1 -1
- package/dist/factory.d.ts +10 -2
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +25 -16
- package/dist/factory.js.map +1 -1
- package/dist/id-mapping.d.ts +31 -3
- package/dist/id-mapping.d.ts.map +1 -1
- package/dist/id-mapping.js +46 -14
- package/dist/id-mapping.js.map +1 -1
- package/dist/serializer.d.ts.map +1 -1
- package/dist/textualizer.d.ts +1 -1
- package/dist/textualizer.d.ts.map +1 -1
- package/dist/textualizer.js +1 -1
- package/dist/textualizer.js.map +1 -1
- package/dist/value-managers/annotations.d.ts +5 -0
- package/dist/value-managers/annotations.d.ts.map +1 -1
- package/dist/value-managers/annotations.js +31 -3
- package/dist/value-managers/annotations.js.map +1 -1
- package/dist/value-managers/base.d.ts +2 -2
- package/dist/value-managers/base.d.ts.map +1 -1
- package/dist/value-managers/base.js +4 -4
- package/dist/value-managers/base.js.map +1 -1
- package/dist/value-managers/containments.d.ts +4 -1
- package/dist/value-managers/containments.d.ts.map +1 -1
- package/dist/value-managers/containments.js +151 -20
- package/dist/value-managers/containments.js.map +1 -1
- package/dist/value-managers/properties.d.ts.map +1 -1
- package/dist/value-managers/properties.js +1 -0
- package/dist/value-managers/properties.js.map +1 -1
- package/dist/value-managers/references.d.ts +3 -0
- package/dist/value-managers/references.d.ts.map +1 -1
- package/dist/value-managers/references.js +26 -8
- package/dist/value-managers/references.js.map +1 -1
- package/package.json +34 -37
- package/src/LionCore_builtins.g.ts +2 -2
- package/src/base-types.ts +6 -32
- package/src/convenience.ts +15 -14
- package/src/deltas/appliers.ts +377 -177
- package/src/deltas/compositor.ts +107 -0
- package/src/deltas/index.ts +3 -1
- package/src/deltas/inverters.ts +108 -36
- package/src/deltas/receivers.ts +92 -0
- package/src/deltas/serialization/deserializer.g.ts +185 -64
- package/src/deltas/serialization/serializer-helpers.ts +3 -10
- package/src/deltas/serialization/serializer.g.ts +242 -63
- package/src/deltas/serialization/types.g.ts +190 -51
- package/src/deltas/types.g.ts +190 -51
- package/src/deserializer.ts +32 -43
- package/src/duplicator.ts +1 -1
- package/src/factory.ts +31 -17
- package/src/id-mapping.ts +43 -5
- package/src/textualizer.ts +1 -1
- package/src/value-managers/annotations.ts +28 -2
- package/src/value-managers/base.ts +4 -4
- package/src/value-managers/containments.ts +144 -20
- package/src/value-managers/properties.ts +1 -0
- package/src/value-managers/references.ts +28 -8
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/value-managers/references.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,
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/value-managers/references.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,39 +1,36 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"devDependencies": {
|
|
37
|
-
"typescript": "5.3.3"
|
|
38
|
-
}
|
|
2
|
+
"name": "@lionweb/class-core",
|
|
3
|
+
"version": "0.7.0",
|
|
4
|
+
"description": "Generic, language-aspecific base types for generated TypeScript APIs",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"typings": "dist/index.d.ts",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"license": "Apache-2.0",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/LionWeb-io/lionweb-typescript.git"
|
|
13
|
+
},
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"clean": "npx rimraf dist node_modules -g lionweb-class-core-*.tgz",
|
|
19
|
+
"build": "npx rimraf dist && tsc",
|
|
20
|
+
"lint": "eslint src",
|
|
21
|
+
"prep:pre-release": "npm run clean && npm install && npm run build",
|
|
22
|
+
"prerelease-alpha": "npm run prep:pre-release",
|
|
23
|
+
"release-alpha": "npm publish --tag alpha",
|
|
24
|
+
"prerelease-beta": "npm run prep:pre-release",
|
|
25
|
+
"release-beta": "npm publish --tag beta",
|
|
26
|
+
"prerelease": "npm run prep:pre-release",
|
|
27
|
+
"release": "npm publish"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@lionweb/core": "0.7.0",
|
|
31
|
+
"@lionweb/json": "0.7.0",
|
|
32
|
+
"@lionweb/ts-utils": "0.7.0",
|
|
33
|
+
"littoral-templates": "0.5.1",
|
|
34
|
+
"mobx": "6.13.7"
|
|
35
|
+
}
|
|
39
36
|
}
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
} from "@lionweb/json";
|
|
43
43
|
|
|
44
44
|
import {
|
|
45
|
-
|
|
45
|
+
DeltaReceiver,
|
|
46
46
|
ILanguageBase,
|
|
47
47
|
INodeBase,
|
|
48
48
|
NodeBase,
|
|
@@ -110,7 +110,7 @@ export class LionCore_builtinsBase implements ILanguageBase {
|
|
|
110
110
|
this._wiredUp = true;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
factory(
|
|
113
|
+
factory(_receiveDelta?: DeltaReceiver): NodeBaseFactory {
|
|
114
114
|
return (classifier: Classifier, _id: LionWebId) => {
|
|
115
115
|
const {language} = classifier;
|
|
116
116
|
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})`);
|
package/src/base-types.ts
CHANGED
|
@@ -35,7 +35,7 @@ import { makeObservable } from "mobx"
|
|
|
35
35
|
import {
|
|
36
36
|
AnnotationsValueManager,
|
|
37
37
|
ContainmentValueManager,
|
|
38
|
-
|
|
38
|
+
DeltaReceiver,
|
|
39
39
|
FeatureValueManager,
|
|
40
40
|
MultiContainmentValueManager,
|
|
41
41
|
MultiReferenceValueManager,
|
|
@@ -113,7 +113,6 @@ export interface INodeBase extends Node {
|
|
|
113
113
|
* @return the value manager for the given {@link Feature feature}.
|
|
114
114
|
* @throws if this node('s {@link Classifier classifier}) doesn't have that feature.
|
|
115
115
|
*/
|
|
116
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
117
116
|
getFeatureValueManager(feature: Feature): FeatureValueManager<Feature>;
|
|
118
117
|
|
|
119
118
|
/**
|
|
@@ -179,9 +178,9 @@ export interface INodeBase extends Node {
|
|
|
179
178
|
get referenceTargets(): INodeBase[];
|
|
180
179
|
|
|
181
180
|
/**
|
|
182
|
-
* An optionally-installed {@link
|
|
181
|
+
* An optionally-installed {@link DeltaReceiver}.
|
|
183
182
|
*/
|
|
184
|
-
|
|
183
|
+
receiveDelta?: DeltaReceiver;
|
|
185
184
|
|
|
186
185
|
|
|
187
186
|
/**
|
|
@@ -195,7 +194,7 @@ export interface INodeBase extends Node {
|
|
|
195
194
|
/**
|
|
196
195
|
* The base type for any node that's managed by a, potentially delta-emitting, API.
|
|
197
196
|
*
|
|
198
|
-
* It receives a {@link
|
|
197
|
+
* It receives a {@link DeltaReceiver} to pass {@link IDelta deltas} to
|
|
199
198
|
* that occur due to changes to values of its features,
|
|
200
199
|
* as well as moving among parents and deletion.
|
|
201
200
|
*
|
|
@@ -226,7 +225,7 @@ export abstract class NodeBase implements INodeBase {
|
|
|
226
225
|
}
|
|
227
226
|
|
|
228
227
|
|
|
229
|
-
protected constructor(readonly classifier: Classifier, readonly id: LionWebId, readonly
|
|
228
|
+
protected constructor(readonly classifier: Classifier, readonly id: LionWebId, readonly receiveDelta?: DeltaReceiver, parentage?: Parentage) {
|
|
230
229
|
this.classifier = classifier;
|
|
231
230
|
this.id = id;
|
|
232
231
|
if (parentage) {
|
|
@@ -348,32 +347,7 @@ export type NodeBaseFactory = (classifier: Classifier, id: LionWebId) => INodeBa
|
|
|
348
347
|
*/
|
|
349
348
|
export interface ILanguageBase {
|
|
350
349
|
language: Language;
|
|
351
|
-
factory(
|
|
350
|
+
factory(receiveDelta?: DeltaReceiver): NodeBaseFactory;
|
|
352
351
|
enumLiteralFrom<T>(enumerationLiteral: EnumerationLiteral): T;
|
|
353
352
|
}
|
|
354
353
|
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
* Removes the given child node from its parent, and returns its containment index.
|
|
358
|
-
*/
|
|
359
|
-
export const removeFromParent = (parent: INodeBase | undefined, child: INodeBase): number => {
|
|
360
|
-
if (parent === undefined) {
|
|
361
|
-
throw new Error(`can't remove an orphan from its parent`);
|
|
362
|
-
}
|
|
363
|
-
if (child.containment instanceof Containment) {
|
|
364
|
-
const valueManager = parent.getContainmentValueManager(child.containment);
|
|
365
|
-
if (valueManager instanceof SingleContainmentValueManager) {
|
|
366
|
-
valueManager.setDirectly(undefined);
|
|
367
|
-
return 0;
|
|
368
|
-
} else if (valueManager instanceof MultiContainmentValueManager) {
|
|
369
|
-
return valueManager.removeDirectly(child);
|
|
370
|
-
} else {
|
|
371
|
-
throw new Error(`don't know how to remove a child that's contained through a value manager of type ${valueManager.constructor.name}`);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
if (child.containment === null) {
|
|
375
|
-
return parent.annotationsValueManager.removeDirectly(child);
|
|
376
|
-
}
|
|
377
|
-
throw new Error(`not going to remove a child from its parent without knowing how it's contained`);
|
|
378
|
-
}
|
|
379
|
-
|
package/src/convenience.ts
CHANGED
|
@@ -18,21 +18,22 @@
|
|
|
18
18
|
import { incomingReferences as lwIncomingReferences, ReferenceValue } from "@lionweb/core"
|
|
19
19
|
import { LionWebId } from "@lionweb/json"
|
|
20
20
|
import { NodeDuplicator } from "./duplicator.js"
|
|
21
|
-
import { deepDuplicateWith,
|
|
21
|
+
import { deepDuplicateWith, DeltaReceiver, IdMapping, ILanguageBase, INodeBase } from "./index.js"
|
|
22
22
|
import { nodeBaseReader } from "./serializer.js"
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* @return all descendant nodes from the given node, including that node itself.
|
|
26
|
+
* @return all descendant nodes from the given top node, including that node itself.
|
|
27
|
+
* (The top node is always the first of the array returned.)
|
|
27
28
|
*/
|
|
28
|
-
export const allNodesFrom = (
|
|
29
|
-
const nodes: INodeBase[] = [
|
|
29
|
+
export const allNodesFrom = (topNode: INodeBase): INodeBase[] => {
|
|
30
|
+
const nodes: INodeBase[] = [topNode];
|
|
30
31
|
const visit = (node: INodeBase) => {
|
|
31
32
|
const children = node.children;
|
|
32
33
|
nodes.push(...children);
|
|
33
34
|
children.forEach(visit);
|
|
34
35
|
}
|
|
35
|
-
visit(
|
|
36
|
+
visit(topNode);
|
|
36
37
|
return nodes;
|
|
37
38
|
}
|
|
38
39
|
|
|
@@ -57,10 +58,10 @@ export const incomingReferences = (targetNodeOrNodes: INodeBase | INodeBase[], r
|
|
|
57
58
|
* *without* generating new IDs.
|
|
58
59
|
* @param languageBases the {@link ILanguageBase language bases} of the languages that the nodes might come from
|
|
59
60
|
* — these are necessary for their factories
|
|
60
|
-
* @param
|
|
61
|
+
* @param receiveDelta an optional {@link DeltaReceiver} that gets installed on the deep-cloned nodes
|
|
61
62
|
*/
|
|
62
|
-
export const deepClonerFor = (languageBases: ILanguageBase[],
|
|
63
|
-
deepDuplicatorFor(languageBases, (originalNode) => originalNode.id,
|
|
63
|
+
export const deepClonerFor = (languageBases: ILanguageBase[], receiveDelta?: DeltaReceiver) =>
|
|
64
|
+
deepDuplicatorFor(languageBases, (originalNode) => originalNode.id, receiveDelta);
|
|
64
65
|
|
|
65
66
|
|
|
66
67
|
/**
|
|
@@ -73,13 +74,13 @@ export type NewIdFunction = (originalNode: INodeBase) => LionWebId;
|
|
|
73
74
|
* @return a {@link NodeDuplicator} function that does the “obvious” thing, given the parameters:
|
|
74
75
|
* @param languageBases an array of languages in the form of {@link ILanguageBase}s
|
|
75
76
|
* @param newIdFunc a function that computes a – not necessarily new – ID from a given original {@link INodeBase node}
|
|
76
|
-
* @param
|
|
77
|
+
* @param receiveDelta an optional {@link DeltaReceiver}
|
|
77
78
|
* @param idMapping an optional {@link IdMapping}
|
|
78
79
|
*/
|
|
79
|
-
export const defaultNodeDuplicatorFor = (languageBases: ILanguageBase[], newIdFunc: NewIdFunction,
|
|
80
|
+
export const defaultNodeDuplicatorFor = (languageBases: ILanguageBase[], newIdFunc: NewIdFunction, receiveDelta?: DeltaReceiver, idMapping?: IdMapping): NodeDuplicator =>
|
|
80
81
|
(originalNode: INodeBase) => {
|
|
81
82
|
const languageBase = languageBases.find((languageBase) => languageBase.language === originalNode.classifier.language)!;
|
|
82
|
-
const duplicatedNode = languageBase.factory(
|
|
83
|
+
const duplicatedNode = languageBase.factory(receiveDelta)(originalNode.classifier, newIdFunc(originalNode));
|
|
83
84
|
idMapping?.updateWith(duplicatedNode);
|
|
84
85
|
return [duplicatedNode, originalNode.setFeatures];
|
|
85
86
|
};
|
|
@@ -91,8 +92,8 @@ export const defaultNodeDuplicatorFor = (languageBases: ILanguageBase[], newIdFu
|
|
|
91
92
|
* @param languageBases the {@link ILanguageBase language bases} of the languages that the nodes might come from
|
|
92
93
|
* — these are necessary for their factories
|
|
93
94
|
* @param newIdFunc a function that computes a – not necessarily new – ID from a given original {@link INodeBase node}
|
|
94
|
-
* @param
|
|
95
|
+
* @param receiveDelta an optional {@link DeltaReceiver} that gets installed on the deep-cloned nodes
|
|
95
96
|
*/
|
|
96
|
-
export const deepDuplicatorFor = (languageBases: ILanguageBase[], newIdFunc: NewIdFunction,
|
|
97
|
-
deepDuplicateWith(defaultNodeDuplicatorFor(languageBases, newIdFunc,
|
|
97
|
+
export const deepDuplicatorFor = (languageBases: ILanguageBase[], newIdFunc: NewIdFunction, receiveDelta?: DeltaReceiver, idMapping?: IdMapping) =>
|
|
98
|
+
deepDuplicateWith(defaultNodeDuplicatorFor(languageBases, newIdFunc, receiveDelta, idMapping));
|
|
98
99
|
|