@lionweb/utilities 0.9.0-beta.0 → 0.9.0-beta.1
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 +6 -0
- package/dist/serialization/index.d.ts +2 -1
- package/dist/serialization/index.d.ts.map +1 -1
- package/dist/serialization/index.js +1 -1
- package/dist/serialization/index.js.map +1 -1
- package/dist/serialization/metrics/functions.d.ts +16 -0
- package/dist/serialization/metrics/functions.d.ts.map +1 -0
- package/dist/serialization/metrics/functions.js +62 -0
- package/dist/serialization/metrics/functions.js.map +1 -0
- package/dist/serialization/metrics/index.d.ts +4 -0
- package/dist/serialization/metrics/index.d.ts.map +1 -0
- package/dist/serialization/metrics/index.js +3 -0
- package/dist/serialization/metrics/index.js.map +1 -0
- package/dist/serialization/{measurer.d.ts → metrics/measurer.d.ts} +1 -5
- package/dist/serialization/metrics/measurer.d.ts.map +1 -0
- package/dist/serialization/{measurer.js → metrics/measurer.js} +2 -6
- package/dist/serialization/metrics/measurer.js.map +1 -0
- package/dist/serialization/{metric-types.d.ts → metrics/types.d.ts} +5 -5
- package/dist/serialization/metrics/types.d.ts.map +1 -0
- package/dist/serialization/metrics/types.js +2 -0
- package/dist/serialization/metrics/types.js.map +1 -0
- package/package.json +5 -5
- package/src/serialization/index.ts +2 -1
- package/src/serialization/metrics/functions.ts +94 -0
- package/src/serialization/metrics/index.ts +10 -0
- package/src/serialization/{measurer.ts → metrics/measurer.ts} +3 -10
- package/src/serialization/{metric-types.ts → metrics/types.ts} +7 -5
- package/dist/serialization/measurer.d.ts.map +0 -1
- package/dist/serialization/measurer.js.map +0 -1
- package/dist/serialization/metric-types.d.ts.map +0 -1
- package/dist/serialization/metric-types.js +0 -2
- package/dist/serialization/metric-types.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.0 — not yet released
|
|
4
|
+
|
|
5
|
+
* Expose types associated with the `measure` function — m.n. `Metrics`.
|
|
6
|
+
* Add a `zeroMetrics` constant, and `mergeMetrics` and `aggregateMetrics` functions, to aggregate `Metrics`.
|
|
7
|
+
|
|
8
|
+
|
|
3
9
|
## 0.8.0
|
|
4
10
|
|
|
5
11
|
* Propagate `reference` field of `LionWebJsonReferenceTarget` type now being `null`able.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { withoutAnnotations } from "./annotation-remover.js";
|
|
2
2
|
export { looksLikeSerializedLanguages, readSerializationChunk, tryReadAllAsLanguages, tryReadAsLanguages } from "./chunk.js";
|
|
3
|
-
export { measure } from "./
|
|
3
|
+
export { aggregateMetrics, measure, mergeMetrics, zeroMetrics } from "./metrics/index.js";
|
|
4
|
+
export type { ClassifierInstantiationMetric, ClassifierMetaTypes, ClassifierPointer, Metrics, LanguageMetric, LanguagePointer } from "./metrics/index.js";
|
|
4
5
|
export { orderedSerializationChunk } from "./ordering.js";
|
|
5
6
|
export { sortedSerializationChunk } from "./sorting.js";
|
|
6
7
|
export { genericAsTreeText } from "./textualizer.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAC,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAA;AAC1H,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAC,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAA;AAC1H,OAAO,EAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAA;AACvF,YAAY,EAAC,6BAA6B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AACvJ,OAAO,EAAC,yBAAyB,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAA;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { withoutAnnotations } from "./annotation-remover.js";
|
|
2
2
|
export { looksLikeSerializedLanguages, readSerializationChunk, tryReadAllAsLanguages, tryReadAsLanguages } from "./chunk.js";
|
|
3
|
-
export { measure } from "./
|
|
3
|
+
export { aggregateMetrics, measure, mergeMetrics, zeroMetrics } from "./metrics/index.js";
|
|
4
4
|
export { orderedSerializationChunk } from "./ordering.js";
|
|
5
5
|
export { sortedSerializationChunk } from "./sorting.js";
|
|
6
6
|
export { genericAsTreeText } from "./textualizer.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAC,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAA;AAC1H,OAAO,EAAC,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAC,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAA;AAC1H,OAAO,EAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAA;AAEvF,OAAO,EAAC,yBAAyB,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAA;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Metrics } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* A “0” instance of the {@link Metrics metrics type},
|
|
4
|
+
* for use in combination with `Array.reduce`:
|
|
5
|
+
* ```reduce(mergeMetrics, zeroMetrics)```.
|
|
6
|
+
*/
|
|
7
|
+
export declare const zeroMetrics: Metrics;
|
|
8
|
+
/**
|
|
9
|
+
* @return a merging of the given `left` and `right` {@link Metrics metrics}.
|
|
10
|
+
*/
|
|
11
|
+
export declare const mergeMetrics: (left: Metrics, right: Metrics) => Metrics;
|
|
12
|
+
/**
|
|
13
|
+
* @return the aggregation of all given {@link Metric `metrics`}.
|
|
14
|
+
*/
|
|
15
|
+
export declare const aggregateMetrics: (metrics: Metrics[]) => Metrics;
|
|
16
|
+
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/serialization/metrics/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,OAAO,EAAE,MAAM,YAAY,CAAA;AAExE;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,OAKzB,CAAA;AAYD;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,EAAE,OAAO,OAAO,KAAG,OA0D5D,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,EAAE,KAAG,OACT,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A “0” instance of the {@link Metrics metrics type},
|
|
3
|
+
* for use in combination with `Array.reduce`:
|
|
4
|
+
* ```reduce(mergeMetrics, zeroMetrics)```.
|
|
5
|
+
*/
|
|
6
|
+
export const zeroMetrics = {
|
|
7
|
+
languagesWithInstantiations: [],
|
|
8
|
+
instantiatedClassifiers: [],
|
|
9
|
+
languagesWithoutInstantiations: [],
|
|
10
|
+
uninstantiatedInstantiableClassifiers: []
|
|
11
|
+
};
|
|
12
|
+
const isFromSameLanguage = (that) => (other) => that.key === other.key && that.version === other.version;
|
|
13
|
+
const isFromSameClassifier = (that) => (other) => isFromSameLanguage(that.language)(other.language) && that.key === other.key;
|
|
14
|
+
/**
|
|
15
|
+
* @return a merging of the given `left` and `right` {@link Metrics metrics}.
|
|
16
|
+
*/
|
|
17
|
+
export const mergeMetrics = (left, right) => {
|
|
18
|
+
const languagesWithInstantiations = [
|
|
19
|
+
...(left.languagesWithInstantiations.map((leftMetric) => {
|
|
20
|
+
const rightMetric = right.languagesWithInstantiations.find(isFromSameLanguage(leftMetric));
|
|
21
|
+
return {
|
|
22
|
+
key: leftMetric.key,
|
|
23
|
+
version: leftMetric.version,
|
|
24
|
+
name: leftMetric.name ?? rightMetric?.name,
|
|
25
|
+
instantiations: leftMetric.instantiations + (rightMetric?.instantiations ?? 0)
|
|
26
|
+
};
|
|
27
|
+
})),
|
|
28
|
+
...(right.languagesWithInstantiations.filter((rightMetric) => !left.languagesWithInstantiations.some(isFromSameLanguage(rightMetric))))
|
|
29
|
+
];
|
|
30
|
+
const instantiatedClassifiers = [
|
|
31
|
+
...(left.instantiatedClassifiers.map((leftMetric) => {
|
|
32
|
+
const rightMetric = right.instantiatedClassifiers.find(isFromSameClassifier(leftMetric));
|
|
33
|
+
return {
|
|
34
|
+
language: leftMetric.language,
|
|
35
|
+
key: leftMetric.key,
|
|
36
|
+
name: leftMetric.name ?? rightMetric?.name,
|
|
37
|
+
metaType: leftMetric.metaType,
|
|
38
|
+
instantiations: leftMetric.instantiations + (rightMetric?.instantiations ?? 0)
|
|
39
|
+
};
|
|
40
|
+
})),
|
|
41
|
+
...(right.instantiatedClassifiers.filter((rightMetric) => !left.instantiatedClassifiers.some(isFromSameClassifier(rightMetric))))
|
|
42
|
+
];
|
|
43
|
+
const languagesWithoutInstantiations = [...left.languagesWithoutInstantiations, ...right.languagesWithoutInstantiations]
|
|
44
|
+
.filter((languagePointer, index, all) => !languagesWithInstantiations.some(isFromSameLanguage(languagePointer)) // remove languages that have instantiations after all
|
|
45
|
+
&& !all.slice(0, index).some(isFromSameLanguage(languagePointer)) // remove languages that already occurred
|
|
46
|
+
);
|
|
47
|
+
const uninstantiatedInstantiableClassifiers = [...left.uninstantiatedInstantiableClassifiers, ...right.uninstantiatedInstantiableClassifiers]
|
|
48
|
+
.filter((classifierPointer, index, all) => !instantiatedClassifiers.some(isFromSameClassifier(classifierPointer)) // remove languages that have instantiations after all
|
|
49
|
+
&& !all.slice(0, index).some(isFromSameClassifier(classifierPointer)) // remove languages that already occurred
|
|
50
|
+
);
|
|
51
|
+
return {
|
|
52
|
+
languagesWithInstantiations,
|
|
53
|
+
instantiatedClassifiers,
|
|
54
|
+
languagesWithoutInstantiations,
|
|
55
|
+
uninstantiatedInstantiableClassifiers
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* @return the aggregation of all given {@link Metric `metrics`}.
|
|
60
|
+
*/
|
|
61
|
+
export const aggregateMetrics = (metrics) => metrics.reduce(mergeMetrics, zeroMetrics);
|
|
62
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/serialization/metrics/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { measure } from "./measurer.js";
|
|
2
|
+
export { aggregateMetrics, mergeMetrics, zeroMetrics } from "./functions.js";
|
|
3
|
+
export type { ClassifierPointer, ClassifierInstantiationMetric, ClassifierMetaTypes, LanguageMetric, LanguagePointer, Metrics } from "./types.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialization/metrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC1E,YAAY,EACR,iBAAiB,EACjB,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,OAAO,EACV,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/serialization/metrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { Language } from "@lionweb/core";
|
|
2
2
|
import { LionWebJsonChunk } from "@lionweb/json";
|
|
3
|
-
import { Metrics } from "./
|
|
4
|
-
/**
|
|
5
|
-
* Sum the given array of numbers.
|
|
6
|
-
*/
|
|
7
|
-
export declare const sumNumbers: (nums: number[]) => number;
|
|
3
|
+
import { Metrics } from "./types.js";
|
|
8
4
|
/**
|
|
9
5
|
* Computes {@link Metrics metrics} on the given {@link LionWebJsonChunk serialization chunk}.
|
|
10
6
|
* Passing it {@link Language languages} make this language-aware:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurer.d.ts","sourceRoot":"","sources":["../../../src/serialization/metrics/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,YAAY,CAAA;AASzD;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,oBAAoB,gBAAgB,EAAE,WAAW,QAAQ,EAAE,KAAG,OAyFrF,CAAA"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { Annotation, Concept, instantiableClassifiersOf, Interface, MemoisingSymbolTable } from "@lionweb/core";
|
|
2
|
-
import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3 } from "@lionweb/ts-utils";
|
|
3
|
-
/**
|
|
4
|
-
* Sum the given array of numbers.
|
|
5
|
-
*/
|
|
6
|
-
export const sumNumbers = (nums) => nums.reduce((acc, cur) => acc + cur, 0);
|
|
2
|
+
import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3, sumOfNumbers } from "@lionweb/ts-utils";
|
|
7
3
|
/**
|
|
8
4
|
* Computes {@link Metrics metrics} on the given {@link LionWebJsonChunk serialization chunk}.
|
|
9
5
|
* Passing it {@link Language languages} make this language-aware:
|
|
@@ -21,7 +17,7 @@ export const measure = (serializationChunk, languages) => {
|
|
|
21
17
|
key: languageKey,
|
|
22
18
|
version,
|
|
23
19
|
name: symbolTable.languageMatching(languageKey, version)?.name,
|
|
24
|
-
instantiations:
|
|
20
|
+
instantiations: sumOfNumbers(Object.values(classifierKey2info).map(info => info.instantiations))
|
|
25
21
|
}));
|
|
26
22
|
const metaTypeOf = (entity) => {
|
|
27
23
|
if (entity instanceof Annotation) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurer.js","sourceRoot":"","sources":["../../../src/serialization/metrics/measurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ type LanguagePointer = {
|
|
|
6
6
|
key: LionWebKey;
|
|
7
7
|
version: string;
|
|
8
8
|
} & OptionallyNamed;
|
|
9
|
-
type
|
|
9
|
+
type ClassifierPointer = {
|
|
10
10
|
language: LanguagePointer;
|
|
11
11
|
key: LionWebKey;
|
|
12
12
|
} & OptionallyNamed;
|
|
@@ -14,15 +14,15 @@ type ClassifierMetaTypes = "annotation" | "concept" | "interface";
|
|
|
14
14
|
type ClassifierInstantiationMetric = {
|
|
15
15
|
metaType?: ClassifierMetaTypes;
|
|
16
16
|
instantiations: number;
|
|
17
|
-
} &
|
|
17
|
+
} & ClassifierPointer;
|
|
18
18
|
type LanguageMetric = {
|
|
19
19
|
instantiations: number;
|
|
20
20
|
} & LanguagePointer;
|
|
21
21
|
type Metrics = {
|
|
22
22
|
languagesWithInstantiations: LanguageMetric[];
|
|
23
23
|
instantiatedClassifiers: ClassifierInstantiationMetric[];
|
|
24
|
-
uninstantiatedInstantiableClassifiers: ClassifierMetric[];
|
|
25
24
|
languagesWithoutInstantiations: LanguagePointer[];
|
|
25
|
+
uninstantiatedInstantiableClassifiers: ClassifierPointer[];
|
|
26
26
|
};
|
|
27
|
-
export type { ClassifierInstantiationMetric, ClassifierMetaTypes, LanguagePointer, Metrics };
|
|
28
|
-
//# sourceMappingURL=
|
|
27
|
+
export type { ClassifierInstantiationMetric, ClassifierMetaTypes, ClassifierPointer, LanguageMetric, LanguagePointer, Metrics };
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/serialization/metrics/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,iBAAiB,GAAG;IACpC,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,iBAAiB,CAAA;AAErB,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,8BAA8B,EAAE,eAAe,EAAE,CAAA;IACjD,qCAAqC,EAAE,iBAAiB,EAAE,CAAA;CAC7D,CAAA;AAGD,YAAY,EACR,6BAA6B,EAC7B,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,OAAO,EACV,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/serialization/metrics/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/utilities",
|
|
3
|
-
"version": "0.9.0-beta.
|
|
3
|
+
"version": "0.9.0-beta.1",
|
|
4
4
|
"description": "LionWeb utilities",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@lionweb/core": "0.9.0-beta.
|
|
19
|
-
"@lionweb/json": "0.9.0-beta.
|
|
20
|
-
"@lionweb/textgen-utils": "0.9.0-beta.
|
|
21
|
-
"@lionweb/ts-utils": "0.9.0-beta.
|
|
18
|
+
"@lionweb/core": "0.9.0-beta.1",
|
|
19
|
+
"@lionweb/json": "0.9.0-beta.1",
|
|
20
|
+
"@lionweb/textgen-utils": "0.9.0-beta.1",
|
|
21
|
+
"@lionweb/ts-utils": "0.9.0-beta.1",
|
|
22
22
|
"littoral-templates": "0.5.1",
|
|
23
23
|
"nanoid": "5.1.6"
|
|
24
24
|
},
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export {withoutAnnotations} from "./annotation-remover.js"
|
|
2
2
|
export {looksLikeSerializedLanguages, readSerializationChunk, tryReadAllAsLanguages, tryReadAsLanguages} from "./chunk.js"
|
|
3
|
-
export {measure} from "./
|
|
3
|
+
export {aggregateMetrics, measure, mergeMetrics, zeroMetrics} from "./metrics/index.js"
|
|
4
|
+
export type {ClassifierInstantiationMetric, ClassifierMetaTypes, ClassifierPointer, Metrics, LanguageMetric, LanguagePointer} from "./metrics/index.js"
|
|
4
5
|
export {orderedSerializationChunk} from "./ordering.js"
|
|
5
6
|
export {sortedSerializationChunk} from "./sorting.js"
|
|
6
7
|
export {genericAsTreeText} from "./textualizer.js"
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { ClassifierPointer, LanguagePointer, Metrics } from "./types.js"
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A “0” instance of the {@link Metrics metrics type},
|
|
5
|
+
* for use in combination with `Array.reduce`:
|
|
6
|
+
* ```reduce(mergeMetrics, zeroMetrics)```.
|
|
7
|
+
*/
|
|
8
|
+
export const zeroMetrics: Metrics = {
|
|
9
|
+
languagesWithInstantiations: [],
|
|
10
|
+
instantiatedClassifiers: [],
|
|
11
|
+
languagesWithoutInstantiations: [],
|
|
12
|
+
uninstantiatedInstantiableClassifiers: []
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
const isFromSameLanguage = (that: LanguagePointer) =>
|
|
17
|
+
(other: LanguagePointer) =>
|
|
18
|
+
that.key === other.key && that.version === other.version
|
|
19
|
+
|
|
20
|
+
const isFromSameClassifier = (that: ClassifierPointer) =>
|
|
21
|
+
(other: ClassifierPointer) =>
|
|
22
|
+
isFromSameLanguage(that.language)(other.language) && that.key === other.key
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @return a merging of the given `left` and `right` {@link Metrics metrics}.
|
|
27
|
+
*/
|
|
28
|
+
export const mergeMetrics = (left: Metrics, right: Metrics): Metrics => {
|
|
29
|
+
const languagesWithInstantiations = [
|
|
30
|
+
...(
|
|
31
|
+
left.languagesWithInstantiations.map((leftMetric) => {
|
|
32
|
+
const rightMetric = right.languagesWithInstantiations.find(isFromSameLanguage(leftMetric))
|
|
33
|
+
return {
|
|
34
|
+
key: leftMetric.key,
|
|
35
|
+
version: leftMetric.version,
|
|
36
|
+
name: leftMetric.name ?? rightMetric?.name,
|
|
37
|
+
instantiations: leftMetric.instantiations + (rightMetric?.instantiations ?? 0)
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
),
|
|
41
|
+
...(
|
|
42
|
+
right.languagesWithInstantiations.filter((rightMetric) =>
|
|
43
|
+
!left.languagesWithInstantiations.some(isFromSameLanguage(rightMetric))
|
|
44
|
+
)
|
|
45
|
+
)
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
const instantiatedClassifiers = [
|
|
49
|
+
...(
|
|
50
|
+
left.instantiatedClassifiers.map((leftMetric) => {
|
|
51
|
+
const rightMetric = right.instantiatedClassifiers.find(isFromSameClassifier(leftMetric))
|
|
52
|
+
return {
|
|
53
|
+
language: leftMetric.language,
|
|
54
|
+
key: leftMetric.key,
|
|
55
|
+
name: leftMetric.name ?? rightMetric?.name,
|
|
56
|
+
metaType: leftMetric.metaType,
|
|
57
|
+
instantiations: leftMetric.instantiations + (rightMetric?.instantiations ?? 0)
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
),
|
|
61
|
+
...(
|
|
62
|
+
right.instantiatedClassifiers.filter((rightMetric) =>
|
|
63
|
+
!left.instantiatedClassifiers.some(isFromSameClassifier(rightMetric))
|
|
64
|
+
)
|
|
65
|
+
)
|
|
66
|
+
]
|
|
67
|
+
|
|
68
|
+
const languagesWithoutInstantiations = [...left.languagesWithoutInstantiations, ...right.languagesWithoutInstantiations]
|
|
69
|
+
.filter((languagePointer, index, all) =>
|
|
70
|
+
!languagesWithInstantiations.some(isFromSameLanguage(languagePointer)) // remove languages that have instantiations after all
|
|
71
|
+
&& !all.slice(0, index).some(isFromSameLanguage(languagePointer)) // remove languages that already occurred
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
const uninstantiatedInstantiableClassifiers = [...left.uninstantiatedInstantiableClassifiers, ...right.uninstantiatedInstantiableClassifiers]
|
|
75
|
+
.filter((classifierPointer, index, all) =>
|
|
76
|
+
!instantiatedClassifiers.some(isFromSameClassifier(classifierPointer)) // remove languages that have instantiations after all
|
|
77
|
+
&& !all.slice(0, index).some(isFromSameClassifier(classifierPointer)) // remove languages that already occurred
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
return {
|
|
81
|
+
languagesWithInstantiations,
|
|
82
|
+
instantiatedClassifiers,
|
|
83
|
+
languagesWithoutInstantiations,
|
|
84
|
+
uninstantiatedInstantiableClassifiers
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* @return the aggregation of all given {@link Metric `metrics`}.
|
|
91
|
+
*/
|
|
92
|
+
export const aggregateMetrics = (metrics: Metrics[]): Metrics =>
|
|
93
|
+
metrics.reduce(mergeMetrics, zeroMetrics)
|
|
94
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export {measure} from "./measurer.js"
|
|
2
|
+
export {aggregateMetrics, mergeMetrics, zeroMetrics} from "./functions.js"
|
|
3
|
+
export type {
|
|
4
|
+
ClassifierPointer,
|
|
5
|
+
ClassifierInstantiationMetric,
|
|
6
|
+
ClassifierMetaTypes,
|
|
7
|
+
LanguageMetric,
|
|
8
|
+
LanguagePointer,
|
|
9
|
+
Metrics
|
|
10
|
+
} from "./types.js"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Annotation, Concept, instantiableClassifiersOf, Interface, Language, LanguageEntity, MemoisingSymbolTable } from "@lionweb/core"
|
|
2
2
|
import { LionWebJsonChunk, LionWebJsonMetaPointer, LionWebJsonNode, LionWebJsonUsedLanguage } from "@lionweb/json"
|
|
3
|
-
import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3 } from "@lionweb/ts-utils"
|
|
4
|
-
import { ClassifierMetaTypes, Metrics } from "./
|
|
3
|
+
import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3, sumOfNumbers } from "@lionweb/ts-utils"
|
|
4
|
+
import { ClassifierMetaTypes, Metrics } from "./types.js"
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
type Info = {
|
|
@@ -10,13 +10,6 @@ type Info = {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
/**
|
|
14
|
-
* Sum the given array of numbers.
|
|
15
|
-
*/
|
|
16
|
-
export const sumNumbers = (nums: number[]): number =>
|
|
17
|
-
nums.reduce((acc, cur) => acc + cur, 0)
|
|
18
|
-
|
|
19
|
-
|
|
20
13
|
/**
|
|
21
14
|
* Computes {@link Metrics metrics} on the given {@link LionWebJsonChunk serialization chunk}.
|
|
22
15
|
* Passing it {@link Language languages} make this language-aware:
|
|
@@ -44,7 +37,7 @@ export const measure = (serializationChunk: LionWebJsonChunk, languages: Languag
|
|
|
44
37
|
key: languageKey,
|
|
45
38
|
version,
|
|
46
39
|
name: symbolTable.languageMatching(languageKey, version)?.name,
|
|
47
|
-
instantiations:
|
|
40
|
+
instantiations: sumOfNumbers(Object.values(classifierKey2info).map(info => info.instantiations))
|
|
48
41
|
})
|
|
49
42
|
)
|
|
50
43
|
|
|
@@ -9,7 +9,7 @@ type LanguagePointer = {
|
|
|
9
9
|
version: string
|
|
10
10
|
} & OptionallyNamed
|
|
11
11
|
|
|
12
|
-
/* abstract */ type
|
|
12
|
+
/* abstract */ type ClassifierPointer = {
|
|
13
13
|
language: LanguagePointer
|
|
14
14
|
key: LionWebKey // key of classifier
|
|
15
15
|
} & OptionallyNamed
|
|
@@ -19,7 +19,7 @@ type ClassifierMetaTypes = "annotation" | "concept" | "interface"
|
|
|
19
19
|
type ClassifierInstantiationMetric = {
|
|
20
20
|
metaType?: ClassifierMetaTypes
|
|
21
21
|
instantiations: number
|
|
22
|
-
} &
|
|
22
|
+
} & ClassifierPointer
|
|
23
23
|
|
|
24
24
|
type LanguageMetric = {
|
|
25
25
|
instantiations: number
|
|
@@ -27,16 +27,18 @@ type LanguageMetric = {
|
|
|
27
27
|
|
|
28
28
|
// TODO order?
|
|
29
29
|
type Metrics = {
|
|
30
|
-
languagesWithInstantiations: LanguageMetric[]
|
|
30
|
+
languagesWithInstantiations: LanguageMetric[] // (note: is derivable from instantiatedClassifiers, in principle)
|
|
31
31
|
instantiatedClassifiers: ClassifierInstantiationMetric[]
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
languagesWithoutInstantiations: LanguagePointer[] // (note: is derivable from uninstantiatedInstantiableClassifiers, in principle)
|
|
33
|
+
uninstantiatedInstantiableClassifiers: ClassifierPointer[]
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
export type {
|
|
38
38
|
ClassifierInstantiationMetric,
|
|
39
39
|
ClassifierMetaTypes,
|
|
40
|
+
ClassifierPointer,
|
|
41
|
+
LanguageMetric,
|
|
40
42
|
LanguagePointer,
|
|
41
43
|
Metrics
|
|
42
44
|
}
|
|
@@ -1 +0,0 @@
|
|
|
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,GAAI,MAAM,MAAM,EAAE,KAAG,MACD,CAAA;AAG3C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,oBAAoB,gBAAgB,EAAE,WAAW,QAAQ,EAAE,KAAG,OAyFrF,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"measurer.js","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metric-types.js","sourceRoot":"","sources":["../../src/serialization/metric-types.ts"],"names":[],"mappings":""}
|