@lionweb/core 0.5.0-beta.2 → 0.5.0-beta.3
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 +1 -0
- package/dist/deserializer.d.ts +3 -3
- package/dist/deserializer.d.ts.map +1 -1
- package/dist/deserializer.js +15 -15
- package/dist/deserializer.js.map +1 -1
- package/dist/dynamic-facade.d.ts +19 -0
- package/dist/dynamic-facade.d.ts.map +1 -0
- package/dist/{dynamic-api.js → dynamic-facade.js} +8 -8
- package/dist/dynamic-facade.js.map +1 -0
- package/dist/{api.d.ts → facade.d.ts} +9 -9
- package/dist/facade.d.ts.map +1 -0
- package/dist/{api.js → facade.js} +4 -4
- package/dist/facade.js.map +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/m3/builtins.d.ts.map +1 -1
- package/dist/m3/builtins.js +2 -1
- package/dist/m3/builtins.js.map +1 -1
- package/dist/m3/deserializer.js +3 -3
- package/dist/m3/deserializer.js.map +1 -1
- package/dist/m3/facade.d.ts +16 -0
- package/dist/m3/facade.d.ts.map +1 -0
- package/dist/m3/{api.js → facade.js} +11 -11
- package/dist/m3/facade.js.map +1 -0
- package/dist/m3/functions.d.ts +1 -1
- package/dist/m3/functions.d.ts.map +1 -1
- package/dist/m3/index.d.ts +1 -1
- package/dist/m3/index.d.ts.map +1 -1
- package/dist/m3/index.js +1 -1
- package/dist/m3/index.js.map +1 -1
- package/dist/m3/lioncore.d.ts.map +1 -1
- package/dist/m3/lioncore.js +2 -1
- package/dist/m3/lioncore.js.map +1 -1
- package/dist/m3/serializer.d.ts.map +1 -1
- package/dist/m3/serializer.js +2 -2
- package/dist/m3/serializer.js.map +1 -1
- package/dist/serialization.d.ts +2 -1
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +4 -2
- package/dist/serialization.js.map +1 -1
- package/dist/serializer.d.ts +2 -2
- package/dist/serializer.d.ts.map +1 -1
- package/dist/serializer.js +7 -7
- package/dist/serializer.js.map +1 -1
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -3
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js.map +0 -1
- package/dist/dynamic-api.d.ts +0 -19
- package/dist/dynamic-api.d.ts.map +0 -1
- package/dist/dynamic-api.js.map +0 -1
- package/dist/m3/api.d.ts +0 -16
- package/dist/m3/api.d.ts.map +0 -1
- package/dist/m3/api.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 0.5.0
|
|
4
4
|
|
|
5
|
+
* Changed names: `ReadModelAPI` → `ExtractionFacade`, `WriteModelAPI` → `InstantiationFacade`.
|
|
5
6
|
* For Change name of `concept` fields to `classifier`, and their types (where applicable) to `Classifier`.
|
|
6
7
|
* Fix `license` field in `package.json` to `"Apache-2.0"`.
|
|
7
8
|
* Replace all occurrences of "LIon" (with uppercase 'I') with "Lion" (with lowercase 'i').
|
package/dist/deserializer.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Node } from "./types.js";
|
|
2
2
|
import { SerializationChunk } from "./serialization.js";
|
|
3
|
-
import {
|
|
3
|
+
import { InstantiationFacade } from "./facade.js";
|
|
4
4
|
import { Language } from "./m3/types.js";
|
|
5
5
|
/**
|
|
6
6
|
* @return a deserialization of a {@link SerializationChunk}
|
|
7
7
|
*
|
|
8
8
|
* @param serializationChunk - a {@link SerializedModel model} from its LionWeb serialization JSON format
|
|
9
|
-
* @param
|
|
9
|
+
* @param instantiationFacade - a {@link InstantiationFacade} that is used to instantiate nodes and set values on them
|
|
10
10
|
* @param languages - a {@link Language language} that the serialized model is expected to conform to
|
|
11
11
|
* @param dependentNodes - a collection of nodes from dependent models against which all references in the serialized model are supposed to resolve against
|
|
12
12
|
*/
|
|
13
|
-
export declare const deserializeChunk: <NT extends Node>(serializationChunk: SerializationChunk,
|
|
13
|
+
export declare const deserializeChunk: <NT extends Node>(serializationChunk: SerializationChunk, instantiationFacade: InstantiationFacade<NT>, languages: Language[], dependentNodes: Node[]) => NT[];
|
|
14
14
|
//# sourceMappingURL=deserializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,IAAI,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAoC,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AACxG,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,IAAI,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAoC,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AACxG,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAA;AAC/C,OAAO,EAKH,QAAQ,EAIX,MAAM,eAAe,CAAA;AAkBtB;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,wCACL,kBAAkB,2DAE3B,QAAQ,EAAE,kBAEL,IAAI,EAAE,SA4IzB,CAAA"}
|
package/dist/deserializer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { currentSerializationFormatVersion } from "./serialization.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Classifier, Containment, Enumeration, PrimitiveType, Property, Reference } from "./m3/types.js";
|
|
3
3
|
import { allFeaturesOf } from "./m3/functions.js";
|
|
4
4
|
import { deserializeBuiltin } from "./m3/builtins.js";
|
|
5
5
|
import { groupBy } from "./utils/grouping.js";
|
|
@@ -17,14 +17,14 @@ const byIdMap = (ts) => {
|
|
|
17
17
|
* @return a deserialization of a {@link SerializationChunk}
|
|
18
18
|
*
|
|
19
19
|
* @param serializationChunk - a {@link SerializedModel model} from its LionWeb serialization JSON format
|
|
20
|
-
* @param
|
|
20
|
+
* @param instantiationFacade - a {@link InstantiationFacade} that is used to instantiate nodes and set values on them
|
|
21
21
|
* @param languages - a {@link Language language} that the serialized model is expected to conform to
|
|
22
22
|
* @param dependentNodes - a collection of nodes from dependent models against which all references in the serialized model are supposed to resolve against
|
|
23
23
|
*/
|
|
24
|
-
export const deserializeChunk = (serializationChunk,
|
|
25
|
-
// TODO
|
|
24
|
+
export const deserializeChunk = (serializationChunk, instantiationFacade, languages,
|
|
25
|
+
// TODO facades <--> languages, so it's weird that it looks split up like this
|
|
26
26
|
dependentNodes
|
|
27
|
-
// TODO (#13) see if you can turn this into [nodes: Node[],
|
|
27
|
+
// TODO (#13) see if you can turn this into [nodes: Node[], instantiationFacade: InstantiationFacade<Node>][] after all
|
|
28
28
|
) => {
|
|
29
29
|
if (serializationChunk.serializationFormatVersion !== currentSerializationFormatVersion) {
|
|
30
30
|
throw new Error(`can't deserialize from serialization format other than version "${currentSerializationFormatVersion}"`);
|
|
@@ -55,12 +55,12 @@ dependentNodes
|
|
|
55
55
|
* Instantiates a {@link Node} from its {@link SerializedNode serialization}.
|
|
56
56
|
*/
|
|
57
57
|
const instantiate = ({ classifier: classifierMetaPointer, id, properties, children, references }, parent) => {
|
|
58
|
-
const
|
|
59
|
-
.find((element) => element instanceof
|
|
60
|
-
if (
|
|
58
|
+
const classifier = allEntities
|
|
59
|
+
.find((element) => element instanceof Classifier && element.key === classifierMetaPointer.key);
|
|
60
|
+
if (classifier === undefined) {
|
|
61
61
|
throw new Error(`can't deserialize a node having a classifier with key "${classifierMetaPointer.key}"`);
|
|
62
62
|
}
|
|
63
|
-
const allFeatures = allFeaturesOf(
|
|
63
|
+
const allFeatures = allFeaturesOf(classifier);
|
|
64
64
|
const propertySettings = {};
|
|
65
65
|
const serializedPropertiesPerKey = properties === undefined ? {} : groupBy(properties, (sp) => sp.property.key);
|
|
66
66
|
if (properties !== undefined) {
|
|
@@ -77,7 +77,7 @@ dependentNodes
|
|
|
77
77
|
if (property.type instanceof Enumeration) {
|
|
78
78
|
const literal = property.type.literals.find((literal) => literal.key = value);
|
|
79
79
|
if (literal !== undefined) {
|
|
80
|
-
propertySettings[property.key] =
|
|
80
|
+
propertySettings[property.key] = instantiationFacade.encodingOf(literal);
|
|
81
81
|
}
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
@@ -85,25 +85,25 @@ dependentNodes
|
|
|
85
85
|
}
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
|
-
const node =
|
|
88
|
+
const node = instantiationFacade.nodeFor(parent, classifier, id, propertySettings);
|
|
89
89
|
const serializedChildrenPerKey = children === undefined ? {} : groupBy(children, (sp) => sp.containment.key);
|
|
90
90
|
const serializedReferencesPerKey = references === undefined ? {} : groupBy(references, (sp) => sp.reference.key);
|
|
91
91
|
allFeatures
|
|
92
92
|
.forEach((feature) => {
|
|
93
93
|
if (feature instanceof Property && properties !== undefined && feature.key in serializedPropertiesPerKey) {
|
|
94
|
-
|
|
94
|
+
instantiationFacade.setFeatureValue(node, feature, propertySettings[feature.key]);
|
|
95
95
|
}
|
|
96
96
|
else if (feature instanceof Containment && children !== undefined && feature.key in serializedChildrenPerKey) {
|
|
97
97
|
const childIds = serializedChildrenPerKey[feature.key].flatMap((serChildren) => serChildren.children);
|
|
98
98
|
if (feature.multiple) {
|
|
99
99
|
childIds
|
|
100
100
|
.forEach((childId) => {
|
|
101
|
-
|
|
101
|
+
instantiationFacade.setFeatureValue(node, feature, instantiateMemoised(serializedNodeById[childId], node));
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
104
|
else {
|
|
105
105
|
if (childIds.length > 0) {
|
|
106
|
-
|
|
106
|
+
instantiationFacade.setFeatureValue(node, feature, instantiateMemoised(serializedNodeById[childIds[0]], node));
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -127,7 +127,7 @@ dependentNodes
|
|
|
127
127
|
}
|
|
128
128
|
return target;
|
|
129
129
|
};
|
|
130
|
-
|
|
130
|
+
instantiationFacade.setFeatureValue(node, reference, lookUpById());
|
|
131
131
|
});
|
|
132
132
|
return rootNodes;
|
|
133
133
|
};
|
package/dist/deserializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iCAAiC,EAAqC,MAAM,oBAAoB,CAAA;AAExG,OAAO,
|
|
1
|
+
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Node } from "./types.js";
|
|
2
|
+
import { ExtractionFacade, InstantiationFacade } from "./facade.js";
|
|
3
|
+
import { Classifier } from "./m3/types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Type definition for "dynamic nodes" that are not backed by specific types (e.g. classes).
|
|
6
|
+
*/
|
|
7
|
+
export type DynamicNode = Node & {
|
|
8
|
+
classifier: Classifier;
|
|
9
|
+
settings: Record<string, unknown>;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* An implementation of {@link ExtractionFacade} for {@link DynamicNode dynamic nodes}.
|
|
13
|
+
*/
|
|
14
|
+
export declare const dynamicExtractionFacade: ExtractionFacade<DynamicNode>;
|
|
15
|
+
/**
|
|
16
|
+
* An implementation of {@link InstantiationFacade} for {@link DynamicNode dynamic nodes}.
|
|
17
|
+
*/
|
|
18
|
+
export declare const dynamicInstantiationFacade: InstantiationFacade<DynamicNode>;
|
|
19
|
+
//# sourceMappingURL=dynamic-facade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-facade.d.ts","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,gBAAgB,EAAE,mBAAmB,EAAyB,MAAM,aAAa,CAAA;AACzF,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAGxC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAID;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,WAAW,CAQhE,CAAA;AAGF;;GAEG;AAEH,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,CAAC,WAAW,CAUtE,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { updateSettingsKeyBased } from "./
|
|
1
|
+
import { updateSettingsKeyBased } from "./facade.js";
|
|
2
2
|
// TODO could also have properties, containments, references - mimicking the serialization
|
|
3
3
|
/**
|
|
4
|
-
* An implementation of {@link
|
|
4
|
+
* An implementation of {@link ExtractionFacade} for {@link DynamicNode dynamic nodes}.
|
|
5
5
|
*/
|
|
6
|
-
export const
|
|
6
|
+
export const dynamicExtractionFacade = ({
|
|
7
7
|
classifierOf: (node) => node.classifier,
|
|
8
8
|
getFeatureValue: (node, feature) =>
|
|
9
9
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -12,12 +12,12 @@ export const dynamicReadModelAPI = ({
|
|
|
12
12
|
?? null // (undefined -> null)
|
|
13
13
|
});
|
|
14
14
|
/**
|
|
15
|
-
* An implementation of {@link
|
|
15
|
+
* An implementation of {@link InstantiationFacade} for {@link DynamicNode dynamic nodes}.
|
|
16
16
|
*/
|
|
17
|
-
export const
|
|
18
|
-
nodeFor: (_parent,
|
|
17
|
+
export const dynamicInstantiationFacade = ({
|
|
18
|
+
nodeFor: (_parent, classifier, id, _propertySettings) => ({
|
|
19
19
|
id,
|
|
20
|
-
classifier
|
|
20
|
+
classifier,
|
|
21
21
|
settings: {}
|
|
22
22
|
}),
|
|
23
23
|
setFeatureValue: (node, feature, value) => {
|
|
@@ -25,4 +25,4 @@ export const dynamicWriteModelAPI = ({
|
|
|
25
25
|
},
|
|
26
26
|
encodingOf: ({ key }) => key
|
|
27
27
|
});
|
|
28
|
-
//# sourceMappingURL=dynamic-
|
|
28
|
+
//# sourceMappingURL=dynamic-facade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-facade.js","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,sBAAsB,EAAC,MAAM,aAAa,CAAA;AAWzF,2FAA2F;AAG3F;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,CAAC;IACnE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU;IACvC,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvC,8DAA8D;IACrD,IAAI,CAAC,QAAgB,CAAC,OAAO,CAAC,GAAG,CAAC;IACvC,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAC3C,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC;WAChD,IAAI,CAAI,sBAAsB;CACxC,CAAC,CAAA;AAGF;;GAEG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,CAAC;IACzE,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACtD,EAAE;QACF,UAAU;QACV,QAAQ,EAAE,EAAE;KACC,CAAA;IACjB,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACtC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;IACD,UAAU,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG;CAC7B,CAAC,CAAA"}
|
|
@@ -5,13 +5,13 @@ import { Classifier, Enumeration, EnumerationLiteral, Feature } from "./m3/types
|
|
|
5
5
|
*/
|
|
6
6
|
type ClassifierDeducer<NT extends Node> = (node: NT) => Classifier;
|
|
7
7
|
/**
|
|
8
|
-
* Two interfaces that defines
|
|
8
|
+
* Two interfaces that defines façades for in-memory models.
|
|
9
9
|
* Instances/implementations of this interface parametrize generic (de-)serialization.
|
|
10
|
-
* Implementations of
|
|
10
|
+
* Implementations of these interfaces {w|c}ould be:
|
|
11
11
|
* - specific to Lioncore (so to match m3/types.ts)
|
|
12
|
-
* - generic
|
|
12
|
+
* - generic to deserialize into @link DynamicNode}
|
|
13
13
|
*/
|
|
14
|
-
interface
|
|
14
|
+
interface ExtractionFacade<NT extends Node> {
|
|
15
15
|
/**
|
|
16
16
|
* @return The {@link Concept concept} of the given node
|
|
17
17
|
*/
|
|
@@ -26,7 +26,7 @@ interface ReadModelAPI<NT extends Node> {
|
|
|
26
26
|
*/
|
|
27
27
|
enumerationLiteralFrom: (encoding: unknown, enumeration: Enumeration) => EnumerationLiteral | null;
|
|
28
28
|
}
|
|
29
|
-
interface
|
|
29
|
+
interface InstantiationFacade<NT extends Node> {
|
|
30
30
|
/**
|
|
31
31
|
* @return An instance of the given concept, also given its parent (or {@link undefined} for root nodes),
|
|
32
32
|
* its ID and the values of the node's properties ("settings").
|
|
@@ -52,11 +52,11 @@ type NodesExtractor<NT extends Node> = (nodes: NT) => NT[];
|
|
|
52
52
|
/**
|
|
53
53
|
* @return A function that extracts the children from a given node.
|
|
54
54
|
*/
|
|
55
|
-
declare const childrenExtractorUsing: <NT extends Node>(
|
|
55
|
+
declare const childrenExtractorUsing: <NT extends Node>(extractionFacade: ExtractionFacade<NT>) => NodesExtractor<NT>;
|
|
56
56
|
/**
|
|
57
57
|
* @return a function that extracts *all* nodes from a given start node - usually a root node.
|
|
58
58
|
*/
|
|
59
|
-
declare const nodesExtractorUsing: <NT extends Node>(
|
|
59
|
+
declare const nodesExtractorUsing: <NT extends Node>(extractionFacade: ExtractionFacade<NT>) => NodesExtractor<NT>;
|
|
60
60
|
/**
|
|
61
61
|
* Updates the value of the given {@link Feature feature} on the given "settings" object
|
|
62
62
|
* (either a {@link Node node} or a sub object of it), using the feature's *name*.
|
|
@@ -67,6 +67,6 @@ declare const updateSettingsNameBased: (settings: Record<string, unknown>, featu
|
|
|
67
67
|
* (either a {@link Node node} or a sub object of it), using the feature's *key*.
|
|
68
68
|
*/
|
|
69
69
|
declare const updateSettingsKeyBased: (settings: Record<string, unknown>, feature: Feature, value: unknown) => void;
|
|
70
|
-
export type { ClassifierDeducer, NodesExtractor,
|
|
70
|
+
export type { ClassifierDeducer, NodesExtractor, ExtractionFacade, InstantiationFacade };
|
|
71
71
|
export { childrenExtractorUsing, nodesExtractorUsing, updateSettingsKeyBased, updateSettingsNameBased };
|
|
72
|
-
//# sourceMappingURL=
|
|
72
|
+
//# sourceMappingURL=facade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAO,MAAM,eAAe,CAAA;AAKxF;;GAEG;AACH,KAAK,iBAAiB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,UAAU,CAAA;AAGlE;;;;;;GAMG;AAGH,UAAU,gBAAgB,CAAC,EAAE,SAAS,IAAI;IAEtC;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAEnC;;OAEG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAGxD;;;OAGG;IACH,sBAAsB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAA;CAErG;AAED,UAAU,mBAAmB,CAAC,EAAE,SAAS,IAAI;IAEzC;;;;OAIG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,EAAE,CAAA;IAEjI;;;OAGG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAGrE;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAA;CAEvD;AAED;;GAEG;AACH,KAAK,cAAc,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAA;AAE1D;;GAEG;AACH,QAAA,MAAM,sBAAsB,iFAIsE,CAAA;AAGlG;;GAEG;AACH,QAAA,MAAM,mBAAmB,iFACsE,CAAA;AAG/F;;;GAGG;AACH,QAAA,MAAM,uBAAuB,aAAc,OAAO,MAAM,EAAE,OAAO,CAAC,WAAW,OAAO,SAAS,OAAO,KAAG,IAUtG,CAAA;AAED;;;GAGG;AACH,QAAA,MAAM,sBAAsB,aAAc,OAAO,MAAM,EAAE,OAAO,CAAC,WAAW,OAAO,SAAS,OAAO,KAAG,IAUrG,CAAA;AAED,YAAY,EACR,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACtB,CAAA;AAED,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EAC1B,CAAA"}
|
|
@@ -4,13 +4,13 @@ import { allFeaturesOf, isContainment } from "./m3/functions.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* @return A function that extracts the children from a given node.
|
|
6
6
|
*/
|
|
7
|
-
const childrenExtractorUsing = (
|
|
7
|
+
const childrenExtractorUsing = (extractionFacade) => (node) => allFeaturesOf(extractionFacade.classifierOf(node))
|
|
8
8
|
.filter(isContainment)
|
|
9
|
-
.flatMap((containment) =>
|
|
9
|
+
.flatMap((containment) => extractionFacade.getFeatureValue(node, containment));
|
|
10
10
|
/**
|
|
11
11
|
* @return a function that extracts *all* nodes from a given start node - usually a root node.
|
|
12
12
|
*/
|
|
13
|
-
const nodesExtractorUsing = (
|
|
13
|
+
const nodesExtractorUsing = (extractionFacade) => flatMapNonCyclingFollowing(trivialFlatMapper, childrenExtractorUsing(extractionFacade));
|
|
14
14
|
/**
|
|
15
15
|
* Updates the value of the given {@link Feature feature} on the given "settings" object
|
|
16
16
|
* (either a {@link Node node} or a sub object of it), using the feature's *name*.
|
|
@@ -44,4 +44,4 @@ const updateSettingsKeyBased = (settings, feature, value) => {
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
export { childrenExtractorUsing, nodesExtractorUsing, updateSettingsKeyBased, updateSettingsNameBased };
|
|
47
|
-
//# sourceMappingURL=
|
|
47
|
+
//# sourceMappingURL=facade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AACA,OAAO,EAAuD,IAAI,EAAC,MAAM,eAAe,CAAA;AACxF,OAAO,EAAC,0BAA0B,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAA;AAClF,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAmE9D;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAAkB,gBAAsC,EAAsB,EAAE,CAC3G,CAAC,IAAQ,EAAQ,EAAE,CACf,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAC7C,MAAM,CAAC,aAAa,CAAC;KACrB,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAS,CAAC,CAAA;AAGlG;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAkB,gBAAsC,EAAsB,EAAE,CACxG,0BAA0B,CAAC,iBAAiB,EAAE,sBAAsB,CAAK,gBAAgB,CAAC,CAAC,CAAA;AAG/F;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,QAAiC,EAAE,OAAgB,EAAE,KAAc,EAAQ,EAAE;IAC1G,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IAC1B,IAAI,OAAO,YAAY,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACjC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;SACvB;QACA,QAAQ,CAAC,KAAK,CAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC7C;SAAM;QACH,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;KAC1B;AACL,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAAC,QAAiC,EAAE,OAAgB,EAAE,KAAc,EAAQ,EAAE;IACzG,MAAM,EAAC,GAAG,EAAC,GAAG,OAAO,CAAA;IACrB,IAAI,OAAO,YAAY,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;YAC/B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;SACrB;QACA,QAAQ,CAAC,GAAG,CAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC3C;SAAM;QACH,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;KACxB;AACL,CAAC,CAAA;AASD,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EAC1B,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
export * from "./api.js";
|
|
2
|
-
export * from "./types.js";
|
|
3
1
|
export * from "./deserializer.js";
|
|
4
|
-
export * from "./dynamic-
|
|
2
|
+
export * from "./dynamic-facade.js";
|
|
3
|
+
export * from "./facade.js";
|
|
5
4
|
export * from "./functions.js";
|
|
6
5
|
export * from "./id-generation.js";
|
|
7
6
|
export * from "./references.js";
|
|
8
7
|
export * from "./serializer.js";
|
|
9
8
|
export * from "./serialization.js";
|
|
10
|
-
export * from "./
|
|
9
|
+
export * from "./types.js";
|
|
11
10
|
export * from "./utils/index.js";
|
|
11
|
+
export * from "./version.js";
|
|
12
|
+
export * from "./m3/index.js";
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
export * from "./api.js";
|
|
2
|
-
export * from "./types.js";
|
|
3
1
|
export * from "./deserializer.js";
|
|
4
|
-
export * from "./dynamic-
|
|
2
|
+
export * from "./dynamic-facade.js";
|
|
3
|
+
export * from "./facade.js";
|
|
5
4
|
export * from "./functions.js";
|
|
6
5
|
export * from "./id-generation.js";
|
|
7
6
|
export * from "./references.js";
|
|
8
7
|
export * from "./serializer.js";
|
|
9
8
|
export * from "./serialization.js";
|
|
10
|
-
export * from "./
|
|
9
|
+
export * from "./types.js";
|
|
11
10
|
export * from "./utils/index.js";
|
|
11
|
+
export * from "./version.js";
|
|
12
|
+
export * from "./m3/index.js";
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,QAAQ,EAAC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,QAAQ,EAAC,MAAM,YAAY,CAAA;AAalF;;GAEG;AACH,QAAA,MAAM,gBAAgB,+BAAmB,CAAA;AA8BzC,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;AAE5F,QAAA,MAAM,iBAAiB;;;;;CAKtB,CAAA;AAED,QAAA,MAAM,kBAAkB;;;CAGvB,CAAA;AAED,QAAA,MAAM,eAAe;;CAEpB,CAAA;AAGD,QAAA,MAAM,gBAAgB,UAAW,gBAAgB,KAAG,MAcnD,CAAA;AAGD,QAAA,MAAM,kBAAkB,UAAW,MAAM,GAAG,SAAS,YAAY,QAAQ,KAAG,gBAAgB,GAAG,SAgB9F,CAAA;AAGD,YAAY,EACR,gBAAgB,EACnB,CAAA;AAED,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EACrB,CAAA"}
|
package/dist/m3/builtins.js
CHANGED
|
@@ -2,7 +2,8 @@ import { LanguageFactory } from "./factory.js";
|
|
|
2
2
|
import { lioncoreBuiltinsQName, lioncoreQNameSeparator } from "./types.js";
|
|
3
3
|
import { qualifiedNameBasedKeyGenerator } from "./key-generation.js";
|
|
4
4
|
import { checkAll } from "../id-generation.js";
|
|
5
|
-
|
|
5
|
+
import { currentReleaseVersion } from "../version.js";
|
|
6
|
+
const factory = new LanguageFactory(lioncoreBuiltinsQName, currentReleaseVersion, checkAll((qualifiedName) => qualifiedName), qualifiedNameBasedKeyGenerator(lioncoreQNameSeparator));
|
|
6
7
|
/**
|
|
7
8
|
* Definition of a LionCore language that serves as a standard library of built-in primitive types.
|
|
8
9
|
*/
|
package/dist/m3/builtins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAW,MAAM,YAAY,CAAA;AAClF,OAAO,EAAC,8BAA8B,EAAC,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAW,MAAM,YAAY,CAAA;AAClF,OAAO,EAAC,8BAA8B,EAAC,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAA;AAGnD,MAAM,OAAO,GAAG,IAAI,eAAe,CAC/B,qBAAqB,EACrB,qBAAqB,EACrB,QAAQ,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAc,CAAC,EAC3C,8BAA8B,CAAC,sBAAsB,CAAC,CACzD,CAAA;AAED;;GAEG;AACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAA;AAGzC,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AACtD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;AACxD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;AACxD,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;AAGlD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAG1C,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AAEjD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KAC/C,MAAM,CAAC,cAAc,CAAC,CAAA;AAE3B,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAGlC,gBAAgB,CAAC,cAAc,CAC3B,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,IAAI,EACJ,MAAM,CACT,CAAA;AAKD,MAAM,iBAAiB,GAAG;IACtB,cAAc;IACd,eAAe;IACf,eAAe;IACf,YAAY;CACf,CAAA;AAED,MAAM,kBAAkB,GAAG;IACvB,IAAI;IACJ,MAAM;CACT,CAAA;AAED,MAAM,eAAe,GAAG;IACpB,WAAW;CACd,CAAA;AAGD,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAU,EAAE;IACzD,QAAQ,OAAO,KAAK,EAAE;QAClB,KAAK,QAAQ,CAAC,CAAC,OAAO,KAAK,CAAA;QAC3B,KAAK,SAAS,CAAC,CAAC,OAAO,GAAG,KAAK,EAAE,CAAA;QACjC,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,KAAK,EAAE,CAAA,CAAI,+BAA+B;QACnE,KAAK,QAAQ,CAAC,CAAC;YACX,IAAI;gBACA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;aACrC;YAAC,OAAO,CAAC,EAAE;gBACR,eAAe;aAClB;SACJ;KACJ;IACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,KAAK,EAAE,CAAC,CAAA;AACjF,CAAC,CAAA;AAGD,MAAM,kBAAkB,GAAG,CAAC,KAAyB,EAAE,QAAkB,EAAgC,EAAE;IACvG,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACnB,OAAO,SAAS,CAAA;SACnB;QACD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;KACrF;IACD,MAAM,EAAC,IAAI,EAAC,GAAG,QAAQ,CAAA;IACvB,QAAQ,IAAK,CAAC,IAAI,EAAE;QAChB,KAAK,QAAQ,CAAC,CAAC,OAAO,KAAK,CAAA;QAC3B,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACxC,KAAK,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;QACpC,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAA;QAC/C;YACI,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAK,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,CAAA;KACnF;AACL,CAAC,CAAA;AAOD,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EACrB,CAAA"}
|
package/dist/m3/deserializer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { nodesExtractorUsing } from "../
|
|
1
|
+
import { lioncoreExtractionFacade, lioncoreInstantiationFacade } from "./facade.js";
|
|
2
|
+
import { nodesExtractorUsing } from "../facade.js";
|
|
3
3
|
import { deserializeChunk } from "../deserializer.js";
|
|
4
4
|
import { lioncore } from "./lioncore.js";
|
|
5
5
|
import { lioncoreBuiltins } from "./builtins.js";
|
|
@@ -8,7 +8,7 @@ import { lioncoreBuiltins } from "./builtins.js";
|
|
|
8
8
|
* as an instance of the LionCore metametamodel, using {@link _M3Concept these type definitions}.
|
|
9
9
|
*/
|
|
10
10
|
export const deserializeLanguage = (serializationChunk, ...dependentMetamodels) => {
|
|
11
|
-
const language = deserializeChunk(serializationChunk,
|
|
11
|
+
const language = deserializeChunk(serializationChunk, lioncoreInstantiationFacade, [lioncore], [lioncoreBuiltins, ...dependentMetamodels].flatMap(nodesExtractorUsing(lioncoreExtractionFacade)))[0];
|
|
12
12
|
language.dependingOn(...dependentMetamodels);
|
|
13
13
|
return language;
|
|
14
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,wBAAwB,EAAE,2BAA2B,EAAC,MAAM,aAAa,CAAA;AACjF,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAA;AAChD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAA;AAG9C;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,kBAAsC,EAAE,GAAG,mBAA+B,EAAY,EAAE;IACxH,MAAM,QAAQ,GAAG,gBAAgB,CAC7B,kBAAkB,EAClB,2BAA2B,EAC3B,CAAC,QAAQ,CAAC,EACV,CAAC,gBAAgB,EAAE,GAAG,mBAAmB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CACpG,CAAC,CAAC,CAAa,CAAA;IAChB,QAAQ,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC5C,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA;AACD,sHAAsH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ExtractionFacade, InstantiationFacade } from "../facade.js";
|
|
2
|
+
import { M3Concept } from "./types.js";
|
|
3
|
+
import { KeyGenerator } from "./key-generation.js";
|
|
4
|
+
export declare const lioncoreExtractionFacade: ExtractionFacade<M3Concept>;
|
|
5
|
+
/**
|
|
6
|
+
* @return An implementation of {@link InstantiationFacade} for instances of the LionCore M3 (so M2s).
|
|
7
|
+
* The returned {@link InstantiationFacade} uses the given {@link KeyGenerator key generator} to generate the keys of all objects in the M2.
|
|
8
|
+
*/
|
|
9
|
+
export declare const lioncoreInstantiationFacadeWithKeyGen: (keyGen: KeyGenerator) => InstantiationFacade<M3Concept>;
|
|
10
|
+
/**
|
|
11
|
+
* An implementation of {@link InstantiationFacade} for instances of the LionCore M3 (so M2s), where key = name.
|
|
12
|
+
*
|
|
13
|
+
* TODO deprecate this: [de-]serialization of metamodels should be parametrized with key generation throughout
|
|
14
|
+
*/
|
|
15
|
+
export declare const lioncoreInstantiationFacade: InstantiationFacade<M3Concept>;
|
|
16
|
+
//# sourceMappingURL=facade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../../src/m3/facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,mBAAmB,EAA0B,MAAM,cAAc,CAAA;AAC3F,OAAO,EAQH,SAAS,EAIZ,MAAM,YAAY,CAAA;AAInB,OAAO,EAAC,YAAY,EAAqB,MAAM,qBAAqB,CAAA;AAMpE,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,CAAC,SAAS,CAM/D,CAAA;AAGF;;;GAGG;AACH,eAAO,MAAM,qCAAqC,WAAY,YAAY,KAAG,oBAAoB,SAAS,CA6BxG,CAAA;AAGF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,gCAA4D,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { updateSettingsNameBased } from "../
|
|
1
|
+
import { updateSettingsNameBased } from "../facade.js";
|
|
2
2
|
import { Concept, ConceptInterface, Containment, Enumeration, EnumerationLiteral, Language, PrimitiveType, Property, Reference } from "./types.js";
|
|
3
3
|
import { builtinFeatures } from "./builtins.js";
|
|
4
4
|
import { lioncore, metaConcepts, metaFeatures } from "./lioncore.js";
|
|
5
5
|
import { classBasedClassifierDeducerFor, qualifiedNameOf } from "./functions.js";
|
|
6
6
|
import { nameIsKeyGenerator } from "./key-generation.js";
|
|
7
7
|
const { inamed_name } = builtinFeatures;
|
|
8
|
-
export const
|
|
8
|
+
export const lioncoreExtractionFacade = ({
|
|
9
9
|
classifierOf: classBasedClassifierDeducerFor(lioncore),
|
|
10
10
|
getFeatureValue: (node, feature) =>
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -13,12 +13,12 @@ export const lioncoreReadAPI = ({
|
|
|
13
13
|
enumerationLiteralFrom: (value, _) => value
|
|
14
14
|
});
|
|
15
15
|
/**
|
|
16
|
-
* @return An implementation of {@link
|
|
17
|
-
* The returned {@link
|
|
16
|
+
* @return An implementation of {@link InstantiationFacade} for instances of the LionCore M3 (so M2s).
|
|
17
|
+
* The returned {@link InstantiationFacade} uses the given {@link KeyGenerator key generator} to generate the keys of all objects in the M2.
|
|
18
18
|
*/
|
|
19
|
-
export const
|
|
20
|
-
nodeFor: (parent,
|
|
21
|
-
switch (
|
|
19
|
+
export const lioncoreInstantiationFacadeWithKeyGen = (keyGen) => ({
|
|
20
|
+
nodeFor: (parent, classifier, id, propertySettings) => {
|
|
21
|
+
switch (classifier.key) {
|
|
22
22
|
case metaConcepts.concept.key:
|
|
23
23
|
return new Concept(parent, propertySettings[inamed_name.key], "", id, propertySettings[metaFeatures.concept_abstract.key]).keyed(keyGen);
|
|
24
24
|
case metaConcepts.conceptInterface.key:
|
|
@@ -38,7 +38,7 @@ export const lioncoreWriteAPIWithKeyGen = (keyGen) => ({
|
|
|
38
38
|
case metaConcepts.reference.key:
|
|
39
39
|
return new Reference(parent, propertySettings[inamed_name.key], "", id).keyed(keyGen);
|
|
40
40
|
default:
|
|
41
|
-
throw new Error(`can't deserialize a node of concept "${qualifiedNameOf(
|
|
41
|
+
throw new Error(`can't deserialize a node of concept "${qualifiedNameOf(classifier)}" with key "${classifier.key}"`);
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
setFeatureValue: (node, feature, value) => {
|
|
@@ -47,9 +47,9 @@ export const lioncoreWriteAPIWithKeyGen = (keyGen) => ({
|
|
|
47
47
|
encodingOf: (literal) => literal
|
|
48
48
|
});
|
|
49
49
|
/**
|
|
50
|
-
* An implementation of {@link
|
|
50
|
+
* An implementation of {@link InstantiationFacade} for instances of the LionCore M3 (so M2s), where key = name.
|
|
51
51
|
*
|
|
52
52
|
* TODO deprecate this: [de-]serialization of metamodels should be parametrized with key generation throughout
|
|
53
53
|
*/
|
|
54
|
-
export const
|
|
55
|
-
//# sourceMappingURL=
|
|
54
|
+
export const lioncoreInstantiationFacade = lioncoreInstantiationFacadeWithKeyGen(nameIsKeyGenerator);
|
|
55
|
+
//# sourceMappingURL=facade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../../src/m3/facade.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/functions.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { Annotation, Classifier, Concept, Containment, Datatype, Enumeration, Feature, IKeyed, INamed, Language, LanguageEntity, Link, M3Concept, Property, Reference } from "./types.js";
|
|
5
5
|
import { unresolved } from "../references.js";
|
|
6
6
|
import { Id, Node } from "../types.js";
|
|
7
|
-
import { ClassifierDeducer } from "../
|
|
7
|
+
import { ClassifierDeducer } from "../facade.js";
|
|
8
8
|
import { containmentChain } from "../functions.js";
|
|
9
9
|
/**
|
|
10
10
|
* @return The type of the given {@link Feature}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACH,UAAU,EACV,UAAU,EACV,OAAO,EAEP,WAAW,EACX,QAAQ,EACR,WAAW,EACX,OAAO,EACP,MAAM,EACN,MAAM,EAEN,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAQ,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAIlD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AACpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from "./builtins.js";
|
|
2
|
-
export * from "./types.js";
|
|
3
2
|
export * from "./constraints.js";
|
|
4
3
|
export * from "./deserializer.js";
|
|
5
4
|
export * from "./factory.js";
|
|
@@ -9,4 +8,5 @@ export * from "./lioncore.js";
|
|
|
9
8
|
export * from "./reference-checker.js";
|
|
10
9
|
export * from "./serializer.js";
|
|
11
10
|
export * from "./textual-syntax.js";
|
|
11
|
+
export * from "./types.js";
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/m3/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA"}
|
package/dist/m3/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from "./builtins.js";
|
|
2
|
-
export * from "./types.js";
|
|
3
2
|
export * from "./constraints.js";
|
|
4
3
|
export * from "./deserializer.js";
|
|
5
4
|
export * from "./factory.js";
|
|
@@ -9,4 +8,5 @@ export * from "./lioncore.js";
|
|
|
9
8
|
export * from "./reference-checker.js";
|
|
10
9
|
export * from "./serializer.js";
|
|
11
10
|
export * from "./textual-syntax.js";
|
|
11
|
+
export * from "./types.js";
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
package/dist/m3/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lioncore.d.ts","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lioncore.d.ts","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,gBAAgB,CAAA;AA8BnC;;GAEG;AACH,eAAO,MAAM,QAAQ,+BAA4C,CAAA;AAsMjE,eAAO,MAAM,YAAY;;;;;;;;;;;CAWxB,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAmBxB,CAAA;AAED,OAAO,EAAC,aAAa,EAAC,CAAA"}
|
package/dist/m3/lioncore.js
CHANGED
|
@@ -2,8 +2,9 @@ import { LanguageFactory } from "./factory.js";
|
|
|
2
2
|
import { builtinClassifiers, builtinPrimitives } from "./builtins.js";
|
|
3
3
|
import { Classifier, EnumerationLiteral, Feature, lioncoreQNameSeparator } from "./types.js";
|
|
4
4
|
import { checkAll } from "../id-generation.js";
|
|
5
|
+
import { currentReleaseVersion } from "../version.js";
|
|
5
6
|
const lioncoreQName = "LionCore-M3";
|
|
6
|
-
const factory = new LanguageFactory("LionCore.M3",
|
|
7
|
+
const factory = new LanguageFactory("LionCore.M3", currentReleaseVersion, checkAll((qualifiedName) => "-id-" +
|
|
7
8
|
(qualifiedName === "LionCore.M3"
|
|
8
9
|
? lioncoreQName
|
|
9
10
|
: qualifiedName
|
package/dist/m3/lioncore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lioncore.js","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAA;AACnE,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,EAAC,MAAM,YAAY,CAAA;AAC1F,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"lioncore.js","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/m3/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAKtD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,aAAc,QAAQ,KAAG,
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/m3/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAKtD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,aAAc,QAAQ,KAAG,kBACC,CAAA"}
|
package/dist/m3/serializer.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { serializeNodes } from "../serializer.js";
|
|
2
|
-
import {
|
|
2
|
+
import { lioncoreExtractionFacade } from "./facade.js";
|
|
3
3
|
/**
|
|
4
4
|
* Serializes a language (i.e., an instance of the LionCore metametamodel,
|
|
5
5
|
* using {@link M3Concept these type definitions})
|
|
6
6
|
* into the LionWeb serialization JSON format.
|
|
7
7
|
*/
|
|
8
|
-
export const serializeLanguage = (language) => serializeNodes([language],
|
|
8
|
+
export const serializeLanguage = (language) => serializeNodes([language], lioncoreExtractionFacade);
|
|
9
9
|
//# sourceMappingURL=serializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/m3/serializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/m3/serializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,wBAAwB,EAAC,MAAM,aAAa,CAAA;AAGpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAkB,EAAsB,EAAE,CACxE,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC,CAAA"}
|
package/dist/serialization.d.ts
CHANGED
|
@@ -37,7 +37,8 @@ export type SerializedLanguageReference = {
|
|
|
37
37
|
version: string;
|
|
38
38
|
};
|
|
39
39
|
/**
|
|
40
|
-
* The <em>current</em> version of the serialization format
|
|
40
|
+
* The <em>current</em> version of the serialization format -
|
|
41
|
+
* should fundamentally equal `currentReleaseVersion`.
|
|
41
42
|
*/
|
|
42
43
|
export declare const currentSerializationFormatVersion = "2023.1";
|
|
43
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,YAAY,CAAA;AAI7B,MAAM,MAAM,GAAG,GAAG,EAAE,EAAE,CAAA;AAGtB,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,GAAG,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,EAAE,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,SAAS,EAAE,WAAW,CAAA;IACtB,OAAO,EAAE,yBAAyB,EAAE,CAAA;CACvC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,WAAW,CAAA;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,kBAAkB,EAAE,CAAA;IAChC,QAAQ,EAAE,qBAAqB,EAAE,CAAA;IACjC,UAAU,EAAE,mBAAmB,EAAE,CAAA;IACjC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAA;CACpB,CAAA;AAGD,MAAM,MAAM,2BAA2B,GAAG;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAGD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,WAAwB,CAAA;AAGtE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,0BAA0B,EAAE,MAAM,CAAA;IAClC,SAAS,EAAE,2BAA2B,EAAE,CAAA;IACxC,KAAK,EAAE,cAAc,EAAE,CAAA;CAC1B,CAAA"}
|
package/dist/serialization.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { currentReleaseVersion } from "./version.js";
|
|
1
2
|
/**
|
|
2
|
-
* The <em>current</em> version of the serialization format
|
|
3
|
+
* The <em>current</em> version of the serialization format -
|
|
4
|
+
* should fundamentally equal `currentReleaseVersion`.
|
|
3
5
|
*/
|
|
4
|
-
export const currentSerializationFormatVersion =
|
|
6
|
+
export const currentSerializationFormatVersion = currentReleaseVersion;
|
|
5
7
|
//# sourceMappingURL=serialization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAA;AAmDlD;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,qBAAqB,CAAA"}
|
package/dist/serializer.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExtractionFacade } from "./facade.js";
|
|
2
2
|
import { SerializationChunk } from "./serialization.js";
|
|
3
3
|
import { Node } from "./types.js";
|
|
4
4
|
/**
|
|
5
5
|
* @return a {@link SerializationChunk} of the given model (i.e., an array of {@link Node nodes} - the first argument) to the LionWeb serialization JSON format.
|
|
6
6
|
*/
|
|
7
|
-
export declare const serializeNodes: <NT extends Node>(nodes: NT[],
|
|
7
|
+
export declare const serializeNodes: <NT extends Node>(nodes: NT[], extractionFacade: ExtractionFacade<NT>) => SerializationChunk;
|
|
8
8
|
//# sourceMappingURL=serializer.d.ts.map
|
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,EAAC,
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAiD,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AAErH,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAO/B;;GAEG;AACH,eAAO,MAAM,cAAc,4EAA2E,kBA8FrG,CAAA"}
|
package/dist/serializer.js
CHANGED
|
@@ -7,7 +7,7 @@ import { lioncoreBuiltins, serializeBuiltin } from "./m3/builtins.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* @return a {@link SerializationChunk} of the given model (i.e., an array of {@link Node nodes} - the first argument) to the LionWeb serialization JSON format.
|
|
9
9
|
*/
|
|
10
|
-
export const serializeNodes = (nodes,
|
|
10
|
+
export const serializeNodes = (nodes, extractionFacade) => {
|
|
11
11
|
const serializedNodes = []; // keep nodes as much as possible "in order"
|
|
12
12
|
const ids = {}; // maintain a map to keep track of IDs of nodes that have been serialized
|
|
13
13
|
const languagesUsed = [];
|
|
@@ -20,15 +20,15 @@ export const serializeNodes = (nodes, api) => {
|
|
|
20
20
|
if (ids[node.id]) {
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
|
-
const
|
|
24
|
-
const language =
|
|
23
|
+
const classifier = extractionFacade.classifierOf(node);
|
|
24
|
+
const language = classifier.language;
|
|
25
25
|
registerLanguageUsed(language);
|
|
26
26
|
const serializedNode = {
|
|
27
27
|
id: node.id,
|
|
28
28
|
classifier: {
|
|
29
29
|
language: language.key,
|
|
30
30
|
version: language.version,
|
|
31
|
-
key:
|
|
31
|
+
key: classifier.key
|
|
32
32
|
},
|
|
33
33
|
properties: [],
|
|
34
34
|
children: [],
|
|
@@ -37,8 +37,8 @@ export const serializeNodes = (nodes, api) => {
|
|
|
37
37
|
};
|
|
38
38
|
serializedNodes.push(serializedNode);
|
|
39
39
|
ids[node.id] = true;
|
|
40
|
-
allFeaturesOf(
|
|
41
|
-
const value =
|
|
40
|
+
allFeaturesOf(classifier).forEach((feature) => {
|
|
41
|
+
const value = extractionFacade.getFeatureValue(node, feature);
|
|
42
42
|
const featureLanguage = feature.classifier.language;
|
|
43
43
|
registerLanguageUsed(featureLanguage);
|
|
44
44
|
const featureMetaPointer = {
|
|
@@ -53,7 +53,7 @@ export const serializeNodes = (nodes, api) => {
|
|
|
53
53
|
return serializeBuiltin(value);
|
|
54
54
|
}
|
|
55
55
|
if (feature.type instanceof Enumeration) {
|
|
56
|
-
return
|
|
56
|
+
return extractionFacade.enumerationLiteralFrom(value, feature.type)?.key
|
|
57
57
|
?? null; // (undefined -> null)
|
|
58
58
|
}
|
|
59
59
|
return null;
|
package/dist/serializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iCAAiC,EAAkD,MAAM,oBAAoB,CAAA;AACrH,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAY,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAC9G,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAmB,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAA;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAkB,KAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAA"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/core",
|
|
3
|
-
"version": "0.5.0-beta.
|
|
3
|
+
"version": "0.5.0-beta.3",
|
|
4
4
|
"description": "LionWeb core for {Java|Type}Script",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"license": "Apache-2.0",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
12
|
-
"url": "https://github.com/LionWeb-
|
|
12
|
+
"url": "https://github.com/LionWeb-io/lionweb-typescript.git"
|
|
13
13
|
},
|
|
14
14
|
"bugs": {
|
|
15
|
-
"url": "https://github.com/LionWeb-
|
|
15
|
+
"url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"typescript": "5.2.2"
|
package/dist/api.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAO,MAAM,eAAe,CAAA;AAKxF;;GAEG;AACH,KAAK,iBAAiB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,UAAU,CAAA;AAGlE;;;;;;GAMG;AAGH,UAAU,YAAY,CAAC,EAAE,SAAS,IAAI;IAElC;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAEnC;;OAEG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAGxD;;;OAGG;IACH,sBAAsB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAA;CAErG;AAED,UAAU,aAAa,CAAC,EAAE,SAAS,IAAI;IAEnC;;;;OAIG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,EAAE,CAAA;IAEjI;;;OAGG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAGrE;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAA;CAEvD;AAED;;GAEG;AACH,KAAK,cAAc,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAA;AAE1D;;GAEG;AACH,QAAA,MAAM,sBAAsB,gEAIyD,CAAA;AAGrF;;GAEG;AACH,QAAA,MAAM,mBAAmB,gEACyD,CAAA;AAGlF;;;GAGG;AACH,QAAA,MAAM,uBAAuB,aAAc,OAAO,MAAM,EAAE,OAAO,CAAC,WAAW,OAAO,SAAS,OAAO,KAAG,IAUtG,CAAA;AAED;;;GAGG;AACH,QAAA,MAAM,sBAAsB,aAAc,OAAO,MAAM,EAAE,OAAO,CAAC,WAAW,OAAO,SAAS,OAAO,KAAG,IAUrG,CAAA;AAED,YAAY,EACR,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,aAAa,EAChB,CAAA;AAED,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EAC1B,CAAA"}
|
package/dist/api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAuD,IAAI,EAAC,MAAM,eAAe,CAAA;AACxF,OAAO,EAAC,0BAA0B,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAA;AAClF,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAmE9D;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAAkB,GAAqB,EAAsB,EAAE,CAC1F,CAAC,IAAQ,EAAQ,EAAE,CACf,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAChC,MAAM,CAAC,aAAa,CAAC;KACrB,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAS,CAAC,CAAA;AAGrF;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAkB,GAAqB,EAAsB,EAAE,CACvF,0BAA0B,CAAC,iBAAiB,EAAE,sBAAsB,CAAK,GAAG,CAAC,CAAC,CAAA;AAGlF;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,QAAiC,EAAE,OAAgB,EAAE,KAAc,EAAQ,EAAE;IAC1G,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IAC1B,IAAI,OAAO,YAAY,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACjC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;SACvB;QACA,QAAQ,CAAC,KAAK,CAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC7C;SAAM;QACH,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;KAC1B;AACL,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAAC,QAAiC,EAAE,OAAgB,EAAE,KAAc,EAAQ,EAAE;IACzG,MAAM,EAAC,GAAG,EAAC,GAAG,OAAO,CAAA;IACrB,IAAI,OAAO,YAAY,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;YAC/B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;SACrB;QACA,QAAQ,CAAC,GAAG,CAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC3C;SAAM;QACH,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;KACxB;AACL,CAAC,CAAA;AASD,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EAC1B,CAAA"}
|
package/dist/dynamic-api.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Node } from "./types.js";
|
|
2
|
-
import { ReadModelAPI, WriteModelAPI } from "./api.js";
|
|
3
|
-
import { Classifier } from "./m3/types.js";
|
|
4
|
-
/**
|
|
5
|
-
* Type definition for "dynamic nodes" that are not backed by specific types (e.g. classes).
|
|
6
|
-
*/
|
|
7
|
-
export type DynamicNode = Node & {
|
|
8
|
-
classifier: Classifier;
|
|
9
|
-
settings: Record<string, unknown>;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* An implementation of {@link ReadModelAPI} for {@link DynamicNode dynamic nodes}.
|
|
13
|
-
*/
|
|
14
|
-
export declare const dynamicReadModelAPI: ReadModelAPI<DynamicNode>;
|
|
15
|
-
/**
|
|
16
|
-
* An implementation of {@link WriteModelAPI} for {@link DynamicNode dynamic nodes}.
|
|
17
|
-
*/
|
|
18
|
-
export declare const dynamicWriteModelAPI: WriteModelAPI<DynamicNode>;
|
|
19
|
-
//# sourceMappingURL=dynamic-api.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-api.d.ts","sourceRoot":"","sources":["../src/dynamic-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,YAAY,EAA0B,aAAa,EAAC,MAAM,UAAU,CAAA;AAC5E,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAGxC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAID;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,WAAW,CAQxD,CAAA;AAGF;;GAEG;AAEH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,WAAW,CAU1D,CAAA"}
|
package/dist/dynamic-api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-api.js","sourceRoot":"","sources":["../src/dynamic-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,sBAAsB,EAAgB,MAAM,UAAU,CAAA;AAW5E,2FAA2F;AAG3F;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA8B,CAAC;IAC3D,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU;IACvC,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvC,8DAA8D;IACrD,IAAI,CAAC,QAAgB,CAAC,OAAO,CAAC,GAAG,CAAC;IACvC,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAC3C,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC;WAChD,IAAI,CAAI,sBAAsB;CACxC,CAAC,CAAA;AAGF;;GAEG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,CAAC;IAC7D,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACnD,EAAE;QACF,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,EAAE;KACC,CAAA;IACjB,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACtC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;IACD,UAAU,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG;CAC7B,CAAC,CAAA"}
|
package/dist/m3/api.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ReadModelAPI, WriteModelAPI } from "../api.js";
|
|
2
|
-
import { M3Concept } from "./types.js";
|
|
3
|
-
import { KeyGenerator } from "./key-generation.js";
|
|
4
|
-
export declare const lioncoreReadAPI: ReadModelAPI<M3Concept>;
|
|
5
|
-
/**
|
|
6
|
-
* @return An implementation of {@link WriteModelAPI write-part of the model API} for instances of the LionCore M3 (so M2s).
|
|
7
|
-
* The returned {@link ModelAPI model API} uses the given {@link KeyGenerator key generator} to generate the keys of all objects in the M2.
|
|
8
|
-
*/
|
|
9
|
-
export declare const lioncoreWriteAPIWithKeyGen: (keyGen: KeyGenerator) => WriteModelAPI<M3Concept>;
|
|
10
|
-
/**
|
|
11
|
-
* An implementation of {@link WriteModelAPI} for instances of the LionCore M3 (so M2s), where key = name.
|
|
12
|
-
*
|
|
13
|
-
* TODO deprecate this: [de-]serialization of metamodels should be parametrized with key generation throughout
|
|
14
|
-
*/
|
|
15
|
-
export declare const lioncoreWriteAPI: WriteModelAPI<M3Concept>;
|
|
16
|
-
//# sourceMappingURL=api.d.ts.map
|
package/dist/m3/api.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/m3/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAA2B,aAAa,EAAC,MAAM,WAAW,CAAA;AAC9E,OAAO,EAQH,SAAS,EAIZ,MAAM,YAAY,CAAA;AAInB,OAAO,EAAC,YAAY,EAAqB,MAAM,qBAAqB,CAAA;AAMpE,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,SAAS,CAMlD,CAAA;AAGF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,WAAY,YAAY,KAAG,cAAc,SAAS,CA6BvF,CAAA;AAGF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,0BAAiD,CAAA"}
|
package/dist/m3/api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/m3/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,uBAAuB,EAAgB,MAAM,WAAW,CAAA;AAC9E,OAAO,EAEH,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,QAAQ,EAER,aAAa,EACb,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,eAAe,CAAA;AAClE,OAAO,EAAC,8BAA8B,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAe,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAGpE,MAAM,EAAC,WAAW,EAAC,GAAG,eAAe,CAAA;AAGrC,MAAM,CAAC,MAAM,eAAe,GAA4B,CAAC;IACrD,YAAY,EAAE,8BAA8B,CAAC,QAAQ,CAAC;IACtD,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvC,8DAA8D;IACrD,IAAY,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/B,sBAAsB,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAoC;CAC7E,CAAC,CAAA;AAGF;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAoB,EAA4B,EAAE,CAAC,CAAC;IAC3F,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE;QAC/C,QAAQ,OAAO,CAAC,GAAG,EAAE;YACjB,KAAK,YAAY,CAAC,OAAO,CAAC,GAAG;gBACzB,OAAO,IAAI,OAAO,CAAC,MAAkB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAY,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC7K,KAAK,YAAY,CAAC,gBAAgB,CAAC,GAAG;gBAClC,OAAO,IAAI,gBAAgB,CAAC,MAAkB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtH,KAAK,YAAY,CAAC,WAAW,CAAC,GAAG;gBAC7B,OAAO,IAAI,WAAW,CAAC,MAAoB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACnH,KAAK,YAAY,CAAC,WAAW,CAAC,GAAG;gBAC7B,OAAO,IAAI,WAAW,CAAC,MAAkB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACjH,KAAK,YAAY,CAAC,kBAAkB,CAAC,GAAG;gBACpC,OAAO,IAAI,kBAAkB,CAAC,MAAqB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC3H,KAAK,YAAY,CAAC,QAAQ,CAAC,GAAG;gBAC1B,OAAO,IAAI,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAW,CAAC,CAAA;YAChM,KAAK,YAAY,CAAC,aAAa,CAAC,GAAG;gBAC/B,OAAO,IAAI,aAAa,CAAC,MAAkB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACnH,KAAK,YAAY,CAAC,QAAQ,CAAC,GAAG;gBAC1B,OAAO,IAAI,QAAQ,CAAC,MAAoB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAChH,KAAK,YAAY,CAAC,SAAS,CAAC,GAAG;gBAC3B,OAAO,IAAI,SAAS,CAAC,MAAoB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACjH;gBACI,MAAM,IAAI,KAAK,CAAC,wCAAwC,eAAe,CAAC,OAAO,CAAC,eAAe,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;SACrH;IACL,CAAC;IACD,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACtC,uBAAuB,CAAC,IAA0C,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACvF,CAAC;IACD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO;CACnC,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,CAAA"}
|