@lionweb/utilities 0.6.13-beta.7 → 0.7.0-alpha.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 +5 -0
- package/README.md +2 -1
- package/dist/hashing.d.ts.map +1 -1
- package/dist/hashing.js +1 -1
- package/dist/hashing.js.map +1 -1
- package/dist/m3/dependencies.d.ts +11 -0
- package/dist/m3/dependencies.d.ts.map +1 -0
- package/dist/m3/dependencies.js +52 -0
- package/dist/m3/dependencies.js.map +1 -0
- package/dist/m3/diagrams/Mermaid-generator.d.ts.map +1 -1
- package/dist/m3/diagrams/Mermaid-generator.js +12 -34
- package/dist/m3/diagrams/Mermaid-generator.js.map +1 -1
- package/dist/m3/diagrams/PlantUML-generator.d.ts.map +1 -1
- package/dist/m3/diagrams/PlantUML-generator.js +15 -45
- package/dist/m3/diagrams/PlantUML-generator.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/infer-languages.d.ts +4 -3
- package/dist/m3/infer-languages.d.ts.map +1 -1
- package/dist/m3/infer-languages.js +6 -5
- package/dist/m3/infer-languages.js.map +1 -1
- package/dist/m3/textualizer.d.ts.map +1 -1
- package/dist/m3/textualizer.js +7 -20
- package/dist/m3/textualizer.js.map +1 -1
- package/dist/m3/ts-generation/ts-types-generator.d.ts.map +1 -1
- package/dist/m3/ts-generation/ts-types-generator.js +38 -45
- package/dist/m3/ts-generation/ts-types-generator.js.map +1 -1
- package/dist/m3/ts-generation/type-def.d.ts.map +1 -1
- package/dist/m3/ts-generation/type-def.js +2 -6
- package/dist/m3/ts-generation/type-def.js.map +1 -1
- package/dist/serialization/annotation-remover.d.ts +6 -6
- package/dist/serialization/annotation-remover.d.ts.map +1 -1
- package/dist/serialization/annotation-remover.js +3 -3
- package/dist/serialization/annotation-remover.js.map +1 -1
- package/dist/serialization/chunk.d.ts +6 -5
- package/dist/serialization/chunk.d.ts.map +1 -1
- package/dist/serialization/chunk.js +6 -6
- package/dist/serialization/chunk.js.map +1 -1
- package/dist/serialization/measurer.d.ts +8 -3
- package/dist/serialization/measurer.d.ts.map +1 -1
- package/dist/serialization/measurer.js +24 -18
- package/dist/serialization/measurer.js.map +1 -1
- package/dist/serialization/metric-types.d.ts +3 -2
- package/dist/serialization/metric-types.d.ts.map +1 -1
- package/dist/serialization/ordering.d.ts +6 -6
- package/dist/serialization/ordering.d.ts.map +1 -1
- package/dist/serialization/ordering.js +3 -3
- package/dist/serialization/ordering.js.map +1 -1
- package/dist/serialization/sorting.d.ts +2 -2
- package/dist/serialization/sorting.d.ts.map +1 -1
- package/dist/serialization/sorting.js +4 -5
- package/dist/serialization/sorting.js.map +1 -1
- package/dist/serialization/textualizer.d.ts +3 -2
- package/dist/serialization/textualizer.d.ts.map +1 -1
- package/dist/serialization/textualizer.js +12 -11
- package/dist/serialization/textualizer.js.map +1 -1
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js.map +1 -1
- package/package.json +14 -9
- package/dist/m3/ts-generation/textgen.d.ts +0 -2
- package/dist/m3/ts-generation/textgen.d.ts.map +0 -1
- package/dist/m3/ts-generation/textgen.js +0 -3
- package/dist/m3/ts-generation/textgen.js.map +0 -1
- package/dist/utils/array.d.ts +0 -9
- package/dist/utils/array.d.ts.map +0 -1
- package/dist/utils/array.js +0 -9
- package/dist/utils/array.js.map +0 -1
- package/dist/utils/nested-map.d.ts +0 -46
- package/dist/utils/nested-map.d.ts.map +0 -1
- package/dist/utils/nested-map.js +0 -50
- package/dist/utils/nested-map.js.map +0 -1
- package/dist/utils/object.d.ts +0 -5
- package/dist/utils/object.d.ts.map +0 -1
- package/dist/utils/object.js +0 -5
- package/dist/utils/object.js.map +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { allFeaturesOf, Annotation, builtinClassifiers, builtinPrimitives, Classifier, Concept, conceptsOf, Enumeration,
|
|
1
|
+
import { allFeaturesOf, Annotation, builtinClassifiers, builtinPrimitives, Classifier, Concept, conceptsOf, Enumeration, inheritsDirectlyFrom, Interface, isConcrete, Link, lioncoreBuiltins, nameOf, nameSorted, PrimitiveType, Property, unresolved } from "@lionweb/core";
|
|
2
|
+
import { indent } from "@lionweb/textgen-utils";
|
|
3
|
+
import { groupBy, mapValues, uniquesAmong } from "@lionweb/ts-utils";
|
|
2
4
|
import { asString, when } from "littoral-templates";
|
|
3
|
-
import { indent } from "./textgen.js";
|
|
4
5
|
import { tsFromTypeDef, TypeDefModifier } from "./type-def.js";
|
|
5
|
-
import { uniquesAmong } from "../../utils/array.js";
|
|
6
|
-
import { picker } from "../../utils/object.js";
|
|
7
6
|
const fieldForFeature = (feature) => {
|
|
8
7
|
if (feature instanceof Link) {
|
|
9
8
|
return fieldForLink(feature);
|
|
@@ -22,21 +21,25 @@ const fieldForLink = ({ name, type, optional, multiple }) => ({
|
|
|
22
21
|
optional: optional && !multiple,
|
|
23
22
|
type: `${type === unresolved ? `unknown` : type.name}${multiple ? `[]` : ``}`
|
|
24
23
|
});
|
|
25
|
-
const tsTypeFor = (
|
|
26
|
-
if (
|
|
27
|
-
switch (
|
|
28
|
-
case builtinPrimitives.
|
|
29
|
-
|
|
30
|
-
case builtinPrimitives.
|
|
31
|
-
|
|
24
|
+
const tsTypeFor = (dataType) => {
|
|
25
|
+
if (dataType instanceof PrimitiveType) {
|
|
26
|
+
switch (dataType) {
|
|
27
|
+
case builtinPrimitives.booleanDataType:
|
|
28
|
+
return `boolean`;
|
|
29
|
+
case builtinPrimitives.stringDataType:
|
|
30
|
+
return `string`;
|
|
31
|
+
case builtinPrimitives.integerDataType:
|
|
32
|
+
return `number`;
|
|
33
|
+
case builtinPrimitives.jsonDataType:
|
|
34
|
+
return `unknown`;
|
|
32
35
|
default:
|
|
33
36
|
return `string`;
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
|
-
if (
|
|
37
|
-
return
|
|
39
|
+
if (dataType instanceof Enumeration) {
|
|
40
|
+
return dataType.name;
|
|
38
41
|
}
|
|
39
|
-
return `unknown /* [ERROR] can't compute a TS type for this
|
|
42
|
+
return `unknown /* [ERROR] can't compute a TS type for this data type: ${dataType} */`;
|
|
40
43
|
};
|
|
41
44
|
const fieldForProperty = ({ name, type, optional }) => ({
|
|
42
45
|
name,
|
|
@@ -62,10 +65,7 @@ const typeForEnumeration = (enumeration) => [
|
|
|
62
65
|
`}`,
|
|
63
66
|
``
|
|
64
67
|
];
|
|
65
|
-
const typeForPrimitiveType = (
|
|
66
|
-
`export type ${datatype.name} = ${tsTypeFor(datatype)};`,
|
|
67
|
-
``
|
|
68
|
-
];
|
|
68
|
+
const typeForPrimitiveType = (primitiveType) => [`export type ${primitiveType.name} = ${tsTypeFor(primitiveType)};`, ``];
|
|
69
69
|
export var GenerationOptions;
|
|
70
70
|
(function (GenerationOptions) {
|
|
71
71
|
GenerationOptions[GenerationOptions["assumeSealed"] = 0] = "assumeSealed";
|
|
@@ -76,19 +76,18 @@ export var GenerationOptions;
|
|
|
76
76
|
*/
|
|
77
77
|
export const tsTypesForLanguage = (language, ...generationOptions) => {
|
|
78
78
|
const fieldsForClassifier = (classifier) => {
|
|
79
|
-
const map = mapValues(groupBy(allFeaturesOf(classifier), nameOf),
|
|
79
|
+
const map = mapValues(groupBy(allFeaturesOf(classifier), nameOf), features => features.map(feature => [feature, fieldForFeature(feature)]));
|
|
80
80
|
Object.values(map)
|
|
81
|
-
.filter(
|
|
82
|
-
.forEach(
|
|
81
|
+
.filter(fieldsWithOrigin => fieldsWithOrigin.length > 1)
|
|
82
|
+
.forEach(fieldsWithOrigin => {
|
|
83
83
|
fieldsWithOrigin.forEach(([feature, field]) => {
|
|
84
84
|
field.name = `${field.name}_${feature.parent.name}`;
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
|
-
return Object.values(map)
|
|
88
|
-
.flatMap((fieldsWithOrigin) => fieldsWithOrigin.map(([_, field]) => field));
|
|
87
|
+
return Object.values(map).flatMap(fieldsWithOrigin => fieldsWithOrigin.map(([_, field]) => field));
|
|
89
88
|
};
|
|
90
89
|
const typeForAnnotation = (annotation) => {
|
|
91
|
-
const superTypes =
|
|
90
|
+
const superTypes = inheritsDirectlyFrom(annotation);
|
|
92
91
|
return tsFromTypeDef({
|
|
93
92
|
modifier: TypeDefModifier.none,
|
|
94
93
|
name: annotation.name,
|
|
@@ -97,11 +96,11 @@ export const tsTypesForLanguage = (language, ...generationOptions) => {
|
|
|
97
96
|
});
|
|
98
97
|
};
|
|
99
98
|
const typeForConcept = (concept) => {
|
|
100
|
-
const superTypes =
|
|
99
|
+
const superTypes = inheritsDirectlyFrom(concept);
|
|
101
100
|
const subClassifiers = concept.abstract
|
|
102
|
-
?
|
|
103
|
-
? conceptsOf(language).filter(
|
|
104
|
-
: []
|
|
101
|
+
? generationOptions.indexOf(GenerationOptions.assumeSealed) > -1
|
|
102
|
+
? conceptsOf(language).filter(entity => entity.extends === concept)
|
|
103
|
+
: []
|
|
105
104
|
: [concept];
|
|
106
105
|
return tsFromTypeDef({
|
|
107
106
|
modifier: concept.abstract ? TypeDefModifier.abstract : TypeDefModifier.none,
|
|
@@ -133,28 +132,22 @@ export const tsTypesForLanguage = (language, ...generationOptions) => {
|
|
|
133
132
|
if (entity instanceof PrimitiveType) {
|
|
134
133
|
return typeForPrimitiveType(entity);
|
|
135
134
|
}
|
|
136
|
-
return [
|
|
137
|
-
`// unhandled language entity <${entity.constructor.name}>"${entity.name}"`,
|
|
138
|
-
``
|
|
139
|
-
];
|
|
135
|
+
return [`// unhandled language entity <${entity.constructor.name}>"${entity.name}"`, ``];
|
|
140
136
|
};
|
|
141
137
|
const dependenciesOfClassifier = (classifier) => [
|
|
142
|
-
...
|
|
138
|
+
...inheritsDirectlyFrom(classifier),
|
|
143
139
|
...allFeaturesOf(classifier)
|
|
144
|
-
.filter(
|
|
145
|
-
.map(
|
|
146
|
-
.flatMap(
|
|
147
|
-
.filter(
|
|
148
|
-
.map(
|
|
140
|
+
.filter(feature => feature instanceof Link)
|
|
141
|
+
.map(feature => feature)
|
|
142
|
+
.flatMap(({ type }) => type)
|
|
143
|
+
.filter(type => type instanceof Classifier)
|
|
144
|
+
.map(classifier => classifier)
|
|
149
145
|
];
|
|
150
146
|
const coreImports = [
|
|
151
|
-
...
|
|
152
|
-
...
|
|
147
|
+
...(language.entities.every(usesINamedDirectly) ? [] : [`DynamicNode`]),
|
|
148
|
+
...(language.entities.some(usesINamedDirectly) ? [`INamed`] : [])
|
|
153
149
|
];
|
|
154
|
-
const generatedDependencies = uniquesAmong(language.entities
|
|
155
|
-
.filter((entity) => entity instanceof Classifier)
|
|
156
|
-
.flatMap((entity) => dependenciesOfClassifier(entity)))
|
|
157
|
-
.filter((classifier) => classifier.language !== language && classifier.language !== lioncoreBuiltins);
|
|
150
|
+
const generatedDependencies = uniquesAmong(language.entities.filter(entity => entity instanceof Classifier).flatMap(entity => dependenciesOfClassifier(entity))).filter(classifier => classifier.language !== language && classifier.language !== lioncoreBuiltins);
|
|
158
151
|
const importsPerPackage = groupBy(generatedDependencies, ({ language }) => language.name);
|
|
159
152
|
const concreteClassifiers = language.entities.filter(isConcrete);
|
|
160
153
|
return asString([
|
|
@@ -170,7 +163,7 @@ export const tsTypesForLanguage = (language, ...generationOptions) => {
|
|
|
170
163
|
when(coreImports.length > 0)(`import {${coreImports.join(`, `)}} from "@lionweb/core";`),
|
|
171
164
|
Object.keys(importsPerPackage)
|
|
172
165
|
.sort()
|
|
173
|
-
.map(
|
|
166
|
+
.map(packageName => `import {${nameSorted(importsPerPackage[packageName]).map(nameOf).join(", ")}} from "./${packageName}.js";`),
|
|
174
167
|
``,
|
|
175
168
|
``,
|
|
176
169
|
nameSorted(language.entities).map(typeForLanguageEntity),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-types-generator.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/ts-types-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,OAAO,EACP,UAAU,EAIV,WAAW,EAEX,
|
|
1
|
+
{"version":3,"file":"ts-types-generator.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/ts-types-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-def.d.ts","sourceRoot":"","sources":["../../../src/m3/ts-generation/type-def.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"type-def.d.ts","sourceRoot":"","sources":["../../../src/m3/ts-generation/type-def.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,MAAM,oBAAoB,CAAA;AAGnD,oBAAY,eAAe;IACvB,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,SAAS,IAAA;CACZ;AAED,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,EAAE,eAAe,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,KAAK,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAID,eAAO,MAAM,aAAa,wDAAyD,OAAO,KAAG,QAa5F,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { when } from "littoral-templates";
|
|
2
|
-
import { indent } from "
|
|
2
|
+
import { indent } from "@lionweb/textgen-utils";
|
|
3
3
|
export var TypeDefModifier;
|
|
4
4
|
(function (TypeDefModifier) {
|
|
5
5
|
TypeDefModifier[TypeDefModifier["none"] = 0] = "none";
|
|
@@ -14,11 +14,7 @@ export const tsFromTypeDef = ({ modifier, name, mixinNames, bodyComment, fields
|
|
|
14
14
|
when(hasBody)([
|
|
15
15
|
indent([
|
|
16
16
|
when(!!bodyComment)(`// ${bodyComment}`),
|
|
17
|
-
when(fields.length > 0)([
|
|
18
|
-
`settings: {`,
|
|
19
|
-
indent(fields.map(tsFromField)),
|
|
20
|
-
`};`
|
|
21
|
-
])
|
|
17
|
+
when(fields.length > 0)([`settings: {`, indent(fields.map(tsFromField)), `};`])
|
|
22
18
|
]),
|
|
23
19
|
`};` // (`{` was already rendered as part of the header)
|
|
24
20
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-def.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/type-def.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"type-def.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/type-def.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,qDAAI,CAAA;IACJ,6DAAQ,CAAA;IACR,+DAAS,CAAA;AACb,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAgBD,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAS,EAAY,EAAE,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,CAAA;AAE5G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAW,EAAY,EAAE;IACpG,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAClD,OAAO;QACH,GAAG,QAAQ,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC,MAAM,eAAe,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;QAC7J,IAAI,CAAC,OAAO,CAAC,CAAC;YACV,MAAM,CAAC;gBACH,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAClF,CAAC;YACF,IAAI,CAAC,mDAAmD;SAC3D,CAAC;QACF,EAAE;KACL,CAAA;AACL,CAAC,CAAA;AAED,6HAA6H"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LionWebJsonChunk, LionWebJsonNode } from "@lionweb/json";
|
|
2
2
|
/**
|
|
3
|
-
* Removes all annotations from the given {@link
|
|
3
|
+
* Removes all annotations from the given {@link LionWebJsonChunk}, i.e.:
|
|
4
4
|
* * all annotations on nodes in the form of the {@code annotations} property,
|
|
5
5
|
* * all nodes that can be identified as instances of an {@link Annotation} by being referred to from {@code annotations}.
|
|
6
6
|
* It also removes all descendants of all annotations (insofar present in the given chunk).
|
|
7
|
-
* @param serializationChunk - The {@link
|
|
7
|
+
* @param serializationChunk - The {@link LionWebJsonChunk}
|
|
8
8
|
*/
|
|
9
|
-
export declare const withoutAnnotations: (serializationChunk:
|
|
9
|
+
export declare const withoutAnnotations: (serializationChunk: LionWebJsonChunk) => {
|
|
10
10
|
serializationFormatVersion: string;
|
|
11
|
-
languages: import("@lionweb/
|
|
12
|
-
nodes:
|
|
11
|
+
languages: import("@lionweb/json").LionWebJsonUsedLanguage[];
|
|
12
|
+
nodes: LionWebJsonNode[];
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=annotation-remover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation-remover.d.ts","sourceRoot":"","sources":["../../src/serialization/annotation-remover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"annotation-remover.d.ts","sourceRoot":"","sources":["../../src/serialization/annotation-remover.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG5E;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,uBAAwB,gBAAgB;;;;CA8BtE,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { byIdMap } from "@lionweb/
|
|
1
|
+
import { byIdMap } from "@lionweb/ts-utils";
|
|
2
2
|
/**
|
|
3
|
-
* Removes all annotations from the given {@link
|
|
3
|
+
* Removes all annotations from the given {@link LionWebJsonChunk}, i.e.:
|
|
4
4
|
* * all annotations on nodes in the form of the {@code annotations} property,
|
|
5
5
|
* * all nodes that can be identified as instances of an {@link Annotation} by being referred to from {@code annotations}.
|
|
6
6
|
* It also removes all descendants of all annotations (insofar present in the given chunk).
|
|
7
|
-
* @param serializationChunk - The {@link
|
|
7
|
+
* @param serializationChunk - The {@link LionWebJsonChunk}
|
|
8
8
|
*/
|
|
9
9
|
export const withoutAnnotations = (serializationChunk) => {
|
|
10
10
|
const { serializationFormatVersion, languages, nodes } = serializationChunk;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation-remover.js","sourceRoot":"","sources":["../../src/serialization/annotation-remover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"annotation-remover.js","sourceRoot":"","sources":["../../src/serialization/annotation-remover.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,kBAAoC,EAAE,EAAE;IACvE,MAAM,EAAC,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAC,GAAG,kBAAkB,CAAA;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,CAAC,EAAa,EAAE,EAAE,CAC/B,CAAC,EAAE,IAAI,OAAO,CAAC;QACX,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzE,CAAC,CAAC,EAAE,CAAA;IACZ,MAAM,aAAa,GAAG,CAAC,EAAa,EAAe,EAAE,CACjD,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAChD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA,CAAC,iDAAiD;IACjH,MAAM,kBAAkB,GAAG;QACvB,GAAG,aAAa;QAChB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;KAC/C,CAAA;IACD,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAmB,EAAmB,EAAE,CAAC,CAAC;QAChI,EAAE;QACF,UAAU;QACV,UAAU;QACV,YAAY;QACZ,UAAU;QACV,WAAW,EAAE,EAAE;QACf,MAAM;KACT,CAAC,CAAA;IACF,OAAO;QACH,0BAA0B;QAC1B,SAAS;QACT,KAAK,EAAE,KAAK;aACP,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC;aAC3F,GAAG,CAAC,kBAAkB,CAAC;KAC/B,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Language
|
|
1
|
+
import { Language } from "@lionweb/core";
|
|
2
|
+
import { LionWebJsonChunk } from "@lionweb/json";
|
|
2
3
|
/**
|
|
3
|
-
* Reads the file at the given path as a {@link
|
|
4
|
+
* Reads the file at the given path as a {@link LionWebJsonChunk serialization chunk}.
|
|
4
5
|
* **Note** that it's only checked that the file exists and can be parsed as JSON,
|
|
5
6
|
* _not_ whether it satisfies the specified serialization chunk format!
|
|
6
7
|
*/
|
|
7
|
-
export declare const readSerializationChunk: (path: string) => Promise<
|
|
8
|
+
export declare const readSerializationChunk: (path: string) => Promise<LionWebJsonChunk>;
|
|
8
9
|
/**
|
|
9
10
|
* @return whether the given JSON looks like the serialization of languages.
|
|
10
11
|
*/
|
|
@@ -16,9 +17,9 @@ export declare const looksLikeSerializedLanguages: (json: unknown) => boolean;
|
|
|
16
17
|
*/
|
|
17
18
|
export declare const tryReadAsLanguages: (path: string) => Promise<Language[]>;
|
|
18
19
|
/**
|
|
19
|
-
* @return the combination of the given {@link
|
|
20
|
+
* @return the combination of the given {@link LionWebJsonChunk serialization chunks} into one.
|
|
20
21
|
*/
|
|
21
|
-
export declare const combinationOf: (serializationChunks:
|
|
22
|
+
export declare const combinationOf: (serializationChunks: LionWebJsonChunk[]) => LionWebJsonChunk;
|
|
22
23
|
/**
|
|
23
24
|
* Tries to read all the given paths as JSON serialization chunks that are serializations of languages,
|
|
24
25
|
* and attempts to combine those chunks into one chunk, and deserializes that.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,QAAQ,EAAe,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAqC,gBAAgB,EAA2B,MAAM,eAAe,CAAA;AAI5G;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,SAAgB,MAAM,8BAOxD,CAAA;AAOD;;GAEG;AACH,eAAO,MAAM,4BAA4B,SAAU,OAAO,KAAG,OAKqC,CAAA;AAGlG;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAgB,MAAM,KAAG,QAAQ,QAAQ,EAAE,CAazE,CAAA;AAiBD;;GAEG;AACH,eAAO,MAAM,aAAa,wBAAyB,gBAAgB,EAAE,KAAG,gBAKlE,CAAA;AAGN;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAiB,MAAM,EAAE,KAAG,QAAQ,QAAQ,EAAE,CAkB/E,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { deserializeLanguages, lioncoreKey } from "@lionweb/core";
|
|
2
|
+
import { currentSerializationFormatVersion } from "@lionweb/json";
|
|
2
3
|
import { readFileAsJson } from "../utils/json.js";
|
|
3
|
-
import { picker } from "../utils/object.js";
|
|
4
4
|
/**
|
|
5
|
-
* Reads the file at the given path as a {@link
|
|
5
|
+
* Reads the file at the given path as a {@link LionWebJsonChunk serialization chunk}.
|
|
6
6
|
* **Note** that it's only checked that the file exists and can be parsed as JSON,
|
|
7
7
|
* _not_ whether it satisfies the specified serialization chunk format!
|
|
8
8
|
*/
|
|
@@ -51,12 +51,12 @@ const flatMapDistinct = (tss, equalFunc) => tss.reduce((acc, ts) => [
|
|
|
51
51
|
], []);
|
|
52
52
|
const areEqual = (left, right) => left.key === right.key && left.version === right.version;
|
|
53
53
|
/**
|
|
54
|
-
* @return the combination of the given {@link
|
|
54
|
+
* @return the combination of the given {@link LionWebJsonChunk serialization chunks} into one.
|
|
55
55
|
*/
|
|
56
56
|
export const combinationOf = (serializationChunks) => ({
|
|
57
57
|
serializationFormatVersion: currentSerializationFormatVersion,
|
|
58
|
-
languages: flatMapDistinct(serializationChunks.map(
|
|
59
|
-
nodes: serializationChunks.flatMap(
|
|
58
|
+
languages: flatMapDistinct(serializationChunks.map(({ languages }) => languages), areEqual),
|
|
59
|
+
nodes: serializationChunks.flatMap(({ nodes }) => nodes)
|
|
60
60
|
});
|
|
61
61
|
/**
|
|
62
62
|
* Tries to read all the given paths as JSON serialization chunks that are serializations of languages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAY,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,iCAAiC,EAA6C,MAAM,eAAe,CAAA;AAC5G,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IACzD,IAAI,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAqB,CAAA;IACnD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAA;QACjD,MAAM,CAAC,CAAA;IACX,CAAC;AACL,CAAC,CAAA;AACD,4FAA4F;AAG5F,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAmC,EAAE,CAChE,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,IAAa,EAAW,EAAE,CACnE,QAAQ,CAAC,IAAI,CAAC;OACX,IAAI,CAAC,4BAA4B,CAAC,KAAK,iCAAiC;OACxE,WAAW,IAAI,IAAI;OACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OAChC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,CAAA;AAGlG;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAY,EAAuB,EAAE;IAC1E,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAC7D,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,gEAAgE,CAAC,CAAA;QACtF,OAAO,EAAE,CAAA;IACb,CAAC;IACD,IAAI,CAAC;QACD,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,CAAA;QACvD,8DAA8D;IAC1D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,mEAAmE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QACpG,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC,CAAA;AAGD,MAAM,eAAe,GAAG,CAAI,GAAY,EAAE,SAAkC,EAAE,EAAE,CAC5E,GAAG,CAAC,MAAM,CACN,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CACR;IACI,GAAG,GAAG;IACN,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3D,EACL,EAAE,CACL,CAAA;AAEL,MAAM,QAAQ,GAAG,CAAC,IAA6B,EAAE,KAA8B,EAAW,EAAE,CACxF,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAA;AAG5D;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,mBAAuC,EAAoB,EAAE,CACvF,CAAC;IACG,0BAA0B,EAAE,iCAAiC;IAC7D,SAAS,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IACzF,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC;CACzD,CAAC,CAAA;AAGN;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,KAAe,EAAuB,EAAE;IAChF,MAAM,mBAAmB,GACrB,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;SACrD,MAAM,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,EAAE,GAAG,4BAA4B,CAAC,kBAAkB,CAAC,CAAA;QAC3D,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,gEAAgE,CAAC,CAAA;QAC1F,CAAC;QACD,OAAO,EAAE,CAAA;IACb,CAAC,CAAC,CAAA;IACN,IAAI,CAAC;QACD,OAAO,oBAAoB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAA;QACvE,8DAA8D;IAC1D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3G,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import { Language
|
|
1
|
+
import { Language } from "@lionweb/core";
|
|
2
|
+
import { LionWebJsonChunk } from "@lionweb/json";
|
|
2
3
|
import { Metrics } from "./metric-types.js";
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
+
* Sum the given array of numbers.
|
|
6
|
+
*/
|
|
7
|
+
export declare const sumNumbers: (nums: number[]) => number;
|
|
8
|
+
/**
|
|
9
|
+
* Computes {@link Metrics metrics} on the given {@link LionWebJsonChunk serialization chunk}.
|
|
5
10
|
* Passing it {@link Language languages} make this language-aware:
|
|
6
11
|
* * language and classifier names are looked up,
|
|
7
12
|
* * unused instantiable classifiers and languages without instantiations are computed as well.
|
|
8
13
|
*/
|
|
9
|
-
export declare const measure: (serializationChunk:
|
|
14
|
+
export declare const measure: (serializationChunk: LionWebJsonChunk, languages: Language[]) => Metrics;
|
|
10
15
|
//# sourceMappingURL=measurer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measurer.d.ts","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"measurer.d.ts","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,QAAQ,EAAwC,MAAM,eAAe,CAAA;AACzI,OAAO,EAAE,gBAAgB,EAAoE,MAAM,eAAe,CAAA;AAElH,OAAO,EAAuB,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAShE;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,EAAE,KAAG,MACD,CAAA;AAG3C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,uBAAwB,gBAAgB,aAAa,QAAQ,EAAE,KAAG,OAyFrF,CAAA"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Annotation, Concept, instantiableClassifiersOf, Interface, MemoisingSymbolTable } from "@lionweb/core";
|
|
2
|
-
import {
|
|
3
|
-
import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3 } from "../utils/nested-map.js";
|
|
2
|
+
import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3 } from "@lionweb/ts-utils";
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
4
|
+
* Sum the given array of numbers.
|
|
5
|
+
*/
|
|
6
|
+
export const sumNumbers = (nums) => nums.reduce((acc, cur) => acc + cur, 0);
|
|
7
|
+
/**
|
|
8
|
+
* Computes {@link Metrics metrics} on the given {@link LionWebJsonChunk serialization chunk}.
|
|
6
9
|
* Passing it {@link Language languages} make this language-aware:
|
|
7
10
|
* * language and classifier names are looked up,
|
|
8
11
|
* * unused instantiable classifiers and languages without instantiations are computed as well.
|
|
@@ -10,12 +13,15 @@ import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3 } from ".
|
|
|
10
13
|
export const measure = (serializationChunk, languages) => {
|
|
11
14
|
const symbolTable = new MemoisingSymbolTable(languages);
|
|
12
15
|
// group nodes by language key, version, and classifier key, mapped to the classifier meta-pointer and #instantiations:
|
|
13
|
-
const languageKey2version2classifierKey2info = nested3Mapper(
|
|
16
|
+
const languageKey2version2classifierKey2info = nested3Mapper(nodes => ({
|
|
17
|
+
classifier: nodes[0].classifier,
|
|
18
|
+
instantiations: nodes.length
|
|
19
|
+
}))(nested3Grouper(({ classifier }) => classifier.language, ({ classifier }) => classifier.version, ({ classifier }) => classifier.key)(serializationChunk.nodes));
|
|
14
20
|
const languagesWithInstantiations = nestedFlatMap2(languageKey2version2classifierKey2info, (classifierKey2info, languageKey, version) => ({
|
|
15
21
|
key: languageKey,
|
|
16
22
|
version,
|
|
17
23
|
name: symbolTable.languageMatching(languageKey, version)?.name,
|
|
18
|
-
instantiations: sumNumbers(Object.values(classifierKey2info).map(
|
|
24
|
+
instantiations: sumNumbers(Object.values(classifierKey2info).map(info => info.instantiations))
|
|
19
25
|
}));
|
|
20
26
|
const metaTypeOf = (entity) => {
|
|
21
27
|
if (entity instanceof Annotation) {
|
|
@@ -32,7 +38,7 @@ export const measure = (serializationChunk, languages) => {
|
|
|
32
38
|
// map grouped nodes to info including #instantiations:
|
|
33
39
|
const instantiatedClassifiers = nestedFlatMap3(languageKey2version2classifierKey2info, (info, languageKey, version, classifierKey) => {
|
|
34
40
|
const classifier = symbolTable.entityMatching(info.classifier);
|
|
35
|
-
return
|
|
41
|
+
return {
|
|
36
42
|
language: {
|
|
37
43
|
key: languageKey,
|
|
38
44
|
version,
|
|
@@ -42,23 +48,23 @@ export const measure = (serializationChunk, languages) => {
|
|
|
42
48
|
name: classifier?.name,
|
|
43
49
|
metaType: metaTypeOf(classifier),
|
|
44
50
|
instantiations: info.instantiations
|
|
45
|
-
}
|
|
51
|
+
};
|
|
46
52
|
});
|
|
47
|
-
const doesLanguageHaveInstantiations = (language) => language.key in languageKey2version2classifierKey2info
|
|
48
|
-
&& language.version in languageKey2version2classifierKey2info[language.key];
|
|
53
|
+
const doesLanguageHaveInstantiations = (language) => language.key in languageKey2version2classifierKey2info && language.version in languageKey2version2classifierKey2info[language.key];
|
|
49
54
|
const languagesWithoutInstantiations = serializationChunk.languages
|
|
50
|
-
.filter(
|
|
51
|
-
.map(
|
|
55
|
+
.filter(language => !doesLanguageHaveInstantiations(language))
|
|
56
|
+
.map(language => ({
|
|
52
57
|
...language,
|
|
53
58
|
name: symbolTable.languageMatching(language.key, language.version)?.name
|
|
54
59
|
}));
|
|
55
|
-
const isClassifierUsed = (metaPointer) => metaPointer.language in languageKey2version2classifierKey2info
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const uninstantiatedInstantiableClassifiers = languages
|
|
59
|
-
.
|
|
60
|
-
.
|
|
61
|
-
.
|
|
60
|
+
const isClassifierUsed = (metaPointer) => metaPointer.language in languageKey2version2classifierKey2info &&
|
|
61
|
+
metaPointer.version in languageKey2version2classifierKey2info[metaPointer.language] &&
|
|
62
|
+
metaPointer.key in languageKey2version2classifierKey2info[metaPointer.language][metaPointer.version];
|
|
63
|
+
const uninstantiatedInstantiableClassifiers = languages
|
|
64
|
+
.flatMap(instantiableClassifiersOf)
|
|
65
|
+
.map(classifier => classifier.metaPointer())
|
|
66
|
+
.filter(metaPointer => !isClassifierUsed(metaPointer))
|
|
67
|
+
.map(metaPointer => ({
|
|
62
68
|
language: {
|
|
63
69
|
key: metaPointer.language,
|
|
64
70
|
version: metaPointer.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measurer.js","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"measurer.js","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAA4B,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzI,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAUjG;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAc,EAAU,EAAE,CACjD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAA;AAG3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,kBAAoC,EAAE,SAAqB,EAAW,EAAE;IAC5F,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAA;IAEvD,uHAAuH;IACvH,MAAM,sCAAsC,GAAG,aAAa,CAA0B,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5F,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;QAC/B,cAAc,EAAE,KAAK,CAAC,MAAM;KAC/B,CAAC,CAAC,CACC,cAAc,CACV,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EACvC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EACtC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CACrC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAC9B,CAAA;IAED,MAAM,2BAA2B,GAAG,cAAc,CAC9C,sCAAsC,EACtC,CAAC,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,EAAE,WAAW;QAChB,OAAO;QACP,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,IAAI;QAC9D,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACjG,CAAC,CACL,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,MAAuB,EAAmC,EAAE;QAC5E,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAA;QACvB,CAAC;QACD,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAA;QACpB,CAAC;QACD,IAAI,MAAM,YAAY,SAAS,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAA;QACtB,CAAC;QACD,OAAO,SAAS,CAAA;IACpB,CAAC,CAAA;IAED,uDAAuD;IACvD,MAAM,uBAAuB,GAAG,cAAc,CAAC,sCAAsC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;QACjI,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC9D,OAAO;YACH,QAAQ,EAAE;gBACN,GAAG,EAAE,WAAW;gBAChB,OAAO;gBACP,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,IAAI;aACjE;YACD,GAAG,EAAE,aAAa;YAClB,IAAI,EAAE,UAAU,EAAE,IAAI;YACtB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC;YAChC,cAAc,EAAE,IAAI,CAAC,cAAc;SACtC,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,MAAM,8BAA8B,GAAG,CAAC,QAAiC,EAAW,EAAE,CAClF,QAAQ,CAAC,GAAG,IAAI,sCAAsC,IAAI,QAAQ,CAAC,OAAO,IAAI,sCAAsC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAEtI,MAAM,8BAA8B,GAAG,kBAAkB,CAAC,SAAS;SAC9D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;SAC7D,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACd,GAAG,QAAQ;QACX,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI;KAC3E,CAAC,CAAC,CAAA;IAEP,MAAM,gBAAgB,GAAG,CAAC,WAAmC,EAAW,EAAE,CACtE,WAAW,CAAC,QAAQ,IAAI,sCAAsC;QAC9D,WAAW,CAAC,OAAO,IAAI,sCAAsC,CAAC,WAAW,CAAC,QAAQ,CAAC;QACnF,WAAW,CAAC,GAAG,IAAI,sCAAsC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAExG,MAAM,qCAAqC,GAAG,SAAS;SAClD,OAAO,CAAC,yBAAyB,CAAC;SAClC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAC3C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;SACrD,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACjB,QAAQ,EAAE;YACN,GAAG,EAAE,WAAW,CAAC,QAAQ;YACzB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI;SACtF;QACD,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI;KACtD,CAAC,CAAC,CAAA;IAEP,OAAO;QACH,2BAA2B;QAC3B,uBAAuB;QACvB,8BAA8B;QAC9B,qCAAqC;KACxC,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { LionWebKey } from "@lionweb/json";
|
|
1
2
|
type OptionallyNamed = {
|
|
2
3
|
name?: string;
|
|
3
4
|
};
|
|
4
5
|
type LanguagePointer = {
|
|
5
|
-
key:
|
|
6
|
+
key: LionWebKey;
|
|
6
7
|
version: string;
|
|
7
8
|
} & OptionallyNamed;
|
|
8
9
|
type ClassifierMetric = {
|
|
9
10
|
language: LanguagePointer;
|
|
10
|
-
key:
|
|
11
|
+
key: LionWebKey;
|
|
11
12
|
} & OptionallyNamed;
|
|
12
13
|
type ClassifierMetaTypes = "annotation" | "concept" | "interface";
|
|
13
14
|
type ClassifierInstantiationMetric = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-types.d.ts","sourceRoot":"","sources":["../../src/serialization/metric-types.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,eAAe,GAAG;IACnB,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"metric-types.d.ts","sourceRoot":"","sources":["../../src/serialization/metric-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,KAAK,eAAe,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,eAAe,GAAG;IACnB,GAAG,EAAE,UAAU,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAClB,GAAG,eAAe,CAAA;AAEJ,KAAK,gBAAgB,GAAG;IACnC,QAAQ,EAAE,eAAe,CAAA;IACzB,GAAG,EAAE,UAAU,CAAA;CAClB,GAAG,eAAe,CAAA;AAEnB,KAAK,mBAAmB,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAA;AAEjE,KAAK,6BAA6B,GAAG;IACjC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;CACzB,GAAG,gBAAgB,CAAA;AAEpB,KAAK,cAAc,GAAG;IAClB,cAAc,EAAE,MAAM,CAAA;CACzB,GAAG,eAAe,CAAA;AAGnB,KAAK,OAAO,GAAG;IACX,2BAA2B,EAAE,cAAc,EAAE,CAAA;IAC7C,uBAAuB,EAAE,6BAA6B,EAAE,CAAA;IACxD,qCAAqC,EAAE,gBAAgB,EAAE,CAAA;IACzD,8BAA8B,EAAE,eAAe,EAAE,CAAA;CACpD,CAAA;AAGD,YAAY,EACR,6BAA6B,EAC7B,mBAAmB,EACnB,eAAe,EACf,OAAO,EACV,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const orderedMetaPointer: ({ language, version, key }:
|
|
3
|
-
declare const orderedSerializedLanguageReference: ({ key, version }:
|
|
4
|
-
declare const orderedSerializedReferenceTarget: ({ reference, resolveInfo }:
|
|
5
|
-
declare const orderedSerializedProperty: ({ property, value }:
|
|
6
|
-
declare const orderedSerializationChunk: ({ serializationFormatVersion, languages, nodes }:
|
|
1
|
+
import { LionWebJsonChunk, LionWebJsonMetaPointer, LionWebJsonProperty, LionWebJsonReferenceTarget, LionWebJsonUsedLanguage } from "@lionweb/json";
|
|
2
|
+
declare const orderedMetaPointer: ({ language, version, key }: LionWebJsonMetaPointer) => LionWebJsonMetaPointer;
|
|
3
|
+
declare const orderedSerializedLanguageReference: ({ key, version }: LionWebJsonUsedLanguage) => LionWebJsonUsedLanguage;
|
|
4
|
+
declare const orderedSerializedReferenceTarget: ({ reference, resolveInfo }: LionWebJsonReferenceTarget) => LionWebJsonReferenceTarget;
|
|
5
|
+
declare const orderedSerializedProperty: ({ property, value }: LionWebJsonProperty) => LionWebJsonProperty;
|
|
6
|
+
declare const orderedSerializationChunk: ({ serializationFormatVersion, languages, nodes }: LionWebJsonChunk) => LionWebJsonChunk;
|
|
7
7
|
export { orderedMetaPointer, orderedSerializationChunk, orderedSerializedLanguageReference, orderedSerializedProperty, orderedSerializedReferenceTarget };
|
|
8
8
|
//# sourceMappingURL=ordering.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEhB,sBAAsB,EAEtB,mBAAmB,EAEnB,0BAA0B,EAC1B,uBAAuB,EAC1B,MAAM,eAAe,CAAA;AAEtB,QAAA,MAAM,kBAAkB,+BAAgC,sBAAsB,KAAG,sBAI/E,CAAA;AAEF,QAAA,MAAM,kCAAkC,qBAAsB,uBAAuB,KAAG,uBAGtF,CAAA;AAEF,QAAA,MAAM,gCAAgC,+BAAgC,0BAA0B,KAAG,0BAGjG,CAAA;AAEF,QAAA,MAAM,yBAAyB,wBAAyB,mBAAmB,KAAG,mBAG5E,CAAA;AA8BF,QAAA,MAAM,yBAAyB,qDAAsD,gBAAgB,KAAG,gBAItG,CAAA;AAEF,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,CAAA"}
|
|
@@ -17,11 +17,11 @@ const orderedSerializedProperty = ({ property, value }) => ({
|
|
|
17
17
|
});
|
|
18
18
|
const orderedSerializedContainment = ({ containment, children }) => ({
|
|
19
19
|
containment: orderedMetaPointer(containment),
|
|
20
|
-
children
|
|
20
|
+
children // TODO ensure [] if empty
|
|
21
21
|
});
|
|
22
22
|
const orderedSerializedReference = ({ reference, targets }) => ({
|
|
23
23
|
reference: orderedMetaPointer(reference),
|
|
24
|
-
targets: targets.map(orderedSerializedReferenceTarget)
|
|
24
|
+
targets: targets.map(orderedSerializedReferenceTarget) // TODO ensure [] if empty
|
|
25
25
|
});
|
|
26
26
|
const orderedSerializedNode = ({ id, classifier, properties, containments, references, annotations, parent }) => ({
|
|
27
27
|
id,
|
|
@@ -29,7 +29,7 @@ const orderedSerializedNode = ({ id, classifier, properties, containments, refer
|
|
|
29
29
|
properties: properties.map(orderedSerializedProperty),
|
|
30
30
|
containments: containments.map(orderedSerializedContainment),
|
|
31
31
|
references: references.map(orderedSerializedReference),
|
|
32
|
-
annotations,
|
|
32
|
+
annotations, // TODO ensure [] if empty
|
|
33
33
|
parent
|
|
34
34
|
});
|
|
35
35
|
const orderedSerializationChunk = ({ serializationFormatVersion, languages, nodes }) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ordering.js","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ordering.js","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"AAWA,MAAM,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAA0B,EAA0B,EAAE,CAAC,CAAC;IACxG,QAAQ;IACR,OAAO;IACP,GAAG;CACN,CAAC,CAAA;AAEF,MAAM,kCAAkC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAA2B,EAA2B,EAAE,CAAC,CAAC;IAChH,GAAG;IACH,OAAO;CACV,CAAC,CAAA;AAEF,MAAM,gCAAgC,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAA8B,EAA8B,EAAE,CAAC,CAAC;IAC9H,WAAW;IACX,SAAS;CACZ,CAAC,CAAA;AAEF,MAAM,yBAAyB,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAuB,EAAuB,EAAE,CAAC,CAAC;IAClG,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IACtC,KAAK;CACR,CAAC,CAAA;AAEF,MAAM,4BAA4B,GAAG,CAAC,EAAE,WAAW,EAAE,QAAQ,EAA0B,EAA0B,EAAE,CAAC,CAAC;IACjH,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;IAC5C,QAAQ,CAAI,2BAA2B;CAC1C,CAAC,CAAA;AAEF,MAAM,0BAA0B,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAwB,EAAwB,EAAE,CAAC,CAAC;IACxG,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAI,2BAA2B;CACxF,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,EAC3B,EAAE,EACF,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,MAAM,EACQ,EAAmB,EAAE,CAAC,CAAC;IACrC,EAAE;IACF,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACrD,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC5D,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACtD,WAAW,EAAK,2BAA2B;IAC3C,MAAM;CACT,CAAC,CAAA;AAEF,MAAM,yBAAyB,GAAG,CAAC,EAAE,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAoB,EAAoB,EAAE,CAAC,CAAC;IACzH,0BAA0B;IAC1B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAC1C,CAAC,CAAA;AAEF,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LionWebJsonChunk } from "@lionweb/json";
|
|
2
2
|
/**
|
|
3
3
|
* @return A sorted version of a {@link SerializedModel JSON serialization}, which should make it easier to inspect.
|
|
4
4
|
* Note that the sorted version destroy the order of links, which might effectively alter semantics.
|
|
5
5
|
*/
|
|
6
|
-
export declare const sortedSerializationChunk: ({ serializationFormatVersion, languages, nodes }:
|
|
6
|
+
export declare const sortedSerializationChunk: ({ serializationFormatVersion, languages, nodes }: LionWebJsonChunk) => LionWebJsonChunk;
|
|
7
7
|
//# sourceMappingURL=sorting.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKhD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,qDAAoD,gBAAgB,KAAG,gBAsBtG,CAAA"}
|