@lionweb/core 0.7.0-beta.0 → 0.7.0-beta.10
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 +24 -3
- package/dist/deserializer.d.ts +15 -6
- package/dist/deserializer.d.ts.map +1 -1
- package/dist/deserializer.js +13 -13
- package/dist/deserializer.js.map +1 -1
- package/dist/dynamic-facade.d.ts +14 -5
- package/dist/dynamic-facade.d.ts.map +1 -1
- package/dist/dynamic-facade.js +13 -5
- package/dist/dynamic-facade.js.map +1 -1
- package/dist/extraction.d.ts +15 -0
- package/dist/extraction.d.ts.map +1 -0
- package/dist/extraction.js +17 -0
- package/dist/extraction.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/m1/reference-utils.d.ts +7 -7
- package/dist/m1/reference-utils.d.ts.map +1 -1
- package/dist/m1/reference-utils.js +10 -10
- package/dist/m1/reference-utils.js.map +1 -1
- package/dist/m3/builtins.d.ts +38 -17
- package/dist/m3/builtins.d.ts.map +1 -1
- package/dist/m3/builtins.js +59 -34
- package/dist/m3/builtins.js.map +1 -1
- package/dist/m3/constraints.js +2 -2
- package/dist/m3/constraints.js.map +1 -1
- package/dist/m3/deserializer.js +4 -4
- package/dist/m3/deserializer.js.map +1 -1
- package/dist/m3/facade.d.ts +13 -4
- package/dist/m3/facade.d.ts.map +1 -1
- package/dist/m3/facade.js +12 -4
- package/dist/m3/facade.js.map +1 -1
- package/dist/m3/functions.d.ts +28 -4
- package/dist/m3/functions.d.ts.map +1 -1
- package/dist/m3/functions.js +29 -5
- package/dist/m3/functions.js.map +1 -1
- package/dist/m3/index.d.ts +1 -0
- package/dist/m3/index.d.ts.map +1 -1
- package/dist/m3/index.js +1 -0
- package/dist/m3/index.js.map +1 -1
- package/dist/m3/lioncore.d.ts +2 -0
- package/dist/m3/lioncore.d.ts.map +1 -1
- package/dist/m3/lioncore.js +9 -7
- package/dist/m3/lioncore.js.map +1 -1
- package/dist/m3/serializer.d.ts.map +1 -1
- package/dist/m3/serializer.js +3 -3
- package/dist/m3/serializer.js.map +1 -1
- package/dist/m3/types.d.ts +12 -7
- package/dist/m3/types.d.ts.map +1 -1
- package/dist/m3/types.js +9 -4
- package/dist/m3/types.js.map +1 -1
- package/dist/reading.d.ts +45 -0
- package/dist/reading.d.ts.map +1 -0
- package/dist/reading.js +2 -0
- package/dist/reading.js.map +1 -0
- package/dist/serializer.d.ts +28 -7
- package/dist/serializer.d.ts.map +1 -1
- package/dist/serializer.js +108 -100
- package/dist/serializer.js.map +1 -1
- package/dist/symbol-table.d.ts.map +1 -1
- package/dist/symbol-table.js +1 -8
- package/dist/symbol-table.js.map +1 -1
- package/dist/writing.d.ts +49 -0
- package/dist/writing.d.ts.map +1 -0
- package/dist/writing.js +30 -0
- package/dist/writing.js.map +1 -0
- package/package.json +11 -9
- package/dist/facade.d.ts +0 -85
- package/dist/facade.d.ts.map +0 -1
- package/dist/facade.js +0 -41
- package/dist/facade.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAG1D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAuB,QAAQ,EAAE,MAAM,YAAY,CAAA;AAczF;;GAEG;AACH,QAAA,MAAM,gBAAgB,+BAAmB,CAAA;AASzC,QAAA,MAAM,oBAAoB,eAAgB,UAAU,YAKhB,CAAA;AAMpC,
|
|
1
|
+
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAG1D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAuB,QAAQ,EAAE,MAAM,YAAY,CAAA;AAczF;;GAEG;AACH,QAAA,MAAM,gBAAgB,+BAAmB,CAAA;AASzC,QAAA,MAAM,oBAAoB,eAAgB,UAAU,YAKhB,CAAA;AAMpC,QAAA,MAAM,iBAAiB;;;;;IAKnB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEN,CAAA;AAED,QAAA,MAAM,kBAAkB;;;CAGvB,CAAA;AAED,QAAA,MAAM,eAAe;;CAEpB,CAAA;AAED;;GAEG;AACH,QAAA,MAAM,iBAAiB,SAAU,QAAQ,SAAS,QAAQ,KAAG,OACiD,CAAA;AAE9G,uBAAe,gBAAgB,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAyB;IAE7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAIxC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,GAAG,CAAC,GAAG,SAAS;CAQ5D;AAED,qBAAa,gCACT,SAAQ,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CACnD,YAAW,yBAAyB;;IAUpC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS;CAkBvF;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,gCAAgC;CAAG;AAGzF,qBAAa,8BAA+B,SAAQ,gBAAgB,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAE,YAAW,uBAAuB;;IAS/H,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;CAkBhF;AAED;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,8BAA8B;CAAG;AAErF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA"}
|
package/dist/m3/builtins.js
CHANGED
|
@@ -10,10 +10,10 @@ const factory = new LanguageFactory("LionCore_builtins", currentReleaseVersion,
|
|
|
10
10
|
* Definition of a LionCore language that serves as a standard library of built-in primitive types.
|
|
11
11
|
*/
|
|
12
12
|
const lioncoreBuiltins = factory.language;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
13
|
+
const stringDataType = factory.primitiveType("String");
|
|
14
|
+
const booleanDataType = factory.primitiveType("Boolean");
|
|
15
|
+
const integerDataType = factory.primitiveType("Integer");
|
|
16
|
+
const jsonDataType = factory.primitiveType("JSON");
|
|
17
17
|
const node = factory.concept("Node", true);
|
|
18
18
|
const isBuiltinNodeConcept = (classifier) => classifier instanceof Concept &&
|
|
19
19
|
classifier.language.key === lioncoreBuiltinsKey &&
|
|
@@ -21,12 +21,28 @@ const isBuiltinNodeConcept = (classifier) => classifier instanceof Concept &&
|
|
|
21
21
|
classifier.key === builtinClassifiers.node.key &&
|
|
22
22
|
classifier.abstract;
|
|
23
23
|
const inamed = factory.interface("INamed");
|
|
24
|
-
const inamed_name = factory.property(inamed, "name").ofType(
|
|
24
|
+
const inamed_name = factory.property(inamed, "name").ofType(stringDataType);
|
|
25
25
|
const builtinPrimitives = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
stringDataType,
|
|
27
|
+
booleanDataType,
|
|
28
|
+
integerDataType,
|
|
29
|
+
jsonDataType,
|
|
30
|
+
/**
|
|
31
|
+
* Misspelled alias of {@link stringDataType}, kept for backward compatibility, and to be deprecated and removed later.
|
|
32
|
+
*/
|
|
33
|
+
stringDatatype: stringDataType,
|
|
34
|
+
/**
|
|
35
|
+
* Misspelled alias of {@link booleanDataType}, kept for backward compatibility, and to be deprecated and removed later.
|
|
36
|
+
*/
|
|
37
|
+
booleanDatatype: booleanDataType,
|
|
38
|
+
/**
|
|
39
|
+
* Misspelled alias of {@link integerDataType}, kept for backward compatibility, and to be deprecated and removed later.
|
|
40
|
+
*/
|
|
41
|
+
integerDatatype: integerDataType,
|
|
42
|
+
/**
|
|
43
|
+
* Misspelled alias of {@link jsonDataType}, kept for backward compatibility, and to be deprecated and removed later.
|
|
44
|
+
*/
|
|
45
|
+
jsonDatatype: jsonDataType
|
|
30
46
|
};
|
|
31
47
|
const builtinClassifiers = {
|
|
32
48
|
node,
|
|
@@ -36,81 +52,90 @@ const builtinFeatures = {
|
|
|
36
52
|
inamed_name
|
|
37
53
|
};
|
|
38
54
|
/**
|
|
39
|
-
* Determines whether two
|
|
55
|
+
* Determines whether two data types should be structurally equal based on equality of: meta type, key, and language's key.
|
|
40
56
|
*/
|
|
41
57
|
const shouldBeIdentical = (left, right) => left.key === right.key && left.language.key === right.language.key && left.metaType() === right.metaType();
|
|
42
|
-
class
|
|
58
|
+
class DataTypeRegister {
|
|
43
59
|
constructor() {
|
|
44
60
|
this.map = new Map();
|
|
45
61
|
}
|
|
46
|
-
register(
|
|
47
|
-
this.map.set(
|
|
62
|
+
register(dataType, t) {
|
|
63
|
+
this.map.set(dataType, t);
|
|
48
64
|
}
|
|
49
|
-
byType(
|
|
50
|
-
for (const
|
|
51
|
-
|
|
52
|
-
if (shouldBeIdentical(targetDatatype, datatype)) {
|
|
65
|
+
byType(targetDataType) {
|
|
66
|
+
for (const [dataType, t] of this.map.entries()) {
|
|
67
|
+
if (shouldBeIdentical(targetDataType, dataType)) {
|
|
53
68
|
return t;
|
|
54
69
|
}
|
|
55
70
|
}
|
|
56
71
|
return undefined;
|
|
57
72
|
}
|
|
58
73
|
}
|
|
59
|
-
export class
|
|
74
|
+
export class BuiltinPropertyValueDeserializer extends DataTypeRegister {
|
|
60
75
|
constructor() {
|
|
61
76
|
super();
|
|
62
|
-
this.register(
|
|
63
|
-
this.register(
|
|
64
|
-
this.register(
|
|
65
|
-
this.register(
|
|
77
|
+
this.register(stringDataType, value => value);
|
|
78
|
+
this.register(booleanDataType, value => JSON.parse(value));
|
|
79
|
+
this.register(integerDataType, value => Number(value));
|
|
80
|
+
this.register(jsonDataType, value => JSON.parse(value));
|
|
66
81
|
}
|
|
67
82
|
deserializeValue(value, property) {
|
|
68
83
|
if (value === undefined) {
|
|
69
84
|
if (property.optional) {
|
|
70
85
|
return undefined;
|
|
71
86
|
}
|
|
72
|
-
throw new Error(`can't deserialize undefined as the value of
|
|
87
|
+
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}")`);
|
|
73
88
|
}
|
|
74
89
|
const { type } = property;
|
|
75
90
|
if (type == null) {
|
|
76
|
-
throw new Error(`
|
|
91
|
+
throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
|
|
77
92
|
}
|
|
78
93
|
const specificDeserializer = this.byType(type);
|
|
79
94
|
if (specificDeserializer != undefined) {
|
|
80
95
|
return specificDeserializer(value);
|
|
81
96
|
}
|
|
82
97
|
else {
|
|
83
|
-
throw new Error(`can't deserialize value of type "${type.name}": ${value}`);
|
|
98
|
+
throw new Error(`can't deserialize value of property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") of type "${type.name}": ${value}`);
|
|
84
99
|
}
|
|
85
100
|
}
|
|
86
101
|
}
|
|
87
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Misspelled alias of {@link BuiltinPropertyValueDeserializer}, kept for backward compatibility, and to be deprecated and removed later.
|
|
104
|
+
*/
|
|
105
|
+
export class DefaultPrimitiveTypeDeserializer extends BuiltinPropertyValueDeserializer {
|
|
106
|
+
}
|
|
107
|
+
export class BuiltinPropertyValueSerializer extends DataTypeRegister {
|
|
88
108
|
constructor() {
|
|
89
109
|
super();
|
|
90
|
-
this.register(
|
|
91
|
-
this.register(
|
|
92
|
-
this.register(
|
|
93
|
-
this.register(
|
|
110
|
+
this.register(stringDataType, value => value);
|
|
111
|
+
this.register(booleanDataType, value => `${value}`);
|
|
112
|
+
this.register(integerDataType, value => `${value}`);
|
|
113
|
+
this.register(jsonDataType, value => JSON.stringify(value, null));
|
|
94
114
|
}
|
|
95
115
|
serializeValue(value, property) {
|
|
96
116
|
if (value === undefined) {
|
|
97
117
|
if (property.optional) {
|
|
98
|
-
return
|
|
118
|
+
return null;
|
|
99
119
|
}
|
|
100
|
-
throw new Error(`can't serialize undefined as the value of
|
|
120
|
+
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}")`);
|
|
101
121
|
}
|
|
102
122
|
const { type } = property;
|
|
103
123
|
if (type == null) {
|
|
104
|
-
throw new Error(`
|
|
124
|
+
throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
|
|
105
125
|
}
|
|
106
126
|
const specificSerializer = this.byType(type);
|
|
107
127
|
if (specificSerializer != undefined) {
|
|
108
128
|
return specificSerializer(value);
|
|
109
129
|
}
|
|
110
130
|
else {
|
|
111
|
-
throw new Error(`can't serialize value of type "${type.name}": ${value}`);
|
|
131
|
+
throw new Error(`can't serialize value of property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") of type "${type.name}": ${value}`);
|
|
112
132
|
}
|
|
113
133
|
}
|
|
114
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Misspelled alias of {@link BuiltinPropertyValueSerializer}, kept for backward compatibility, and to be deprecated and removed later.
|
|
137
|
+
*/
|
|
138
|
+
export class DefaultPrimitiveTypeSerializer extends BuiltinPropertyValueSerializer {
|
|
139
|
+
}
|
|
115
140
|
export { builtinPrimitives, builtinClassifiers, builtinFeatures, isBuiltinNodeConcept, lioncoreBuiltins, shouldBeIdentical };
|
|
116
141
|
//# sourceMappingURL=builtins.js.map
|
package/dist/m3/builtins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAc,OAAO,EAAY,mBAAmB,EAAY,MAAM,YAAY,CAAA;AAEzF,MAAM,iCAAiC,GAAkB,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEzH,MAAM,OAAO,GAAG,IAAI,eAAe,CAC/B,mBAAmB,EACnB,qBAAqB,EACrB,iCAAiC,EACjC,iCAAiC,CACpC,CAAA;AACD;;GAEG;AAEH;;GAEG;AACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAA;AAEzC,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;AAElD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAE1C,MAAM,oBAAoB,GAAG,CAAC,UAAsB,EAAE,EAAE,CACpD,UAAU,YAAY,OAAO;IAC7B,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,mBAAmB;IAC/C,UAAU,CAAC,QAAQ,CAAC,OAAO,KAAK,qBAAqB;IACrD,UAAU,CAAC,GAAG,KAAK,kBAAkB,CAAC,IAAI,CAAC,GAAG;IAC7C,UAAsB,CAAC,QAAQ,CAAA;AAEpC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;AAE1C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/constraints.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { duplicatesAmong } from "@lionweb/ts-utils";
|
|
2
2
|
import { idOf } from "../functions.js";
|
|
3
|
-
import { allContaineds, flatMap,
|
|
3
|
+
import { allContaineds, flatMap, inheritanceCycleWith, keyOf, namedsOf, qualifiedNameOf } from "./functions.js";
|
|
4
4
|
import { Classifier, isINamed, Language } from "./types.js";
|
|
5
5
|
// TODO back this type with an M2
|
|
6
6
|
const base64urlRegex = /^[A-Za-z0-9_-]+$/;
|
|
@@ -46,7 +46,7 @@ export const issuesLanguage = (language) => [
|
|
|
46
46
|
}
|
|
47
47
|
// The classifier should not inherit from itself (directly or indirectly)
|
|
48
48
|
if (t instanceof Classifier) {
|
|
49
|
-
const cycle =
|
|
49
|
+
const cycle = inheritanceCycleWith(t);
|
|
50
50
|
(cycle.length > 0) && issue(`A ${t.constructor.name} can't inherit (directly or indirectly) from itself, but ${qualifiedNameOf(t)} does so through the following cycle: ${cycle.map((t) => qualifiedNameOf(t)).join(" -> ")}`);
|
|
51
51
|
// TODO check whether it needs to be "a" or "an", or just say "An instance of ..."
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/m3/constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/m3/constraints.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/deserializer.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { deserializeSerializationChunk } from "../deserializer.js";
|
|
2
|
-
import { nodesExtractorUsing } from "../
|
|
2
|
+
import { nodesExtractorUsing } from "../extraction.js";
|
|
3
3
|
import { defaultSimplisticHandler } from "../handler.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { BuiltinPropertyValueDeserializer, lioncoreBuiltins } from "./builtins.js";
|
|
5
|
+
import { lioncoreReader, lioncoreWriter } from "./facade.js";
|
|
6
6
|
import { lioncore } from "./lioncore.js";
|
|
7
7
|
import { Language } from "./types.js";
|
|
8
8
|
/**
|
|
@@ -15,7 +15,7 @@ export const deserializeLanguages = (serializationChunk, ...dependentLanguages)
|
|
|
15
15
|
* as an instance of the LionCore metametamodel, using {@link _M3Concept these type definitions}.
|
|
16
16
|
* This function takes a handler to be able to see what problems occurred.
|
|
17
17
|
*/
|
|
18
|
-
export const deserializeLanguagesWithHandler = (serializationChunk, handler, ...dependentLanguages) => deserializeSerializationChunk(serializationChunk,
|
|
18
|
+
export const deserializeLanguagesWithHandler = (serializationChunk, handler, ...dependentLanguages) => deserializeSerializationChunk(serializationChunk, lioncoreWriter, [lioncore, ...dependentLanguages], [lioncoreBuiltins, ...dependentLanguages].flatMap(nodesExtractorUsing(lioncoreReader)), new BuiltinPropertyValueDeserializer(), handler)
|
|
19
19
|
.filter((rootNode) => rootNode instanceof Language)
|
|
20
20
|
.map((language) => language.dependingOn(...dependentLanguages));
|
|
21
21
|
//# sourceMappingURL=deserializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAqB,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,kBAAoC,EAAE,GAAG,kBAA8B,EAAc,EAAE,CACxH,+BAA+B,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,GAAG,kBAAkB,CAAC,CAAA;AAExG;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC3C,kBAAoC,EACpC,OAA0B,EAC1B,GAAG,kBAA8B,EACvB,EAAE,CACZ,6BAA6B,CACzB,kBAAkB,EAClB,cAAc,EACd,CAAC,QAAQ,EAAE,GAAG,kBAAkB,CAAC,EACjC,CAAC,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,EACtF,IAAI,gCAAgC,EAAE,EACtC,OAAO,CACV;KACI,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,YAAY,QAAQ,CAAC;KAClD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAE,QAAqB,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAA"}
|
package/dist/m3/facade.d.ts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Reader } from "../reading.js";
|
|
2
2
|
import { M3Concept } from "./types.js";
|
|
3
|
-
|
|
3
|
+
import { Writer } from "../writing.js";
|
|
4
|
+
export declare const lioncoreReader: Reader<M3Concept>;
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* Alias for {@link lioncoreReader}, kept for backward compatibility, and to be deprecated and removed later.
|
|
6
7
|
*/
|
|
7
|
-
export declare const
|
|
8
|
+
export declare const lioncoreExtractionFacade: Reader<M3Concept>;
|
|
9
|
+
/**
|
|
10
|
+
* @return An implementation of {@link Writer} for instances of the LionCore M3 (so M2s).
|
|
11
|
+
*/
|
|
12
|
+
export declare const lioncoreWriter: Writer<M3Concept>;
|
|
13
|
+
/**
|
|
14
|
+
* Alias for {@link lioncoreWriter}, kept for backward compatibility, and to be deprecated and removed later.
|
|
15
|
+
*/
|
|
16
|
+
export declare const lioncoreInstantationFacade: Writer<M3Concept, M3Concept>;
|
|
8
17
|
//# sourceMappingURL=facade.d.ts.map
|
package/dist/m3/facade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../../src/m3/facade.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../../src/m3/facade.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EASH,SAAS,EAIZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAA2B,MAAM,EAAE,MAAM,eAAe,CAAA;AAK/D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,CAM5C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,mBAAiB,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,CAoF5C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,8BAAiB,CAAA"}
|
package/dist/m3/facade.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { updateSettingsNameBased } from "../facade.js";
|
|
2
1
|
import { builtinFeatures } from "./builtins.js";
|
|
3
2
|
import { metaTypedBasedClassifierDeducerFor, qualifiedNameOf } from "./functions.js";
|
|
4
3
|
import { lioncore, metaConcepts, metaFeatures } from "./lioncore.js";
|
|
5
4
|
import { Annotation, Concept, Containment, Enumeration, EnumerationLiteral, Interface, Language, PrimitiveType, Property, Reference } from "./types.js";
|
|
5
|
+
import { updateSettingsNameBased } from "../writing.js";
|
|
6
6
|
const { inamed_name } = builtinFeatures;
|
|
7
7
|
const { ikeyed_key } = metaFeatures;
|
|
8
|
-
export const
|
|
8
|
+
export const lioncoreReader = {
|
|
9
9
|
classifierOf: metaTypedBasedClassifierDeducerFor(lioncore),
|
|
10
10
|
getFeatureValue: (node, feature) =>
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -13,9 +13,13 @@ export const lioncoreExtractionFacade = {
|
|
|
13
13
|
enumerationLiteralFrom: (value, _) => value
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Alias for {@link lioncoreReader}, kept for backward compatibility, and to be deprecated and removed later.
|
|
17
17
|
*/
|
|
18
|
-
export const
|
|
18
|
+
export const lioncoreExtractionFacade = lioncoreReader;
|
|
19
|
+
/**
|
|
20
|
+
* @return An implementation of {@link Writer} for instances of the LionCore M3 (so M2s).
|
|
21
|
+
*/
|
|
22
|
+
export const lioncoreWriter = {
|
|
19
23
|
nodeFor: (parent, classifier, id, propertySettings) => {
|
|
20
24
|
switch (classifier.key) {
|
|
21
25
|
case metaConcepts.annotation.key:
|
|
@@ -47,4 +51,8 @@ export const lioncoreInstantiationFacade = {
|
|
|
47
51
|
},
|
|
48
52
|
encodingOf: literal => literal
|
|
49
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* Alias for {@link lioncoreWriter}, kept for backward compatibility, and to be deprecated and removed later.
|
|
56
|
+
*/
|
|
57
|
+
export const lioncoreInstantationFacade = lioncoreWriter;
|
|
50
58
|
//# sourceMappingURL=facade.js.map
|
package/dist/m3/facade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../../src/m3/facade.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
* Various functions on M3 models.
|
|
3
3
|
*/
|
|
4
4
|
import { LionWebId, LionWebKey } from "@lionweb/json";
|
|
5
|
-
import { ClassifierDeducer } from "../facade.js";
|
|
6
5
|
import { containmentChain } from "../functions.js";
|
|
6
|
+
import { ClassifierDeducer } from "../reading.js";
|
|
7
7
|
import { unresolved } from "../references.js";
|
|
8
8
|
import { Node } from "../types.js";
|
|
9
|
-
import { Annotation, Classifier, Concept, Containment,
|
|
9
|
+
import { Annotation, Classifier, Concept, Containment, DataType, Enumeration, Feature, IKeyed, IMetaTyped, INamed, Language, LanguageEntity, Link, M3Concept, Property, Reference } from "./types.js";
|
|
10
10
|
/**
|
|
11
11
|
* @return The type of the given {@link Feature}
|
|
12
12
|
*/
|
|
13
|
-
declare const type: (feature: Feature) => Classifier |
|
|
13
|
+
declare const type: (feature: Feature) => Classifier | DataType | typeof unresolved;
|
|
14
14
|
declare const isProperty: (feature: Feature) => feature is Property;
|
|
15
15
|
declare const isContainment: (feature: Feature) => feature is Containment;
|
|
16
16
|
declare const isReference: (feature: Feature) => feature is Reference;
|
|
@@ -83,10 +83,26 @@ type ConcreteClassifier = Concept | Annotation;
|
|
|
83
83
|
* *concrete*, i.e. is instantiable.
|
|
84
84
|
*/
|
|
85
85
|
declare const isConcrete: (thing: LanguageEntity) => thing is ConcreteClassifier;
|
|
86
|
+
/**
|
|
87
|
+
* Determines whether the given {@link LanguageEntity metamodel element} is a {@link Concept concept}
|
|
88
|
+
* which is a partition.
|
|
89
|
+
*/
|
|
90
|
+
declare const isPartition: (thing: LanguageEntity) => thing is Concept;
|
|
91
|
+
/**
|
|
92
|
+
* @return an array of {@link Classifier classifiers} that it **directly** inherits from.
|
|
93
|
+
*/
|
|
94
|
+
declare const inheritsDirectlyFrom: (classifier: Classifier) => Classifier[];
|
|
95
|
+
/**
|
|
96
|
+
* Alias for {@link inheritsDirectlyFrom}, kept for backward compatibility, and to be deprecated and removed later.
|
|
97
|
+
*/
|
|
86
98
|
declare const inheritsFrom: (classifier: Classifier) => Classifier[];
|
|
87
99
|
/**
|
|
88
100
|
* @return an array that's either an inheritance cycle, or empty (meaning: no inheritance cycle).
|
|
89
101
|
*/
|
|
102
|
+
declare const inheritanceCycleWith: (classifier: Classifier) => Classifier[];
|
|
103
|
+
/**
|
|
104
|
+
* Alias for {@link inheritanceCycleWith}, kept for backward compatibility, and to be deprecated and removed later.
|
|
105
|
+
*/
|
|
90
106
|
declare const inheritedCycleWith: (classifier: Classifier) => Classifier[];
|
|
91
107
|
/**
|
|
92
108
|
* @return *all* super types (through `extends` or `implements`) of the given {@link Classifier classifier}.
|
|
@@ -129,6 +145,14 @@ declare const conceptsOf: (language: Language) => Concept[];
|
|
|
129
145
|
* @return an array of all instantiable {@link Classifier classifiers} of the given {@link Language language}.
|
|
130
146
|
*/
|
|
131
147
|
declare const instantiableClassifiersOf: (language: Language) => Classifier[];
|
|
132
|
-
|
|
148
|
+
/**
|
|
149
|
+
* @return whether the two given {@link Classifiers classifiers} are the same (/identical by meta-pointer).
|
|
150
|
+
*/
|
|
151
|
+
declare const areSameClassifiers: (left: Classifier, right: Classifier) => boolean;
|
|
152
|
+
/**
|
|
153
|
+
* @return whether the two given {@link Language languages} are the same (/identical by meta-pointer).
|
|
154
|
+
*/
|
|
155
|
+
declare const areSameLanguages: (left: Language, right: Language) => boolean;
|
|
156
|
+
export { allContaineds, allFeaturesOf, allSuperTypesOf, areSameClassifiers, areSameLanguages, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, featureMetaType, flatMap, idBasedClassifierDeducerFor, inheritanceCycleWith, inheritedCycleWith, inheritsFrom, inheritsDirectlyFrom, instantiableClassifiersOf, isConcrete, isContainment, isEnumeration, isMultiple, isPartition, isProperty, isReference, keyOf, metaTypedBasedClassifierDeducerFor, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
133
157
|
export type { FeatureMetaType };
|
|
134
158
|
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/functions.js
CHANGED
|
@@ -113,7 +113,15 @@ const keyOf = ({ key }) => key;
|
|
|
113
113
|
* *concrete*, i.e. is instantiable.
|
|
114
114
|
*/
|
|
115
115
|
const isConcrete = (thing) => (thing instanceof Concept && !thing.abstract) || (thing instanceof Annotation);
|
|
116
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Determines whether the given {@link LanguageEntity metamodel element} is a {@link Concept concept}
|
|
118
|
+
* which is a partition.
|
|
119
|
+
*/
|
|
120
|
+
const isPartition = (thing) => thing instanceof Concept && thing.partition;
|
|
121
|
+
/**
|
|
122
|
+
* @return an array of {@link Classifier classifiers} that it **directly** inherits from.
|
|
123
|
+
*/
|
|
124
|
+
const inheritsDirectlyFrom = (classifier) => {
|
|
117
125
|
if (classifier instanceof Concept || classifier instanceof Annotation) {
|
|
118
126
|
return [
|
|
119
127
|
...(isRef(classifier.extends)
|
|
@@ -127,19 +135,27 @@ const inheritsFrom = (classifier) => {
|
|
|
127
135
|
}
|
|
128
136
|
throw new Error(`classifier type ${typeof classifier} not handled`);
|
|
129
137
|
};
|
|
138
|
+
/**
|
|
139
|
+
* Alias for {@link inheritsDirectlyFrom}, kept for backward compatibility, and to be deprecated and removed later.
|
|
140
|
+
*/
|
|
141
|
+
const inheritsFrom = inheritsDirectlyFrom;
|
|
130
142
|
/**
|
|
131
143
|
* @return an array that's either an inheritance cycle, or empty (meaning: no inheritance cycle).
|
|
132
144
|
*/
|
|
133
|
-
const
|
|
145
|
+
const inheritanceCycleWith = (classifier) => cycleWith(classifier, inheritsDirectlyFrom);
|
|
146
|
+
/**
|
|
147
|
+
* Alias for {@link inheritanceCycleWith}, kept for backward compatibility, and to be deprecated and removed later.
|
|
148
|
+
*/
|
|
149
|
+
const inheritedCycleWith = inheritanceCycleWith;
|
|
134
150
|
/**
|
|
135
151
|
* @return *all* super types (through `extends` or `implements`) of the given {@link Classifier classifier}.
|
|
136
152
|
*/
|
|
137
|
-
const allSuperTypesOf = (classifier) => flatMapNonCyclingFollowing(
|
|
153
|
+
const allSuperTypesOf = (classifier) => flatMapNonCyclingFollowing(inheritsDirectlyFrom, inheritsDirectlyFrom)(classifier);
|
|
138
154
|
/**
|
|
139
155
|
* @return *all* {@link Feature features} of the given {@link Classifier classifier},
|
|
140
156
|
* including the inherited ones.
|
|
141
157
|
*/
|
|
142
|
-
const allFeaturesOf = (classifier) => flatMapNonCyclingFollowing((ci) => ci.features,
|
|
158
|
+
const allFeaturesOf = (classifier) => flatMapNonCyclingFollowing((ci) => ci.features, inheritsDirectlyFrom)(classifier);
|
|
143
159
|
/**
|
|
144
160
|
* Determines whether the given {@link LanguageEntity language element} is an {@link Enumeration enumeration}.
|
|
145
161
|
*/
|
|
@@ -175,5 +191,13 @@ const isInstantiableClassifier = (entity) => entity instanceof Annotation
|
|
|
175
191
|
* @return an array of all instantiable {@link Classifier classifiers} of the given {@link Language language}.
|
|
176
192
|
*/
|
|
177
193
|
const instantiableClassifiersOf = (language) => language.entities.filter(isInstantiableClassifier);
|
|
178
|
-
|
|
194
|
+
/**
|
|
195
|
+
* @return whether the two given {@link Classifiers classifiers} are the same (/identical by meta-pointer).
|
|
196
|
+
*/
|
|
197
|
+
const areSameClassifiers = (left, right) => (left === right) || (areSameLanguages(left.language, right.language) && left.key === right.key);
|
|
198
|
+
/**
|
|
199
|
+
* @return whether the two given {@link Language languages} are the same (/identical by meta-pointer).
|
|
200
|
+
*/
|
|
201
|
+
const areSameLanguages = (left, right) => (left === right) || (left.key === right.key && left.version === right.version);
|
|
202
|
+
export { allContaineds, allFeaturesOf, allSuperTypesOf, areSameClassifiers, areSameLanguages, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, featureMetaType, flatMap, idBasedClassifierDeducerFor, inheritanceCycleWith, inheritedCycleWith, inheritsFrom, inheritsDirectlyFrom, instantiableClassifiersOf, isConcrete, isContainment, isEnumeration, isMultiple, isPartition, isProperty, isReference, keyOf, metaTypedBasedClassifierDeducerFor, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
179
203
|
//# sourceMappingURL=functions.js.map
|
package/dist/m3/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/index.d.ts
CHANGED
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,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
|
|
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,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
|
package/dist/m3/index.js
CHANGED
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,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
|
|
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,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
|
package/dist/m3/lioncore.d.ts
CHANGED
|
@@ -5,11 +5,13 @@ declare const lioncoreKey = "LionCore-M3";
|
|
|
5
5
|
export declare const lioncore: import("./types.js").Language;
|
|
6
6
|
export declare const metaConcepts: {
|
|
7
7
|
annotation: import("./types.js").Concept;
|
|
8
|
+
classifier: import("./types.js").Concept;
|
|
8
9
|
concept: import("./types.js").Concept;
|
|
9
10
|
interface: import("./types.js").Concept;
|
|
10
11
|
containment: import("./types.js").Concept;
|
|
11
12
|
enumeration: import("./types.js").Concept;
|
|
12
13
|
enumerationLiteral: import("./types.js").Concept;
|
|
14
|
+
ikeyed: import("./types.js").Interface;
|
|
13
15
|
language: import("./types.js").Concept;
|
|
14
16
|
primitiveType: import("./types.js").Concept;
|
|
15
17
|
property: import("./types.js").Concept;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lioncore.d.ts","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,WAAW,gBAAgB,CAAA;AAajC;;GAEG;AACH,eAAO,MAAM,QAAQ,+BAA4C,CAAA;AAkFjE,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"lioncore.d.ts","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,WAAW,gBAAgB,CAAA;AAajC;;GAEG;AACH,eAAO,MAAM,QAAQ,+BAA4C,CAAA;AAkFjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAaxB,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAmBxB,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|