@lionweb/core 0.10.0-alpha.1 → 0.10.0-alpha.2
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 +10 -0
- package/dist/deserializer.d.ts.map +1 -1
- package/dist/deserializer.js +27 -22
- package/dist/deserializer.js.map +1 -1
- package/dist/functions.d.ts +2 -3
- package/dist/functions.d.ts.map +1 -1
- package/dist/functions.js +2 -3
- package/dist/functions.js.map +1 -1
- package/dist/m1/reference-utils.d.ts.map +1 -1
- package/dist/m1/reference-utils.js +0 -1
- package/dist/m1/reference-utils.js.map +1 -1
- package/dist/m3/builtins-common.js +3 -3
- package/dist/m3/builtins-common.js.map +1 -1
- package/dist/m3/functions.d.ts.map +1 -1
- package/dist/m3/functions.js.map +1 -1
- package/dist/m3/types.d.ts.map +1 -1
- package/dist/m3/types.js +3 -3
- package/dist/m3/types.js.map +1 -1
- package/dist/m3/versions/v2023_1/builtins-legacy.js +3 -3
- package/dist/m3/versions/v2023_1/builtins-legacy.js.map +1 -1
- package/dist/references.d.ts +31 -8
- package/dist/references.d.ts.map +1 -1
- package/dist/references.js +41 -6
- package/dist/references.js.map +1 -1
- package/dist/serializer.d.ts.map +1 -1
- package/dist/serializer.js +23 -9
- package/dist/serializer.js.map +1 -1
- package/package.json +3 -3
- package/src/deserializer.ts +30 -27
- package/src/functions.ts +3 -4
- package/src/m1/reference-utils.ts +0 -1
- package/src/m3/builtins-common.ts +3 -3
- package/src/m3/functions.ts +1 -1
- package/src/m3/types.ts +3 -3
- package/src/m3/versions/v2023_1/builtins-legacy.ts +3 -3
- package/src/references.ts +46 -11
- package/src/serializer.ts +26 -11
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,16 @@
|
|
|
5
5
|
* Introduce `metaPointerFor{Classifier|Feature|Language}` functions, and deprecate the `metaPointerFor` function taking a `Feature`.
|
|
6
6
|
(This change has been propagated throughout the entire codebase.)
|
|
7
7
|
* Expose `isValidIdentifier` function.
|
|
8
|
+
* Change the `UnresolvedReference` type to be a class.
|
|
9
|
+
* Deserialization uses `UnresolvedReference` instances – including original `resolveInfo` – to represent unresolved references.
|
|
10
|
+
* Deprecate the `unresolved` constant/“symbol”.
|
|
11
|
+
* Change the `referenceToSet` function into a proper symbol constant.
|
|
12
|
+
*Note* that this is technically a breaking change, but this function should essentially only be used internally.
|
|
13
|
+
* Add a `isReferenceToSet` function which satisfies `isReferenceToSet(referenceToSet)`.
|
|
14
|
+
* Deserialization now reports on serialized nodes that can’t be deserialized, and doesn’t add/set `null` anymore.
|
|
15
|
+
* Serialization skips references that are unresolved and for which no `resolveInfo` can be obtained.
|
|
16
|
+
* *Narrow* the type of the argument of the `asIds` function to `Node[]`.
|
|
17
|
+
*Note* that this is technically a breaking change, but this function is essentially only used internally.
|
|
8
18
|
|
|
9
19
|
|
|
10
20
|
## 0.9.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAA+B,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAA0B,eAAe,EAAE,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAwC,QAAQ,EAAiB,QAAQ,EAAa,MAAM,eAAe,CAAA;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;CAAG;AAG/E;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAA;AAGnH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,IAAI,IAAI;IACrD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;OAEG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CACpC,CAAA;AAGD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,EAAE,SAAS,IAAI,EAAE,eAAe,yBAAyB,CAAC,EAAE,CAAC,KAAG,YAAY,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAA+B,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAA0B,eAAe,EAAE,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAwC,QAAQ,EAAiB,QAAQ,EAAa,MAAM,eAAe,CAAA;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;CAAG;AAG/E;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAA;AAGnH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,IAAI,IAAI;IACrD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;OAEG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CACpC,CAAA;AAGD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,EAAE,SAAS,IAAI,EAAE,eAAe,yBAAyB,CAAC,EAAE,CAAC,KAAG,YAAY,CAAC,EAAE,CA8L/G,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,GAAI,EAAE,SAAS,IAAI,EACzD,oBAAoB,gBAAgB,EACpC,QAAQ,MAAM,CAAC,EAAE,CAAC,EAClB,WAAW,QAAQ,EAAE,EAErB,gBAAgB,IAAI,EAAE,EAEtB,4BAA2B,yBAA4F,EACvH,kBAAiB,eAAwC,KAC1D,EAAE,EAA8I,CAAA;AAEnJ;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAdiB,EAAE,SAAS,IAAI,sBACrC,gBAAgB,UAC5B,MAAM,CAAC,EAAE,CAAC,aACP,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,yBAAyB,oBACnC,eAAe,KACjC,EAAE,EAKwD,CAAA"}
|
package/dist/deserializer.js
CHANGED
|
@@ -3,7 +3,7 @@ import { consoleProblemReporter } from "./reporter.js";
|
|
|
3
3
|
import { MemoisingSymbolTable } from "./m3/symbol-table.js";
|
|
4
4
|
import { Classifier, Containment, Enumeration, PrimitiveType, Property, Reference } from "./m3/types.js";
|
|
5
5
|
import { LionWebVersions } from "./m3/versions.js";
|
|
6
|
-
import {
|
|
6
|
+
import { UnresolvedReference } from "./references.js";
|
|
7
7
|
/**
|
|
8
8
|
* @return a {@link Deserializer} function.
|
|
9
9
|
*
|
|
@@ -64,7 +64,6 @@ export const deserializerWith = (configuration) => {
|
|
|
64
64
|
if (properties !== undefined) {
|
|
65
65
|
allFeatures
|
|
66
66
|
.filter(feature => feature instanceof Property)
|
|
67
|
-
.map(feature => feature)
|
|
68
67
|
.forEach(property => {
|
|
69
68
|
if (property.key in serializedPropertiesPerKey) {
|
|
70
69
|
const value = serializedPropertiesPerKey[property.key][0].value;
|
|
@@ -96,26 +95,32 @@ export const deserializerWith = (configuration) => {
|
|
|
96
95
|
}
|
|
97
96
|
else if (feature instanceof Containment && containments !== undefined && feature.key in serializedContainmentsPerKey) {
|
|
98
97
|
const childIds = serializedContainmentsPerKey[feature.key].flatMap(serChildren => serChildren.children);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
const deserializeChild = (childId) => {
|
|
99
|
+
if (childId in serializedNodeById) {
|
|
100
|
+
const child = instantiateMemoised(serializedNodeById[childId], node);
|
|
101
|
+
if (child !== null) {
|
|
102
|
+
writer.setFeatureValue(node, feature, child);
|
|
103
103
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (childIds.length > 0) {
|
|
108
|
-
// just set the 1st one:
|
|
109
|
-
const firstChildId = childIds[0];
|
|
110
|
-
if (firstChildId in serializedNodeById) {
|
|
111
|
-
writer.setFeatureValue(node, feature, instantiateMemoised(serializedNodeById[firstChildId], node));
|
|
104
|
+
else {
|
|
105
|
+
problemReporter.reportProblem(`child with id=${childId} is not instantiable, so can’t add it to containment ${feature.name} on node with id=${node.id}`);
|
|
106
|
+
// TODO set/add an UnresolvedContainment?
|
|
112
107
|
}
|
|
113
108
|
}
|
|
109
|
+
else {
|
|
110
|
+
problemReporter.reportProblem(`child with id=${childId} doesn’t reside in this serialization chunk, so can’t add it to containment ${feature.name} on node with id=${node.id}`);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
if (feature.multiple) {
|
|
114
|
+
childIds.forEach(deserializeChild);
|
|
115
|
+
}
|
|
116
|
+
else if (childIds.length > 0) {
|
|
117
|
+
// just set the 1st one:
|
|
118
|
+
deserializeChild(childIds[0]);
|
|
114
119
|
}
|
|
115
120
|
}
|
|
116
121
|
else if (feature instanceof Reference && references !== undefined && feature.key in serializedReferencesPerKey) {
|
|
117
|
-
const serRefs = (serializedReferencesPerKey[feature.key] ?? []).flatMap(serReferences => serReferences.targets
|
|
118
|
-
referencesToInstall.push(...serRefs.
|
|
122
|
+
const serRefs = (serializedReferencesPerKey[feature.key] ?? []).flatMap(serReferences => serReferences.targets);
|
|
123
|
+
referencesToInstall.push(...(serRefs.map(({ reference, resolveInfo }) => [node, feature, reference, resolveInfo])));
|
|
119
124
|
}
|
|
120
125
|
});
|
|
121
126
|
node.annotations = keepDefineds(annotations
|
|
@@ -129,15 +134,15 @@ export const deserializerWith = (configuration) => {
|
|
|
129
134
|
.map(serializedNode => instantiateMemoised(serializedNode)))
|
|
130
135
|
.map(node => node);
|
|
131
136
|
const dependentNodesById = byIdMap(dependentNodes);
|
|
132
|
-
referencesToInstall.forEach(([node, reference, refId]) => {
|
|
137
|
+
referencesToInstall.forEach(([node, reference, refId, resolveInfo]) => {
|
|
133
138
|
const target = deserializedNodeById[refId] ?? dependentNodesById[refId];
|
|
134
139
|
const value = (() => {
|
|
135
|
-
if (target
|
|
136
|
-
|
|
137
|
-
problemReporter.reportProblem(`couldn't resolve the target with id=${refId} of a "${reference.name}" reference on the node with id=${node.id}${metaTypeMessage}`);
|
|
138
|
-
return unresolved;
|
|
140
|
+
if (target !== undefined) {
|
|
141
|
+
return target;
|
|
139
142
|
}
|
|
140
|
-
|
|
143
|
+
const metaTypeMessage = "concept" in node ? ` and (meta-)type ${node.concept}` : "";
|
|
144
|
+
problemReporter.reportProblem(`couldn't resolve the target with id=${refId} of a "${reference.name}" reference on the node with id=${node.id}${metaTypeMessage}`);
|
|
145
|
+
return new UnresolvedReference(refId, resolveInfo);
|
|
141
146
|
})();
|
|
142
147
|
writer.setFeatureValue(node, reference, value);
|
|
143
148
|
});
|
package/dist/deserializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,sBAAsB,EAAmB,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAY,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAElH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
|
package/dist/functions.d.ts
CHANGED
|
@@ -6,10 +6,9 @@ import { Classifier, Feature, Language } from "./m3/index.js";
|
|
|
6
6
|
*/
|
|
7
7
|
export declare const containmentChain: (node: Node) => Node[];
|
|
8
8
|
/**
|
|
9
|
-
* Maps an array of {@link Node AST nodes}
|
|
10
|
-
* These `null`s might be the result of unresolved children.
|
|
9
|
+
* Maps an array of {@link Node AST nodes} to their IDs.
|
|
11
10
|
*/
|
|
12
|
-
export declare const asIds: (
|
|
11
|
+
export declare const asIds: (nodes: Node[]) => LionWebId[];
|
|
13
12
|
/**
|
|
14
13
|
* @return the id of the given {@link Node node}.
|
|
15
14
|
*/
|
package/dist/functions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE1F,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7D;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,KAAG,IAAI,EAGjD,CAAA;AAGD
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE1F,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7D;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,KAAG,IAAI,EAGjD,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,IAAI,EAAE,KAAG,SAAS,EAC5B,CAAA;AAGnB;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,IAAI,EAAE,QAAM,CAAC,KAAG,SACzC,CAAA;AAGN;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,KAAG,sBAOxD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAdoB,OAAO,KAAG,sBAcN,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,YAAY,UAAU,KAAG,sBACtC,CAAA;AAE5B;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,kBAAkB,QAAQ,KAAG,uBAE9D,CAAA"}
|
package/dist/functions.js
CHANGED
|
@@ -7,10 +7,9 @@ export const containmentChain = (node) => {
|
|
|
7
7
|
return flatMapNonCyclingFollowing(trivialFlatMapper, getParent)(node);
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
* Maps an array of {@link Node AST nodes}
|
|
11
|
-
* These `null`s might be the result of unresolved children.
|
|
10
|
+
* Maps an array of {@link Node AST nodes} to their IDs.
|
|
12
11
|
*/
|
|
13
|
-
export const asIds = (
|
|
12
|
+
export const asIds = (nodes) => nodes.map(idOf);
|
|
14
13
|
/**
|
|
15
14
|
* @return the id of the given {@link Node node}.
|
|
16
15
|
*/
|
package/dist/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAKjF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAU,EAAE;IACnD,MAAM,SAAS,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/E,OAAO,0BAA0B,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC,CAAA;AAGD
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAKjF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAU,EAAE;IACnD,MAAM,SAAS,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/E,OAAO,0BAA0B,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAe,EAAE,CAChD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAGnB;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAiB,EAAC,EAAE,EAAI,EAAa,EAAE,CACvD,EAAE,CAAA;AAGN;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAA0B,EAAE;IAC9E,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,UAAU,CAAA;IACvC,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,GAAG;QACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG;KACnB,CAAA;AACL,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAsB,EAA0B,EAAE,CACvF,UAAU,CAAC,WAAW,EAAE,CAAA;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAY,EAA2B,EAAE,CAAC,CAAC;IACxF,GAAG,EAAE,OAAO;CACf,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-utils.d.ts","sourceRoot":"","sources":["../../src/m1/reference-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAiB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAGlC;;;GAGG;AACH,qBAAa,cAAc,CAAC,EAAE,SAAS,IAAI;aAEnB,UAAU,EAAE,EAAE;aACd,UAAU,EAAE,EAAE;aACd,SAAS,EAAE,SAAS;aACpB,KAAK,EAAE,MAAM,GAAG,IAAI;gBAHpB,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GAAG,IAAI;CAE3C;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EACjE,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"reference-utils.d.ts","sourceRoot":"","sources":["../../src/m1/reference-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAiB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAGlC;;;GAGG;AACH,qBAAa,cAAc,CAAC,EAAE,SAAS,IAAI;aAEnB,UAAU,EAAE,EAAE;aACd,UAAU,EAAE,EAAE;aACd,SAAS,EAAE,SAAS;aACpB,KAAK,EAAE,MAAM,GAAG,IAAI;gBAHpB,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GAAG,IAAI;CAE3C;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EACjE,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,EAwBpB,CAAA;AAGD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EACpE,mBAAmB,EAAE,EAAE,GAAG,EAAE,EAC5B,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,EAIpB,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAC7E,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,EAE+D,CAAA"}
|
|
@@ -39,7 +39,6 @@ export const referenceValues = (scope, reader) => {
|
|
|
39
39
|
return [...new Set(scope)] // ~ .distinct()
|
|
40
40
|
.flatMap((sourceNode) => allFeaturesOf(reader.classifierOf(sourceNode))
|
|
41
41
|
.filter((feature) => feature instanceof Reference)
|
|
42
|
-
.map((feature) => feature)
|
|
43
42
|
.flatMap((reference) => visit(sourceNode, reference)));
|
|
44
43
|
};
|
|
45
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-utils.js","sourceRoot":"","sources":["../../src/m1/reference-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAIzD;;;GAGG;AACH,MAAM,OAAO,cAAc;IACvB,YACoB,UAAc,EACd,UAAc,EACd,SAAoB,EACpB,KAAoB;QAHpB,eAAU,GAAV,UAAU,CAAI;QACd,eAAU,GAAV,UAAU,CAAI;QACd,cAAS,GAAT,SAAS,CAAW;QACpB,UAAK,GAAL,KAAK,CAAe;IACrC,CAAC;CACP;AAGD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,KAAW,EACX,MAAsB,EACF,EAAE;IACtB,MAAM,KAAK,GAAG,CAAC,UAAc,EAAE,SAAoB,EAAwB,EAAE;QACzE,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAS,CAAA;YACjF,OAAO,WAAW;iBACb,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CACvB,IAAI,cAAc,CAAK,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CACnE,CAAA;QACT,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAqB,CAAA;QACpF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,cAAc,CAAK,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;QAC5E,CAAC;QAED,OAAO,EAAE,CAAA;IACb,CAAC,CAAA;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,gBAAgB;SACvC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACpB,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,YAAY,SAAS,CAAC;SACjD,
|
|
1
|
+
{"version":3,"file":"reference-utils.js","sourceRoot":"","sources":["../../src/m1/reference-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAIzD;;;GAGG;AACH,MAAM,OAAO,cAAc;IACvB,YACoB,UAAc,EACd,UAAc,EACd,SAAoB,EACpB,KAAoB;QAHpB,eAAU,GAAV,UAAU,CAAI;QACd,eAAU,GAAV,UAAU,CAAI;QACd,cAAS,GAAT,SAAS,CAAW;QACpB,UAAK,GAAL,KAAK,CAAe;IACrC,CAAC;CACP;AAGD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,KAAW,EACX,MAAsB,EACF,EAAE;IACtB,MAAM,KAAK,GAAG,CAAC,UAAc,EAAE,SAAoB,EAAwB,EAAE;QACzE,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAS,CAAA;YACjF,OAAO,WAAW;iBACb,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CACvB,IAAI,cAAc,CAAK,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CACnE,CAAA;QACT,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAqB,CAAA;QACpF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,cAAc,CAAK,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;QAC5E,CAAC;QAED,OAAO,EAAE,CAAA;IACb,CAAC,CAAA;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,gBAAgB;SACvC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACpB,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,YAAY,SAAS,CAAC;SACjD,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAC5D,CAAA;AACT,CAAC,CAAA;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,iBAA4B,EAC5B,KAAW,EACX,MAAsB,EACF,EAAE;IACtB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;IAC9F,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC;SAChC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACxF,CAAC,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACvC,KAAW,EACX,MAAsB,EACF,EAAE,CACtB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC;KACzB,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isRef } from "../references.js";
|
|
2
2
|
/**
|
|
3
3
|
* Determines whether two data types should be structurally equal based on equality of: meta type, key, and language's key.
|
|
4
4
|
*/
|
|
@@ -31,7 +31,7 @@ export const propertyValueDeserializerFrom = (registry) => {
|
|
|
31
31
|
throw new Error(`can't deserialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
|
|
32
32
|
}
|
|
33
33
|
const { type } = property;
|
|
34
|
-
if (
|
|
34
|
+
if (!isRef(type)) {
|
|
35
35
|
throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
|
|
36
36
|
}
|
|
37
37
|
const specificDeserializer = byType(type);
|
|
@@ -64,7 +64,7 @@ export const propertyValueSerializerFrom = (registry) => {
|
|
|
64
64
|
throw new Error(`can't serialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
|
|
65
65
|
}
|
|
66
66
|
const { type } = property;
|
|
67
|
-
if (
|
|
67
|
+
if (!isRef(type)) {
|
|
68
68
|
throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
|
|
69
69
|
}
|
|
70
70
|
const specificSerializer = byType(type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins-common.js","sourceRoot":"","sources":["../../src/m3/builtins-common.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"builtins-common.js","sourceRoot":"","sources":["../../src/m3/builtins-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAkB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAO1D,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAA;CACf;AAED,QAAA,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,MACU,CAAA;AAEnD,QAAA,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,IAAI,CACU,CAAA;AAG1D,UAAU,MAAO,SAAQ,MAAM;IAC3B,GAAG,EAAE,SAAS,CAAA;CACjB;AAGD;;;;GAIG;AACH,UAAU,UAAU;IAChB,QAAQ,IAAI,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,uBAAe,MAAO,YAAW,MAAM,EAAE,UAAU;IAC/C,QAAQ,IAAI,MAAM;IAGlB,MAAM,CAAC,EAAE,MAAM,CAAA;IAMf,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,SAAS,CAAA;IACd,SAAS,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAMlF,SAAS,CAAC,GAAG,EAAE,SAAS;IAIxB,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAK;CACpC;AAED,uBAAe,OAAQ,SAAQ,MAAM;IACjC,QAAQ,UAAuB;gBAEnB,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS;IAGhF,UAAU;IAIV,IAAI,UAAU,IAAI,UAAU,CAE3B;CACJ;AAED,cAAM,QAAS,SAAQ,OAAO;IAC1B,QAAQ,IAAI,MAAM;IAGlB,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/types.js
CHANGED
|
@@ -43,7 +43,7 @@ class Feature extends M3Node {
|
|
|
43
43
|
class Property extends Feature {
|
|
44
44
|
constructor() {
|
|
45
45
|
super(...arguments);
|
|
46
|
-
this.type = referenceToSet
|
|
46
|
+
this.type = referenceToSet; // (reference)
|
|
47
47
|
}
|
|
48
48
|
metaType() {
|
|
49
49
|
return "Property";
|
|
@@ -57,7 +57,7 @@ class Link extends Feature {
|
|
|
57
57
|
constructor() {
|
|
58
58
|
super(...arguments);
|
|
59
59
|
this.multiple /*: boolean */ = false;
|
|
60
|
-
this.type = referenceToSet
|
|
60
|
+
this.type = referenceToSet; // (reference)
|
|
61
61
|
}
|
|
62
62
|
isMultiple() {
|
|
63
63
|
this.multiple = true;
|
|
@@ -132,7 +132,7 @@ class Annotation extends Classifier {
|
|
|
132
132
|
constructor(language, name, key, id, extends_) {
|
|
133
133
|
super(language, name, key, id);
|
|
134
134
|
this.implements = []; // (reference)
|
|
135
|
-
this.annotates = referenceToSet
|
|
135
|
+
this.annotates = referenceToSet; // (reference)
|
|
136
136
|
this.extends = extends_;
|
|
137
137
|
}
|
|
138
138
|
implementing(...interfaces) {
|
package/dist/m3/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAY,cAAc,EAAa,MAAM,kBAAkB,CAAA;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAW1D,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAkB,EAAE,CAC9C,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAA;AAEnD,MAAM,iBAAiB,GACnB,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAiB1D;;;GAGG;AACH,MAAe,MAAM;IACjB,QAAQ;QACJ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAClD,CAAC;IAUD,YAAsB,EAAa,EAAE,IAAY,EAAE,GAAc,EAAE,MAAe;QAUzE,gBAAW,GAAW,EAAE,CAAA,CAAC,gBAAgB;QAT9C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IACD,SAAS,CAAC,GAAc;QACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,OAAO,IAAI,CAAA;IACf,CAAC;CAEJ;AAED,MAAe,OAAQ,SAAQ,MAAM;IAEjC,kDAAkD;IAClD,YAAY,UAAsB,EAAE,IAAY,EAAE,GAAe,EAAE,EAAa;QAC5E,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;QAHpC,aAAQ,CAAC,cAAc,GAAG,KAAK,CAAA;IAI/B,CAAC;IACD,UAAU;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,OAAO,IAAI,CAAA;IACf,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAqB,CAAA;IACrC,CAAC;CACJ;AAED,MAAM,QAAS,SAAQ,OAAO;IAA9B;;QAII,SAAI,GAAwB,cAAc,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { asMinimalJsonString } from "@lionweb/ts-utils";
|
|
2
2
|
import { shouldBeIdentical } from "../../builtins-common.js";
|
|
3
|
-
import {
|
|
3
|
+
import { isRef } from "../../../references.js";
|
|
4
4
|
import { v2023_1 } from "./version.js";
|
|
5
5
|
class DataTypeRegistry {
|
|
6
6
|
constructor() {
|
|
@@ -48,7 +48,7 @@ export class BuiltinPropertyValueDeserializer extends DataTypeRegistry {
|
|
|
48
48
|
throw new Error(`can't deserialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
|
|
49
49
|
}
|
|
50
50
|
const { type } = property;
|
|
51
|
-
if (
|
|
51
|
+
if (!isRef(type)) {
|
|
52
52
|
throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
|
|
53
53
|
}
|
|
54
54
|
const specificDeserializer = this.byType(type);
|
|
@@ -88,7 +88,7 @@ export class BuiltinPropertyValueSerializer extends DataTypeRegistry {
|
|
|
88
88
|
throw new Error(`can't serialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
|
|
89
89
|
}
|
|
90
90
|
const { type } = property;
|
|
91
|
-
if (
|
|
91
|
+
if (!isRef(type)) {
|
|
92
92
|
throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
|
|
93
93
|
}
|
|
94
94
|
const specificSerializer = this.byType(type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins-legacy.js","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/builtins-legacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"builtins-legacy.js","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/builtins-legacy.ts"],"names":[],"mappings":"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"}
|
package/dist/references.d.ts
CHANGED
|
@@ -1,32 +1,55 @@
|
|
|
1
|
+
import { LionWebId } from "@lionweb/json";
|
|
1
2
|
import { Node } from "./types.js";
|
|
3
|
+
import { INamed } from "./m3/index.js";
|
|
2
4
|
/**
|
|
3
|
-
* The `unresolved` symbol indicates a reference value which hasn't been resolved yet.
|
|
5
|
+
* The `unresolved` “symbol” indicates a reference value which hasn't been resolved yet.
|
|
4
6
|
* It differs from an unset (`undefined`) value.
|
|
5
7
|
* This value shouldn’t be manipulated/compared to directly!
|
|
8
|
+
*
|
|
9
|
+
* @deprecated Use {@link referenceToSet} or {@link UnresolvedReference} instead.
|
|
6
10
|
*/
|
|
7
11
|
export declare const unresolved: null;
|
|
8
12
|
/**
|
|
9
|
-
*
|
|
13
|
+
* Representation of an unresolved reference.
|
|
14
|
+
* At most one of `targetId` or `resolveInfo` can be `undefined`.
|
|
15
|
+
*
|
|
16
|
+
* *Note* that this instance will **not** exhibit object equality,
|
|
17
|
+
* i.e.: the resolved target of an unresolved reference will be a different object!
|
|
10
18
|
*/
|
|
11
|
-
export
|
|
19
|
+
export declare class UnresolvedReference {
|
|
20
|
+
readonly targetId?: LionWebId | undefined;
|
|
21
|
+
resolveInfo?: string | undefined;
|
|
22
|
+
constructor(targetId?: LionWebId | undefined, resolveInfo?: string | undefined);
|
|
23
|
+
toString: () => string;
|
|
24
|
+
}
|
|
12
25
|
/**
|
|
13
|
-
*
|
|
26
|
+
* A singleton representing an unset reference that’s meant to be set,
|
|
27
|
+
* distinguishing that from a reference that’s intentionally not set
|
|
28
|
+
* — which can only happen if that reference is (defined as) optional.
|
|
14
29
|
*/
|
|
15
|
-
export declare const referenceToSet:
|
|
30
|
+
export declare const referenceToSet: unique symbol;
|
|
16
31
|
/**
|
|
17
32
|
* A type definition for a reference value that can be unresolved.
|
|
18
33
|
* Note: this type is primarily meant to be used to type nodes’ properties,
|
|
19
34
|
* but should be avoided as a return type for “auxiliary” functions.
|
|
20
35
|
*/
|
|
21
|
-
export type SingleRef<NT extends Node> = NT | UnresolvedReference;
|
|
36
|
+
export type SingleRef<NT extends Node> = NT | UnresolvedReference | typeof referenceToSet;
|
|
22
37
|
/**
|
|
23
|
-
* @return whether
|
|
38
|
+
* @return whether the given {@link UnresolvedReference} corresponds to an (explicitly-)unset (yet-to-set) reference.
|
|
24
39
|
*/
|
|
25
|
-
export declare const
|
|
40
|
+
export declare const isReferenceToSet: <T extends Node>(ref?: SingleRef<T>) => ref is typeof referenceToSet;
|
|
26
41
|
/**
|
|
27
42
|
* Type function for the {@link UnresolvedReference} type.
|
|
28
43
|
*/
|
|
29
44
|
export declare const isUnresolvedReference: <NT extends Node>(ref?: SingleRef<NT>) => ref is UnresolvedReference;
|
|
45
|
+
/**
|
|
46
|
+
* @return whether a given (at most) single-valued reference actually refers to something.
|
|
47
|
+
*/
|
|
48
|
+
export declare const isRef: <NT extends Node>(ref?: SingleRef<NT>) => ref is NT;
|
|
49
|
+
/**
|
|
50
|
+
* @return either the referenced node’s name, or the `resolveInfo` if the reference is unresolved, or `undefined`.
|
|
51
|
+
*/
|
|
52
|
+
export declare const tryToRenderAsText: <T extends Node & INamed>(ref?: SingleRef<T>) => string | undefined;
|
|
30
53
|
/**
|
|
31
54
|
* A type alias for a multi-valued reference, to make it look consistent with {@link SingleRef}.
|
|
32
55
|
* Note: this type is primarily meant to be used to type nodes’ properties,
|
package/dist/references.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtC;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,MAAO,CAAA;AAG9B;;;;;;GAMG;AACH,qBAAa,mBAAmB;aACA,QAAQ,CAAC,EAAE,SAAS;IAAS,WAAW,CAAC,EAAE,MAAM;gBAAjD,QAAQ,CAAC,EAAE,SAAS,YAAA,EAAS,WAAW,CAAC,EAAE,MAAM,YAAA;IAC7E,QAAQ,eACsF;CACjG;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,eAA8B,CAAA;AAEzD;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,EAAE,SAAS,IAAI,IAAI,EAAE,GAAG,mBAAmB,GAAG,OAAO,cAAc,CAAA;AAEzF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,KAAG,GAAG,IAAI,OAAO,cAC1D,CAAA;AAE1B;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,EAAE,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC,EAAE,CAAC,KAAG,GAAG,IAAI,mBAC9C,CAAA;AAEtC;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,EAAE,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC,EAAE,CAAC,KAAG,GAAG,IAAI,EACU,CAAA;AAE9E;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,KAAG,MAAM,GAAG,SAQxF,CAAA;AAGD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,SAAS,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAA"}
|
package/dist/references.js
CHANGED
|
@@ -1,19 +1,54 @@
|
|
|
1
|
+
import { stringifyPropertiesOf } from "@lionweb/ts-utils";
|
|
1
2
|
/**
|
|
2
|
-
* The `unresolved` symbol indicates a reference value which hasn't been resolved yet.
|
|
3
|
+
* The `unresolved` “symbol” indicates a reference value which hasn't been resolved yet.
|
|
3
4
|
* It differs from an unset (`undefined`) value.
|
|
4
5
|
* This value shouldn’t be manipulated/compared to directly!
|
|
6
|
+
*
|
|
7
|
+
* @deprecated Use {@link referenceToSet} or {@link UnresolvedReference} instead.
|
|
5
8
|
*/
|
|
6
9
|
export const unresolved = null;
|
|
7
10
|
/**
|
|
8
|
-
*
|
|
11
|
+
* Representation of an unresolved reference.
|
|
12
|
+
* At most one of `targetId` or `resolveInfo` can be `undefined`.
|
|
13
|
+
*
|
|
14
|
+
* *Note* that this instance will **not** exhibit object equality,
|
|
15
|
+
* i.e.: the resolved target of an unresolved reference will be a different object!
|
|
9
16
|
*/
|
|
10
|
-
export
|
|
17
|
+
export class UnresolvedReference {
|
|
18
|
+
constructor(targetId, resolveInfo) {
|
|
19
|
+
this.targetId = targetId;
|
|
20
|
+
this.resolveInfo = resolveInfo;
|
|
21
|
+
this.toString = () => `unresolved reference to target:` + stringifyPropertiesOf(this, "targetId", "resolveInfo");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
11
24
|
/**
|
|
12
|
-
*
|
|
25
|
+
* A singleton representing an unset reference that’s meant to be set,
|
|
26
|
+
* distinguishing that from a reference that’s intentionally not set
|
|
27
|
+
* — which can only happen if that reference is (defined as) optional.
|
|
28
|
+
*/
|
|
29
|
+
export const referenceToSet = Symbol("<unset reference>");
|
|
30
|
+
/**
|
|
31
|
+
* @return whether the given {@link UnresolvedReference} corresponds to an (explicitly-)unset (yet-to-set) reference.
|
|
13
32
|
*/
|
|
14
|
-
export const
|
|
33
|
+
export const isReferenceToSet = (ref) => ref === referenceToSet;
|
|
15
34
|
/**
|
|
16
35
|
* Type function for the {@link UnresolvedReference} type.
|
|
17
36
|
*/
|
|
18
|
-
export const isUnresolvedReference = (ref) => ref
|
|
37
|
+
export const isUnresolvedReference = (ref) => ref instanceof UnresolvedReference;
|
|
38
|
+
/**
|
|
39
|
+
* @return whether a given (at most) single-valued reference actually refers to something.
|
|
40
|
+
*/
|
|
41
|
+
export const isRef = (ref) => ref !== undefined && !isReferenceToSet(ref) && !isUnresolvedReference(ref);
|
|
42
|
+
/**
|
|
43
|
+
* @return either the referenced node’s name, or the `resolveInfo` if the reference is unresolved, or `undefined`.
|
|
44
|
+
*/
|
|
45
|
+
export const tryToRenderAsText = (ref) => {
|
|
46
|
+
if (ref === undefined || isReferenceToSet(ref)) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
if (isUnresolvedReference(ref)) {
|
|
50
|
+
return ref.resolveInfo;
|
|
51
|
+
}
|
|
52
|
+
return ref.name;
|
|
53
|
+
};
|
|
19
54
|
//# sourceMappingURL=references.js.map
|
package/dist/references.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.js","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAMzD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAA;AAG9B;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IAC5B,YAA4B,QAAoB,EAAS,WAAoB;QAAjD,aAAQ,GAAR,QAAQ,CAAY;QAAS,gBAAW,GAAX,WAAW,CAAS;QAC7E,aAAQ,GAAG,GAAG,EAAE,CACZ,iCAAiC,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;IAFd,CAAC;CAGpF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AASzD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAiB,GAAkB,EAAgC,EAAE,CACjG,GAAG,KAAK,cAAc,CAAA;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAkB,GAAmB,EAA8B,EAAE,CACtG,GAAG,YAAY,mBAAmB,CAAA;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAkB,GAAmB,EAAa,EAAE,CACrE,GAAG,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAA0B,GAAkB,EAAsB,EAAE;IACjG,IAAI,GAAG,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAA;IACpB,CAAC;IACD,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,WAAW,CAAA;IAC1B,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAA;AACnB,CAAC,CAAA"}
|
package/dist/serializer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAA+C,MAAM,eAAe,CAAA;AAGxG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,EAOH,QAAQ,EAGX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhD;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,gBAAgB,CAAA;AAG3E;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAA;CACpE;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;CAAG;AAQ3E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IAEvC;;;;OAIG;IACH,sBAAsB,EAAE,OAAO,CAAA;IAE/B;;;;OAIG;IACH,uBAAuB,EAAE,uBAAuB,CAAA;IAEhD;;;;OAIG;IACH,uBAAuB,EAAE,uBAAuB,CAAA;CAEnD,CAAC,CAAA;AAGF;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,IAAI;IACzE;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAEtB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC,GAAG,oBAAoB,CAAA;AAGxB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAAE,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,uBAAuB,oBAAoB,KAAG,UAAU,CAAC,EAAE,CAClG,CAAA;AAGvD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAAE,eAAe,uBAAuB,CAAC,EAAE,EAAE,EAAE,CAAC,KAAG,UAAU,CAAC,EAAE,CA0JnI,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAChE,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EACtB,mCAAmC,uBAAuB,GAAG,oBAAoB,KAClF,gBAQS,CAAA"}
|
package/dist/serializer.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { asArray, keepDefineds, lazyMapGet, uniquesAmong } from "@lionweb/ts-utils";
|
|
2
2
|
import { asIds, metaPointerForFeature } from "./functions.js";
|
|
3
|
+
import { isRef, isReferenceToSet, UnresolvedReference } from "./references.js";
|
|
3
4
|
import { inheritsDirectlyFrom } from "./m3/functions.js";
|
|
4
5
|
import { Containment, Enumeration, PrimitiveType, Property, Reference, simpleNameDeducer } from "./m3/types.js";
|
|
5
6
|
import { LionWebVersions } from "./m3/versions.js";
|
|
@@ -94,8 +95,7 @@ export const serializerWith = (configuration) => {
|
|
|
94
95
|
}
|
|
95
96
|
serializedNode.containments.push({
|
|
96
97
|
containment: featureMetaPointer,
|
|
97
|
-
children: keepDefineds(
|
|
98
|
-
.map(childId => childId)
|
|
98
|
+
children: asIds(keepDefineds(children))
|
|
99
99
|
});
|
|
100
100
|
children.forEach(childOrNull => {
|
|
101
101
|
if (childOrNull !== null) {
|
|
@@ -105,18 +105,32 @@ export const serializerWith = (configuration) => {
|
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
107
|
if (feature instanceof Reference) {
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
const targets = asArray(value).filter((ref) => {
|
|
109
|
+
if (isRef(ref)) {
|
|
110
|
+
return true; // (1) ref is a node, having an ID
|
|
111
|
+
}
|
|
112
|
+
if (isReferenceToSet(ref)) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
return ref.targetId !== undefined || ref.resolveInfo !== undefined; // (2) not both are undefined
|
|
116
|
+
});
|
|
110
117
|
if (targets.length === 0 && !serializeEmptyFeatures) {
|
|
111
118
|
return;
|
|
112
119
|
}
|
|
113
120
|
serializedNode.references.push({
|
|
114
121
|
reference: featureMetaPointer,
|
|
115
|
-
targets:
|
|
116
|
-
.map(t =>
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
targets: targets
|
|
123
|
+
.map((t) => t instanceof UnresolvedReference
|
|
124
|
+
? {
|
|
125
|
+
resolveInfo: t.resolveInfo ?? null,
|
|
126
|
+
reference: t.targetId ?? null
|
|
127
|
+
// at least one of these will be non-null <== (2)
|
|
128
|
+
}
|
|
129
|
+
: {
|
|
130
|
+
resolveInfo: (reader.resolveInfoFor ? reader.resolveInfoFor(t, feature) : simpleNameDeducer(t, feature)) ?? null,
|
|
131
|
+
reference: t.id
|
|
132
|
+
// reference will be a non-null string (~(1))
|
|
133
|
+
})
|
|
120
134
|
});
|
|
121
135
|
return;
|
|
122
136
|
}
|
package/dist/serializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAc,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/F,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/core",
|
|
3
|
-
"version": "0.10.0-alpha.
|
|
3
|
+
"version": "0.10.0-alpha.2",
|
|
4
4
|
"description": "LionWeb core for {Java|Type}Script",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"release": "npm publish"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@lionweb/json": "0.10.0-alpha.
|
|
31
|
-
"@lionweb/ts-utils": "0.10.0-alpha.
|
|
30
|
+
"@lionweb/json": "0.10.0-alpha.2",
|
|
31
|
+
"@lionweb/ts-utils": "0.10.0-alpha.2"
|
|
32
32
|
}
|
|
33
33
|
}
|
package/src/deserializer.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { MemoisingSymbolTable } from "./m3/symbol-table.js"
|
|
|
6
6
|
import { Classifier, Containment, Enumeration, Language, PrimitiveType, Property, Reference } from "./m3/types.js"
|
|
7
7
|
import { LionWebVersion } from "./m3/version.js"
|
|
8
8
|
import { LionWebVersions } from "./m3/versions.js"
|
|
9
|
-
import {
|
|
9
|
+
import { UnresolvedReference } from "./references.js"
|
|
10
10
|
import { Node } from "./types.js"
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -105,7 +105,7 @@ export const deserializerWith = <NT extends Node>(configuration: DeserializerCon
|
|
|
105
105
|
return node
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
type ReferenceToInstall = [node: NT, feature: Reference, refId: LionWebId]
|
|
108
|
+
type ReferenceToInstall = [node: NT, feature: Reference, refId: LionWebId, resolveInfo?: string]
|
|
109
109
|
const referencesToInstall: ReferenceToInstall[] = []
|
|
110
110
|
|
|
111
111
|
const tryInstantiate = (
|
|
@@ -156,7 +156,6 @@ export const deserializerWith = <NT extends Node>(configuration: DeserializerCon
|
|
|
156
156
|
if (properties !== undefined) {
|
|
157
157
|
allFeatures
|
|
158
158
|
.filter(feature => feature instanceof Property)
|
|
159
|
-
.map(feature => feature as Property)
|
|
160
159
|
.forEach(property => {
|
|
161
160
|
if (property.key in serializedPropertiesPerKey) {
|
|
162
161
|
const value = serializedPropertiesPerKey[property.key][0].value
|
|
@@ -190,29 +189,33 @@ export const deserializerWith = <NT extends Node>(configuration: DeserializerCon
|
|
|
190
189
|
writer.setFeatureValue(node, feature, propertySettings[feature.key])
|
|
191
190
|
} else if (feature instanceof Containment && containments !== undefined && feature.key in serializedContainmentsPerKey) {
|
|
192
191
|
const childIds = serializedContainmentsPerKey[feature.key].flatMap(serChildren => serChildren.children) as LionWebId[]
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
// just set the 1st one:
|
|
202
|
-
const firstChildId = childIds[0]
|
|
203
|
-
if (firstChildId in serializedNodeById) {
|
|
204
|
-
writer.setFeatureValue(node, feature, instantiateMemoised(serializedNodeById[firstChildId], node))
|
|
192
|
+
const deserializeChild = (childId: LionWebId) => {
|
|
193
|
+
if (childId in serializedNodeById) {
|
|
194
|
+
const child = instantiateMemoised(serializedNodeById[childId], node)
|
|
195
|
+
if (child !== null) {
|
|
196
|
+
writer.setFeatureValue(node, feature, child)
|
|
197
|
+
} else {
|
|
198
|
+
problemReporter.reportProblem(`child with id=${childId} is not instantiable, so can’t add it to containment ${feature.name} on node with id=${node.id}`)
|
|
199
|
+
// TODO set/add an UnresolvedContainment?
|
|
205
200
|
}
|
|
201
|
+
} else {
|
|
202
|
+
problemReporter.reportProblem(`child with id=${childId} doesn’t reside in this serialization chunk, so can’t add it to containment ${feature.name} on node with id=${node.id}`)
|
|
206
203
|
}
|
|
207
204
|
}
|
|
205
|
+
if (feature.multiple) {
|
|
206
|
+
childIds.forEach(deserializeChild)
|
|
207
|
+
} else if (childIds.length > 0) {
|
|
208
|
+
// just set the 1st one:
|
|
209
|
+
deserializeChild(childIds[0])
|
|
210
|
+
}
|
|
208
211
|
} else if (feature instanceof Reference && references !== undefined && feature.key in serializedReferencesPerKey) {
|
|
209
212
|
const serRefs = (serializedReferencesPerKey[feature.key] ?? []).flatMap(serReferences =>
|
|
210
|
-
serReferences.targets
|
|
213
|
+
serReferences.targets
|
|
211
214
|
)
|
|
212
215
|
referencesToInstall.push(
|
|
213
|
-
...(serRefs.
|
|
214
|
-
|
|
215
|
-
)
|
|
216
|
+
...(serRefs.map(
|
|
217
|
+
({reference, resolveInfo}) => [node, feature, reference, resolveInfo] as ReferenceToInstall
|
|
218
|
+
))
|
|
216
219
|
)
|
|
217
220
|
}
|
|
218
221
|
})
|
|
@@ -236,17 +239,17 @@ export const deserializerWith = <NT extends Node>(configuration: DeserializerCon
|
|
|
236
239
|
|
|
237
240
|
const dependentNodesById = byIdMap(dependentNodes)
|
|
238
241
|
|
|
239
|
-
referencesToInstall.forEach(([node, reference, refId]) => {
|
|
242
|
+
referencesToInstall.forEach(([node, reference, refId, resolveInfo]) => {
|
|
240
243
|
const target = deserializedNodeById[refId] ?? dependentNodesById[refId]
|
|
241
244
|
const value = (() => {
|
|
242
|
-
if (target
|
|
243
|
-
|
|
244
|
-
problemReporter.reportProblem(
|
|
245
|
-
`couldn't resolve the target with id=${refId} of a "${reference.name}" reference on the node with id=${node.id}${metaTypeMessage}`
|
|
246
|
-
)
|
|
247
|
-
return unresolved
|
|
245
|
+
if (target !== undefined) {
|
|
246
|
+
return target
|
|
248
247
|
}
|
|
249
|
-
|
|
248
|
+
const metaTypeMessage = "concept" in node ? ` and (meta-)type ${node.concept}` : ""
|
|
249
|
+
problemReporter.reportProblem(
|
|
250
|
+
`couldn't resolve the target with id=${refId} of a "${reference.name}" reference on the node with id=${node.id}${metaTypeMessage}`
|
|
251
|
+
)
|
|
252
|
+
return new UnresolvedReference(refId, resolveInfo)
|
|
250
253
|
})()
|
|
251
254
|
writer.setFeatureValue(node, reference, value)
|
|
252
255
|
})
|
package/src/functions.ts
CHANGED
|
@@ -14,11 +14,10 @@ export const containmentChain = (node: Node): Node[] => {
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Maps an array of {@link Node AST nodes}
|
|
18
|
-
* These `null`s might be the result of unresolved children.
|
|
17
|
+
* Maps an array of {@link Node AST nodes} to their IDs.
|
|
19
18
|
*/
|
|
20
|
-
export const asIds = (
|
|
21
|
-
|
|
19
|
+
export const asIds = (nodes: Node[]): LionWebId[] =>
|
|
20
|
+
nodes.map(idOf)
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
/**
|
|
@@ -54,7 +54,6 @@ export const referenceValues = <NT extends Node, RT extends Node = NT>(
|
|
|
54
54
|
.flatMap((sourceNode) =>
|
|
55
55
|
allFeaturesOf(reader.classifierOf(sourceNode))
|
|
56
56
|
.filter((feature) => feature instanceof Reference)
|
|
57
|
-
.map((feature) => feature as Reference)
|
|
58
57
|
.flatMap((reference) => visit(sourceNode, reference))
|
|
59
58
|
)
|
|
60
59
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StringsMapper } from "@lionweb/ts-utils"
|
|
2
2
|
import { PropertyValueDeserializer } from "../deserializer.js"
|
|
3
3
|
import { Concept, DataType, Interface, Language, PrimitiveType, Property } from "./types.js"
|
|
4
|
-
import {
|
|
4
|
+
import { isRef } from "../references.js"
|
|
5
5
|
import { PropertyValueSerializer } from "../serializer.js"
|
|
6
6
|
|
|
7
7
|
|
|
@@ -49,7 +49,7 @@ export const propertyValueDeserializerFrom = (registry: Map<DataType, PropertyVa
|
|
|
49
49
|
throw new Error(`can't deserialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`)
|
|
50
50
|
}
|
|
51
51
|
const { type } = property
|
|
52
|
-
if (
|
|
52
|
+
if (!isRef(type)) {
|
|
53
53
|
throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`)
|
|
54
54
|
}
|
|
55
55
|
const specificDeserializer = byType(type)
|
|
@@ -89,7 +89,7 @@ export const propertyValueSerializerFrom = (registry: Map<DataType, PropertyValu
|
|
|
89
89
|
throw new Error(`can't serialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`)
|
|
90
90
|
}
|
|
91
91
|
const { type } = property
|
|
92
|
-
if (
|
|
92
|
+
if (!isRef(type)) {
|
|
93
93
|
throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`)
|
|
94
94
|
}
|
|
95
95
|
const specificSerializer = byType(type)
|
package/src/m3/functions.ts
CHANGED
|
@@ -303,7 +303,7 @@ const metaTypedBasedClassifierDeducerFor = <NT extends Node & IMetaTyped>(langua
|
|
|
303
303
|
* @return all {@link Concept concepts} defined in the given {@link Language language}.
|
|
304
304
|
*/
|
|
305
305
|
const conceptsOf = (language: Language): Concept[] =>
|
|
306
|
-
language.entities.filter((entity) => entity instanceof Concept)
|
|
306
|
+
language.entities.filter((entity) => entity instanceof Concept)
|
|
307
307
|
|
|
308
308
|
|
|
309
309
|
const isInstantiableClassifier = (entity: LanguageEntity): boolean =>
|
package/src/m3/types.ts
CHANGED
|
@@ -88,7 +88,7 @@ class Property extends Feature {
|
|
|
88
88
|
metaType(): string {
|
|
89
89
|
return "Property"
|
|
90
90
|
}
|
|
91
|
-
type: SingleRef<DataType> = referenceToSet
|
|
91
|
+
type: SingleRef<DataType> = referenceToSet // (reference)
|
|
92
92
|
ofType(type: DataType): Property {
|
|
93
93
|
this.type = type
|
|
94
94
|
return this
|
|
@@ -97,7 +97,7 @@ class Property extends Feature {
|
|
|
97
97
|
|
|
98
98
|
abstract class Link extends Feature {
|
|
99
99
|
multiple /*: boolean */ = false
|
|
100
|
-
type: SingleRef<Classifier> = referenceToSet
|
|
100
|
+
type: SingleRef<Classifier> = referenceToSet // (reference)
|
|
101
101
|
isMultiple() {
|
|
102
102
|
this.multiple = true
|
|
103
103
|
return this
|
|
@@ -176,7 +176,7 @@ class Annotation extends Classifier {
|
|
|
176
176
|
}
|
|
177
177
|
extends?: SingleRef<Annotation> // (reference)
|
|
178
178
|
readonly implements: MultiRef<Interface> = [] // (reference)
|
|
179
|
-
annotates: SingleRef<Classifier> = referenceToSet
|
|
179
|
+
annotates: SingleRef<Classifier> = referenceToSet // (reference)
|
|
180
180
|
constructor(language: Language, name: string, key: LionWebKey, id: LionWebId, extends_?: SingleRef<Annotation>) {
|
|
181
181
|
super(language, name, key, id)
|
|
182
182
|
this.extends = extends_
|
|
@@ -2,7 +2,7 @@ import { asMinimalJsonString } from "@lionweb/ts-utils"
|
|
|
2
2
|
import { shouldBeIdentical } from "../../builtins-common.js"
|
|
3
3
|
import { DataType, Property } from "../../types.js"
|
|
4
4
|
import { PropertyValueDeserializer } from "../../../deserializer.js"
|
|
5
|
-
import {
|
|
5
|
+
import { isRef } from "../../../references.js"
|
|
6
6
|
import { PropertyValueSerializer } from "../../../serializer.js"
|
|
7
7
|
import { v2023_1 } from "./version.js"
|
|
8
8
|
|
|
@@ -62,7 +62,7 @@ export class BuiltinPropertyValueDeserializer
|
|
|
62
62
|
throw new Error(`can't deserialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`)
|
|
63
63
|
}
|
|
64
64
|
const { type } = property
|
|
65
|
-
if (
|
|
65
|
+
if (!isRef(type)) {
|
|
66
66
|
throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`)
|
|
67
67
|
}
|
|
68
68
|
const specificDeserializer = this.byType(type)
|
|
@@ -104,7 +104,7 @@ export class BuiltinPropertyValueSerializer extends DataTypeRegistry<(value: unk
|
|
|
104
104
|
throw new Error(`can't serialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`)
|
|
105
105
|
}
|
|
106
106
|
const { type } = property
|
|
107
|
-
if (
|
|
107
|
+
if (!isRef(type)) {
|
|
108
108
|
throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`)
|
|
109
109
|
}
|
|
110
110
|
const specificSerializer = this.byType(type)
|
package/src/references.ts
CHANGED
|
@@ -1,42 +1,77 @@
|
|
|
1
|
+
import { LionWebId } from "@lionweb/json"
|
|
2
|
+
import { stringifyPropertiesOf } from "@lionweb/ts-utils"
|
|
3
|
+
|
|
1
4
|
import { Node } from "./types.js"
|
|
5
|
+
import { INamed } from "./m3/index.js"
|
|
2
6
|
|
|
3
7
|
|
|
4
8
|
/**
|
|
5
|
-
* The `unresolved` symbol indicates a reference value which hasn't been resolved yet.
|
|
9
|
+
* The `unresolved` “symbol” indicates a reference value which hasn't been resolved yet.
|
|
6
10
|
* It differs from an unset (`undefined`) value.
|
|
7
11
|
* This value shouldn’t be manipulated/compared to directly!
|
|
12
|
+
*
|
|
13
|
+
* @deprecated Use {@link referenceToSet} or {@link UnresolvedReference} instead.
|
|
8
14
|
*/
|
|
9
15
|
export const unresolved = null
|
|
10
16
|
|
|
17
|
+
|
|
11
18
|
/**
|
|
12
|
-
*
|
|
19
|
+
* Representation of an unresolved reference.
|
|
20
|
+
* At most one of `targetId` or `resolveInfo` can be `undefined`.
|
|
21
|
+
*
|
|
22
|
+
* *Note* that this instance will **not** exhibit object equality,
|
|
23
|
+
* i.e.: the resolved target of an unresolved reference will be a different object!
|
|
13
24
|
*/
|
|
14
|
-
export
|
|
25
|
+
export class UnresolvedReference {
|
|
26
|
+
constructor(public readonly targetId?: LionWebId, public resolveInfo?: string) {}
|
|
27
|
+
toString = () =>
|
|
28
|
+
`unresolved reference to target:` + stringifyPropertiesOf(this, "targetId", "resolveInfo")
|
|
29
|
+
}
|
|
15
30
|
|
|
16
31
|
/**
|
|
17
|
-
*
|
|
32
|
+
* A singleton representing an unset reference that’s meant to be set,
|
|
33
|
+
* distinguishing that from a reference that’s intentionally not set
|
|
34
|
+
* — which can only happen if that reference is (defined as) optional.
|
|
18
35
|
*/
|
|
19
|
-
export const referenceToSet = ()
|
|
20
|
-
unresolved
|
|
36
|
+
export const referenceToSet = Symbol("<unset reference>")
|
|
21
37
|
|
|
22
38
|
/**
|
|
23
39
|
* A type definition for a reference value that can be unresolved.
|
|
24
40
|
* Note: this type is primarily meant to be used to type nodes’ properties,
|
|
25
41
|
* but should be avoided as a return type for “auxiliary” functions.
|
|
26
42
|
*/
|
|
27
|
-
export type SingleRef<NT extends Node> = NT | UnresolvedReference
|
|
43
|
+
export type SingleRef<NT extends Node> = NT | UnresolvedReference | typeof referenceToSet
|
|
28
44
|
|
|
29
45
|
/**
|
|
30
|
-
* @return whether
|
|
46
|
+
* @return whether the given {@link UnresolvedReference} corresponds to an (explicitly-)unset (yet-to-set) reference.
|
|
31
47
|
*/
|
|
32
|
-
export const
|
|
33
|
-
ref
|
|
48
|
+
export const isReferenceToSet = <T extends Node>(ref?: SingleRef<T>): ref is typeof referenceToSet =>
|
|
49
|
+
ref === referenceToSet
|
|
34
50
|
|
|
35
51
|
/**
|
|
36
52
|
* Type function for the {@link UnresolvedReference} type.
|
|
37
53
|
*/
|
|
38
54
|
export const isUnresolvedReference = <NT extends Node>(ref?: SingleRef<NT>): ref is UnresolvedReference =>
|
|
39
|
-
ref
|
|
55
|
+
ref instanceof UnresolvedReference
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @return whether a given (at most) single-valued reference actually refers to something.
|
|
59
|
+
*/
|
|
60
|
+
export const isRef = <NT extends Node>(ref?: SingleRef<NT>): ref is NT =>
|
|
61
|
+
ref !== undefined && !isReferenceToSet(ref) && !isUnresolvedReference(ref)
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @return either the referenced node’s name, or the `resolveInfo` if the reference is unresolved, or `undefined`.
|
|
65
|
+
*/
|
|
66
|
+
export const tryToRenderAsText = <T extends Node & INamed>(ref?: SingleRef<T>): string | undefined => {
|
|
67
|
+
if (ref === undefined || isReferenceToSet(ref)) {
|
|
68
|
+
return undefined
|
|
69
|
+
}
|
|
70
|
+
if (isUnresolvedReference(ref)) {
|
|
71
|
+
return ref.resolveInfo
|
|
72
|
+
}
|
|
73
|
+
return ref.name
|
|
74
|
+
}
|
|
40
75
|
|
|
41
76
|
|
|
42
77
|
/**
|
package/src/serializer.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { LionWebId, LionWebJsonChunk, LionWebJsonNode } from "@lionweb/json"
|
|
1
|
+
import { LionWebId, LionWebJsonChunk, LionWebJsonNode, LionWebJsonReferenceTarget } from "@lionweb/json"
|
|
2
2
|
import { asArray, keepDefineds, lazyMapGet, Nested3Map, uniquesAmong } from "@lionweb/ts-utils"
|
|
3
3
|
import { asIds, metaPointerForFeature } from "./functions.js"
|
|
4
4
|
import { Reader } from "./reading.js"
|
|
5
|
+
import { isRef, isReferenceToSet, SingleRef, UnresolvedReference } from "./references.js"
|
|
5
6
|
import { Node } from "./types.js"
|
|
6
7
|
import { inheritsDirectlyFrom } from "./m3/functions.js"
|
|
7
8
|
import {
|
|
@@ -206,8 +207,7 @@ export const serializerWith = <NT extends Node, RT extends Node = NT>(configurat
|
|
|
206
207
|
}
|
|
207
208
|
serializedNode.containments.push({
|
|
208
209
|
containment: featureMetaPointer,
|
|
209
|
-
children: keepDefineds(
|
|
210
|
-
.map(childId => childId as string)
|
|
210
|
+
children: asIds(keepDefineds(children))
|
|
211
211
|
})
|
|
212
212
|
children.forEach(childOrNull => {
|
|
213
213
|
if (childOrNull !== null) {
|
|
@@ -217,19 +217,34 @@ export const serializerWith = <NT extends Node, RT extends Node = NT>(configurat
|
|
|
217
217
|
return
|
|
218
218
|
}
|
|
219
219
|
if (feature instanceof Reference) {
|
|
220
|
-
|
|
221
|
-
|
|
220
|
+
const targets = (asArray(value) as SingleRef<RT>[]).filter((ref) => {
|
|
221
|
+
if (isRef(ref)) {
|
|
222
|
+
return true // (1) ref is a node, having an ID
|
|
223
|
+
}
|
|
224
|
+
if (isReferenceToSet(ref)) {
|
|
225
|
+
return false
|
|
226
|
+
}
|
|
227
|
+
return ref.targetId !== undefined || ref.resolveInfo !== undefined // (2) not both are undefined
|
|
228
|
+
}) as (RT | UnresolvedReference)[]
|
|
222
229
|
if (targets.length === 0 && !serializeEmptyFeatures) {
|
|
223
230
|
return
|
|
224
231
|
}
|
|
225
232
|
serializedNode.references.push({
|
|
226
233
|
reference: featureMetaPointer,
|
|
227
|
-
targets:
|
|
228
|
-
.map(t =>
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
234
|
+
targets: targets
|
|
235
|
+
.map((t) =>
|
|
236
|
+
t instanceof UnresolvedReference
|
|
237
|
+
? {
|
|
238
|
+
resolveInfo: t.resolveInfo ?? null,
|
|
239
|
+
reference: t.targetId ?? null
|
|
240
|
+
// at least one of these will be non-null <== (2)
|
|
241
|
+
} as LionWebJsonReferenceTarget
|
|
242
|
+
: {
|
|
243
|
+
resolveInfo: (reader.resolveInfoFor ? reader.resolveInfoFor(t, feature) : simpleNameDeducer(t, feature)) ?? null,
|
|
244
|
+
reference: t.id
|
|
245
|
+
// reference will be a non-null string (~(1))
|
|
246
|
+
}
|
|
247
|
+
)
|
|
233
248
|
})
|
|
234
249
|
return
|
|
235
250
|
}
|