@lionweb/utilities 0.8.0-beta.5 → 0.8.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/dist/m3/infer-languages.d.ts.map +1 -1
- package/dist/m3/infer-languages.js +3 -2
- package/dist/m3/infer-languages.js.map +1 -1
- package/dist/m3/ts-generation/common.d.ts.map +1 -1
- package/dist/m3/ts-generation/common.js +10 -7
- package/dist/m3/ts-generation/common.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 +2 -2
- package/dist/m3/ts-generation/ts-types-generator.js.map +1 -1
- package/dist/serialization/chunk.d.ts +14 -5
- package/dist/serialization/chunk.d.ts.map +1 -1
- package/dist/serialization/chunk.js +21 -11
- package/dist/serialization/chunk.js.map +1 -1
- package/package.json +5 -5
- package/src/m3/infer-languages.ts +5 -2
- package/src/m3/ts-generation/common.ts +11 -8
- package/src/m3/ts-generation/ts-types-generator.ts +2 -2
- package/src/serialization/chunk.ts +32 -11
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
* Propagate `reference` field of `LionWebJsonReferenceTarget` type now being `null`able.
|
|
6
6
|
* Harden `asText` textualizer function against unset and unresolved references.
|
|
7
|
+
* Extend the `looksLikeSerializedLanguages`, `tryRead[All]AsLanguages`, and `combinationOf` functions with an optional `LionWebVersion` argument — see the TSDoc of these functions for the precise semantics.
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
## 0.7.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infer-languages.d.ts","sourceRoot":"","sources":["../../src/m3/infer-languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,QAAQ,
|
|
1
|
+
{"version":3,"file":"infer-languages.d.ts","sourceRoot":"","sources":["../../src/m3/infer-languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,QAAQ,EAKX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAa,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAUvE,eAAO,MAAM,oCAAoC,GAAI,OAAO,gBAAgB,KAAG,QAAQ,EA4GtF,CAAA;AAUD,eAAO,MAAM,wBAAwB,GAAI,KAAK,UAAU,WASvD,CAAA"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Concept, Containment, defaultLionWebVersion, Language, lionWebVersionFrom, Property, Reference } from "@lionweb/core";
|
|
2
2
|
import { asArray, chain, concatenator, lastOf } from "@lionweb/ts-utils";
|
|
3
3
|
import { hasher } from "../hashing.js";
|
|
4
4
|
const possibleKeySeparators = ["-", "_"];
|
|
5
5
|
const id = chain(concatenator("-"), hasher());
|
|
6
6
|
const key = lastOf;
|
|
7
|
-
const { stringDataType, booleanDataType, integerDataType } = builtinPrimitives;
|
|
8
7
|
export const inferLanguagesFromSerializationChunk = (chunk) => {
|
|
8
|
+
const lionWebVersion = lionWebVersionFrom(chunk.serializationFormatVersion) ?? defaultLionWebVersion;
|
|
9
|
+
const { stringDataType, booleanDataType, integerDataType } = lionWebVersion.builtinsFacade.primitiveTypes;
|
|
9
10
|
const languages = new Map();
|
|
10
11
|
const concepts = new Map();
|
|
11
12
|
const links = new Array();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infer-languages.js","sourceRoot":"","sources":["../../src/m3/infer-languages.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"infer-languages.js","sourceRoot":"","sources":["../../src/m3/infer-languages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/m3/ts-generation/common.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/m3/ts-generation/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,QAAQ,EAKR,cAAc,EAEd,SAAS,EACZ,MAAM,eAAe,CAAA;AAKtB,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,CAAC,QAAQ,CAAC,KAAG,MAezD,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,QAAQ,cAAc,KAAG,OAGS,CAAA;AAG3D,eAAO,MAAM,kBAAkB,GAAI,QAAQ,cAAc,KAAG,OAW3D,CAAA"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { Annotation,
|
|
1
|
+
import { Annotation, Concept, defaultLionWebVersion, Enumeration, Interface, isRef, PrimitiveType } from "@lionweb/core";
|
|
2
|
+
const { builtinsFacade } = defaultLionWebVersion;
|
|
2
3
|
export const tsTypeFor = (datatype) => {
|
|
3
4
|
if (datatype instanceof PrimitiveType) {
|
|
4
|
-
switch (datatype) {
|
|
5
|
-
case
|
|
6
|
-
case
|
|
7
|
-
case
|
|
8
|
-
case
|
|
5
|
+
switch (datatype.key) {
|
|
6
|
+
case builtinsFacade.primitiveTypes.booleanDataType.key: return `boolean`;
|
|
7
|
+
case builtinsFacade.primitiveTypes.stringDataType.key: return `string`;
|
|
8
|
+
case builtinsFacade.primitiveTypes.integerDataType.key: return `number`;
|
|
9
|
+
case builtinsFacade.primitiveTypes.jsonDataType.key: return `unknown`;
|
|
9
10
|
default:
|
|
10
11
|
return `string`;
|
|
11
12
|
}
|
|
@@ -15,7 +16,9 @@ export const tsTypeFor = (datatype) => {
|
|
|
15
16
|
}
|
|
16
17
|
return `unknown /* [ERROR] can't compute a TS type for this datatype: ${datatype} */`;
|
|
17
18
|
};
|
|
18
|
-
export const isINamed = (entity) => entity
|
|
19
|
+
export const isINamed = (entity) => entity instanceof Interface
|
|
20
|
+
&& entity.language.key === builtinsFacade.classifiers.inamed.language.key
|
|
21
|
+
&& entity.key === builtinsFacade.classifiers.inamed.key;
|
|
19
22
|
export const usesINamedDirectly = (entity) => {
|
|
20
23
|
if (entity instanceof Annotation) {
|
|
21
24
|
return entity.implements.filter(isRef).some(isINamed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,OAAO,EAEP,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,KAAK,EAEL,aAAa,EAEhB,MAAM,eAAe,CAAA;AAGtB,MAAM,EAAE,cAAc,EAAE,GAAG,qBAAqB,CAAA;AAEhD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAA6B,EAAU,EAAE;IAC/D,IAAI,QAAQ,YAAY,aAAa,EAAE,CAAC;QACpC,QAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,cAAc,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,SAAS,CAAA;YACxE,KAAK,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAA;YACtE,KAAK,cAAc,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAA;YACvE,KAAK,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,SAAS,CAAA;YACrE;gBACI,OAAO,QAAQ,CAAA;QACvB,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,YAAY,WAAW,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC,IAAI,CAAA;IACxB,CAAC;IACD,OAAO,iEAAiE,QAAQ,KAAK,CAAA;AACzF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAW,EAAE,CACrD,MAAM,YAAY,SAAS;OAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;OACtE,MAAM,CAAC,GAAG,KAAK,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAA;AAG3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAsB,EAAW,EAAE;IAClE,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,MAAM,YAAY,SAAS,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-types-generator.d.ts","sourceRoot":"","sources":["../../../src/m3/ts-generation/ts-types-generator.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ts-types-generator.d.ts","sourceRoot":"","sources":["../../../src/m3/ts-generation/ts-types-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAgBH,QAAQ,EAOX,MAAM,eAAe,CAAA;AAuDtB,oBAAY,iBAAiB;IACzB,YAAY,IAAA;CACf;AAGD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,QAAQ,EAAE,GAAG,mBAAmB,iBAAiB,EAAE,WA0IlG,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { allFeaturesOf, Annotation, Classifier, Concept, conceptsOf, Enumeration, inheritsDirectlyFrom, Interface, isConcrete, isRef, isUnresolvedReference, Link,
|
|
1
|
+
import { allFeaturesOf, Annotation, Classifier, Concept, conceptsOf, defaultLionWebVersion, Enumeration, inheritsDirectlyFrom, Interface, isConcrete, isRef, isUnresolvedReference, Link, nameOf, nameSorted, PrimitiveType, Property } from "@lionweb/core";
|
|
2
2
|
import { indent } from "@lionweb/textgen-utils";
|
|
3
3
|
import { groupBy, mapValues, uniquesAmong } from "@lionweb/ts-utils";
|
|
4
4
|
import { asString, when } from "littoral-templates";
|
|
@@ -126,7 +126,7 @@ export const tsTypeDefsForLanguage = (language, ...generationOptions) => {
|
|
|
126
126
|
const generatedDependencies = uniquesAmong(language.entities
|
|
127
127
|
.filter((entity) => entity instanceof Classifier)
|
|
128
128
|
.flatMap((entity) => dependenciesOfClassifier(entity)))
|
|
129
|
-
.filter((classifier) => classifier.language !== language && classifier.language !==
|
|
129
|
+
.filter((classifier) => classifier.language !== language && classifier.language.key !== defaultLionWebVersion.builtinsFacade.language.key);
|
|
130
130
|
const importsPerPackage = groupBy(generatedDependencies, ({ language }) => language.name);
|
|
131
131
|
const concreteClassifiers = language.entities.filter(isConcrete);
|
|
132
132
|
return asString([
|
|
@@ -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,UAAU,EACV,OAAO,EACP,UAAU,
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { Language } from "@lionweb/core";
|
|
1
|
+
import { Language, LionWebVersion } from "@lionweb/core";
|
|
2
2
|
import { LionWebJsonChunk } from "@lionweb/json";
|
|
3
3
|
/**
|
|
4
4
|
* Reads the file at the given path as a {@link LionWebJsonChunk serialization chunk}.
|
|
@@ -8,21 +8,30 @@ import { LionWebJsonChunk } from "@lionweb/json";
|
|
|
8
8
|
export declare const readSerializationChunk: (path: string) => Promise<LionWebJsonChunk>;
|
|
9
9
|
/**
|
|
10
10
|
* @return whether the given JSON looks like the serialization of languages.
|
|
11
|
+
* @param lionWebVersion The LionWeb version that the given JSON should adhere to.
|
|
12
|
+
* If not given, then the chunk should adhere to any of the {@link LionWebVersions specified LionWeb versions}.
|
|
11
13
|
*/
|
|
12
|
-
export declare const looksLikeSerializedLanguages: (json: unknown) => boolean;
|
|
14
|
+
export declare const looksLikeSerializedLanguages: (json: unknown, lionWebVersion?: LionWebVersion) => boolean;
|
|
13
15
|
/**
|
|
14
16
|
* Tries to read the given path as a JSON file containing the serialization of languages,
|
|
15
17
|
* and attempts to deserialize the serialization chunk when it is.
|
|
16
18
|
* If any of that fails, return an empty list.
|
|
19
|
+
* @param lionWebVersion The LionWeb version that the given JSON should adhere to.
|
|
20
|
+
* If not given, then the chunk should adhere to any of the {@link LionWebVersions specified LionWeb versions}.
|
|
17
21
|
*/
|
|
18
|
-
export declare const tryReadAsLanguages: (path: string) => Promise<Language[]>;
|
|
22
|
+
export declare const tryReadAsLanguages: (path: string, lionWebVersion?: LionWebVersion) => Promise<Language[]>;
|
|
19
23
|
/**
|
|
20
24
|
* @return the combination of the given {@link LionWebJsonChunk serialization chunks} into one.
|
|
25
|
+
* @param lionWebVersion The {@link LionWebVersion} to emit the combined serialization chunk with.
|
|
26
|
+
* If none is given, the version of the *first* serialization chunk is used.
|
|
27
|
+
* If no chunks are given, the {@link defaultLionWebVersion} is used.
|
|
21
28
|
*/
|
|
22
|
-
export declare const combinationOf: (serializationChunks: LionWebJsonChunk[]) => LionWebJsonChunk;
|
|
29
|
+
export declare const combinationOf: (serializationChunks: LionWebJsonChunk[], lionWebVersion?: LionWebVersion) => LionWebJsonChunk;
|
|
23
30
|
/**
|
|
24
31
|
* Tries to read all the given paths as JSON serialization chunks that are serializations of languages,
|
|
25
32
|
* and attempts to combine those chunks into one chunk, and deserializes that.
|
|
33
|
+
* @param lionWebVersion The LionWeb version that the given JSON should adhere to.
|
|
34
|
+
* If not given, then the chunk should adhere to any of the {@link LionWebVersions specified LionWeb versions}.
|
|
26
35
|
*/
|
|
27
|
-
export declare const tryReadAllAsLanguages: (paths: string[]) => Promise<Language[]>;
|
|
36
|
+
export declare const tryReadAllAsLanguages: (paths: string[], lionWebVersion?: LionWebVersion) => Promise<Language[]>;
|
|
28
37
|
//# sourceMappingURL=chunk.d.ts.map
|
|
@@ -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,EAIH,QAAQ,EAER,cAAc,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,gBAAgB,EAA2B,MAAM,eAAe,CAAA;AAIzE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAU,MAAM,MAAM,8BAOxD,CAAA;AAOD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,MAAM,OAAO,EAAE,iBAAiB,cAAc,KAAG,OAQI,CAAA;AAGlG;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAU,MAAM,MAAM,EAAE,iBAAiB,cAAc,KAAG,OAAO,CAAC,QAAQ,EAAE,CAa1G,CAAA;AAiBD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,qBAAqB,gBAAgB,EAAE,EAAE,iBAAiB,cAAc,KAAG,gBAOnG,CAAA;AAGN;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAU,OAAO,MAAM,EAAE,EAAE,iBAAiB,cAAc,KAAG,OAAO,CAAC,QAAQ,EAAE,CAkBhH,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { deserializeLanguages, lioncoreKey } from "@lionweb/core";
|
|
2
|
-
import { currentSerializationFormatVersion } from "@lionweb/json";
|
|
1
|
+
import { allLionWebVersions, defaultLionWebVersion, deserializeLanguages, lioncoreKey } from "@lionweb/core";
|
|
3
2
|
import { readFileAsJson } from "../utils/json.js";
|
|
4
3
|
/**
|
|
5
4
|
* Reads the file at the given path as a {@link LionWebJsonChunk serialization chunk}.
|
|
@@ -19,9 +18,12 @@ export const readSerializationChunk = async (path) => {
|
|
|
19
18
|
const isRecord = (json) => typeof json === "object" && !Array.isArray(json);
|
|
20
19
|
/**
|
|
21
20
|
* @return whether the given JSON looks like the serialization of languages.
|
|
21
|
+
* @param lionWebVersion The LionWeb version that the given JSON should adhere to.
|
|
22
|
+
* If not given, then the chunk should adhere to any of the {@link LionWebVersions specified LionWeb versions}.
|
|
22
23
|
*/
|
|
23
|
-
export const looksLikeSerializedLanguages = (json) => isRecord(json)
|
|
24
|
-
&&
|
|
24
|
+
export const looksLikeSerializedLanguages = (json, lionWebVersion) => isRecord(json)
|
|
25
|
+
&& ((lionWebVersion === undefined ? allLionWebVersions : [lionWebVersion])
|
|
26
|
+
.some((version) => json["serializationFormatVersion"] === version.serializationFormatVersion))
|
|
25
27
|
&& "languages" in json
|
|
26
28
|
&& Array.isArray(json["languages"])
|
|
27
29
|
&& json["languages"].some((language) => isRecord(language) && language["key"] === lioncoreKey);
|
|
@@ -29,10 +31,12 @@ export const looksLikeSerializedLanguages = (json) => isRecord(json)
|
|
|
29
31
|
* Tries to read the given path as a JSON file containing the serialization of languages,
|
|
30
32
|
* and attempts to deserialize the serialization chunk when it is.
|
|
31
33
|
* If any of that fails, return an empty list.
|
|
34
|
+
* @param lionWebVersion The LionWeb version that the given JSON should adhere to.
|
|
35
|
+
* If not given, then the chunk should adhere to any of the {@link LionWebVersions specified LionWeb versions}.
|
|
32
36
|
*/
|
|
33
|
-
export const tryReadAsLanguages = async (path) => {
|
|
37
|
+
export const tryReadAsLanguages = async (path, lionWebVersion) => {
|
|
34
38
|
const serializationChunk = await readSerializationChunk(path);
|
|
35
|
-
if (!looksLikeSerializedLanguages(serializationChunk)) {
|
|
39
|
+
if (!looksLikeSerializedLanguages(serializationChunk, lionWebVersion)) {
|
|
36
40
|
console.error(`${path} is not a valid JSON serialization chunk of LionCore languages`);
|
|
37
41
|
return [];
|
|
38
42
|
}
|
|
@@ -52,20 +56,26 @@ const flatMapDistinct = (tss, equalFunc) => tss.reduce((acc, ts) => [
|
|
|
52
56
|
const areEqual = (left, right) => left.key === right.key && left.version === right.version;
|
|
53
57
|
/**
|
|
54
58
|
* @return the combination of the given {@link LionWebJsonChunk serialization chunks} into one.
|
|
59
|
+
* @param lionWebVersion The {@link LionWebVersion} to emit the combined serialization chunk with.
|
|
60
|
+
* If none is given, the version of the *first* serialization chunk is used.
|
|
61
|
+
* If no chunks are given, the {@link defaultLionWebVersion} is used.
|
|
55
62
|
*/
|
|
56
|
-
export const combinationOf = (serializationChunks) => ({
|
|
57
|
-
serializationFormatVersion:
|
|
63
|
+
export const combinationOf = (serializationChunks, lionWebVersion) => ({
|
|
64
|
+
serializationFormatVersion: lionWebVersion?.serializationFormatVersion
|
|
65
|
+
?? (serializationChunks.length > 0 ? serializationChunks[0] : defaultLionWebVersion).serializationFormatVersion,
|
|
58
66
|
languages: flatMapDistinct(serializationChunks.map(({ languages }) => languages), areEqual),
|
|
59
67
|
nodes: serializationChunks.flatMap(({ nodes }) => nodes)
|
|
60
68
|
});
|
|
61
69
|
/**
|
|
62
70
|
* Tries to read all the given paths as JSON serialization chunks that are serializations of languages,
|
|
63
71
|
* and attempts to combine those chunks into one chunk, and deserializes that.
|
|
72
|
+
* @param lionWebVersion The LionWeb version that the given JSON should adhere to.
|
|
73
|
+
* If not given, then the chunk should adhere to any of the {@link LionWebVersions specified LionWeb versions}.
|
|
64
74
|
*/
|
|
65
|
-
export const tryReadAllAsLanguages = async (paths) => {
|
|
75
|
+
export const tryReadAllAsLanguages = async (paths, lionWebVersion) => {
|
|
66
76
|
const serializationChunks = (await Promise.all(paths.map(readSerializationChunk)))
|
|
67
77
|
.filter((serializationChunk, index) => {
|
|
68
|
-
const ok = looksLikeSerializedLanguages(serializationChunk);
|
|
78
|
+
const ok = looksLikeSerializedLanguages(serializationChunk, lionWebVersion);
|
|
69
79
|
if (!ok) {
|
|
70
80
|
const path = paths[index];
|
|
71
81
|
console.error(`${path} is not a valid JSON serialization chunk of LionCore languages`);
|
|
@@ -73,7 +83,7 @@ export const tryReadAllAsLanguages = async (paths) => {
|
|
|
73
83
|
return ok;
|
|
74
84
|
});
|
|
75
85
|
try {
|
|
76
|
-
return deserializeLanguages(combinationOf(serializationChunks));
|
|
86
|
+
return deserializeLanguages(combinationOf(serializationChunks, lionWebVersion));
|
|
77
87
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
78
88
|
}
|
|
79
89
|
catch (e) {
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/utilities",
|
|
3
|
-
"version": "0.8.0-beta.
|
|
3
|
+
"version": "0.8.0-beta.6",
|
|
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.8.0-beta.
|
|
19
|
-
"@lionweb/json": "0.8.0-beta.
|
|
20
|
-
"@lionweb/textgen-utils": "0.8.0-beta.
|
|
21
|
-
"@lionweb/ts-utils": "0.8.0-beta.
|
|
18
|
+
"@lionweb/core": "0.8.0-beta.6",
|
|
19
|
+
"@lionweb/json": "0.8.0-beta.6",
|
|
20
|
+
"@lionweb/textgen-utils": "0.8.0-beta.6",
|
|
21
|
+
"@lionweb/ts-utils": "0.8.0-beta.6",
|
|
22
22
|
"littoral-templates": "0.5.1",
|
|
23
23
|
"nanoid": "5.1.5"
|
|
24
24
|
},
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
-
builtinPrimitives,
|
|
3
2
|
Concept,
|
|
4
3
|
Containment,
|
|
4
|
+
defaultLionWebVersion,
|
|
5
5
|
Language,
|
|
6
6
|
Link,
|
|
7
|
+
lionWebVersionFrom,
|
|
7
8
|
Property,
|
|
8
9
|
Reference
|
|
9
10
|
} from "@lionweb/core"
|
|
@@ -16,9 +17,11 @@ const possibleKeySeparators = ["-", "_"]
|
|
|
16
17
|
const id = chain(concatenator("-"), hasher())
|
|
17
18
|
const key = lastOf
|
|
18
19
|
|
|
19
|
-
const { stringDataType, booleanDataType, integerDataType } = builtinPrimitives
|
|
20
20
|
|
|
21
21
|
export const inferLanguagesFromSerializationChunk = (chunk: LionWebJsonChunk): Language[] => {
|
|
22
|
+
const lionWebVersion = lionWebVersionFrom(chunk.serializationFormatVersion) ?? defaultLionWebVersion
|
|
23
|
+
const { stringDataType, booleanDataType, integerDataType } = lionWebVersion.builtinsFacade.primitiveTypes
|
|
24
|
+
|
|
22
25
|
const languages = new Map<string, Language>()
|
|
23
26
|
const concepts = new Map<string, Concept>()
|
|
24
27
|
const links = new Array<{ link: Link; conceptId: LionWebId }>()
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Annotation,
|
|
3
|
-
builtinClassifiers,
|
|
4
|
-
builtinPrimitives,
|
|
5
3
|
Concept,
|
|
6
4
|
Datatype,
|
|
5
|
+
defaultLionWebVersion,
|
|
7
6
|
Enumeration,
|
|
8
7
|
Interface,
|
|
9
8
|
isRef,
|
|
@@ -13,13 +12,15 @@ import {
|
|
|
13
12
|
} from "@lionweb/core"
|
|
14
13
|
|
|
15
14
|
|
|
15
|
+
const { builtinsFacade } = defaultLionWebVersion
|
|
16
|
+
|
|
16
17
|
export const tsTypeFor = (datatype: SingleRef<Datatype>): string => {
|
|
17
18
|
if (datatype instanceof PrimitiveType) {
|
|
18
|
-
switch (datatype) {
|
|
19
|
-
case
|
|
20
|
-
case
|
|
21
|
-
case
|
|
22
|
-
case
|
|
19
|
+
switch (datatype.key) {
|
|
20
|
+
case builtinsFacade.primitiveTypes.booleanDataType.key: return `boolean`
|
|
21
|
+
case builtinsFacade.primitiveTypes.stringDataType.key: return `string`
|
|
22
|
+
case builtinsFacade.primitiveTypes.integerDataType.key: return `number`
|
|
23
|
+
case builtinsFacade.primitiveTypes.jsonDataType.key: return `unknown`
|
|
23
24
|
default:
|
|
24
25
|
return `string`
|
|
25
26
|
}
|
|
@@ -31,7 +32,9 @@ export const tsTypeFor = (datatype: SingleRef<Datatype>): string => {
|
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
export const isINamed = (entity: LanguageEntity): boolean =>
|
|
34
|
-
|
|
35
|
+
entity instanceof Interface
|
|
36
|
+
&& entity.language.key === builtinsFacade.classifiers.inamed.language.key
|
|
37
|
+
&& entity.key === builtinsFacade.classifiers.inamed.key
|
|
35
38
|
|
|
36
39
|
|
|
37
40
|
export const usesINamedDirectly = (entity: LanguageEntity): boolean => {
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
Classifier,
|
|
5
5
|
Concept,
|
|
6
6
|
conceptsOf,
|
|
7
|
+
defaultLionWebVersion,
|
|
7
8
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
9
|
DynamicNode,
|
|
9
10
|
Enumeration,
|
|
@@ -16,7 +17,6 @@ import {
|
|
|
16
17
|
Language,
|
|
17
18
|
LanguageEntity,
|
|
18
19
|
Link,
|
|
19
|
-
lioncoreBuiltins,
|
|
20
20
|
nameOf,
|
|
21
21
|
nameSorted,
|
|
22
22
|
PrimitiveType,
|
|
@@ -188,7 +188,7 @@ export const tsTypeDefsForLanguage = (language: Language, ...generationOptions:
|
|
|
188
188
|
.filter((entity) => entity instanceof Classifier)
|
|
189
189
|
.flatMap((entity) => dependenciesOfClassifier(entity as Classifier))
|
|
190
190
|
)
|
|
191
|
-
.filter((classifier) => classifier.language !== language && classifier.language !==
|
|
191
|
+
.filter((classifier) => classifier.language !== language && classifier.language.key !== defaultLionWebVersion.builtinsFacade.language.key)
|
|
192
192
|
const importsPerPackage = groupBy(
|
|
193
193
|
generatedDependencies,
|
|
194
194
|
({language}) => language.name
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
allLionWebVersions,
|
|
3
|
+
defaultLionWebVersion,
|
|
4
|
+
deserializeLanguages,
|
|
5
|
+
Language,
|
|
6
|
+
lioncoreKey,
|
|
7
|
+
LionWebVersion
|
|
8
|
+
} from "@lionweb/core"
|
|
9
|
+
import { LionWebJsonChunk, LionWebJsonUsedLanguage } from "@lionweb/json"
|
|
3
10
|
import { readFileAsJson } from "../utils/json.js"
|
|
4
11
|
|
|
5
12
|
|
|
@@ -24,10 +31,15 @@ const isRecord = (json: unknown): json is Record<string, unknown> =>
|
|
|
24
31
|
|
|
25
32
|
/**
|
|
26
33
|
* @return whether the given JSON looks like the serialization of languages.
|
|
34
|
+
* @param lionWebVersion The LionWeb version that the given JSON should adhere to.
|
|
35
|
+
* If not given, then the chunk should adhere to any of the {@link LionWebVersions specified LionWeb versions}.
|
|
27
36
|
*/
|
|
28
|
-
export const looksLikeSerializedLanguages = (json: unknown): boolean =>
|
|
37
|
+
export const looksLikeSerializedLanguages = (json: unknown, lionWebVersion?: LionWebVersion): boolean =>
|
|
29
38
|
isRecord(json)
|
|
30
|
-
&&
|
|
39
|
+
&& (
|
|
40
|
+
(lionWebVersion === undefined ? allLionWebVersions : [lionWebVersion])
|
|
41
|
+
.some((version) => json["serializationFormatVersion"] === version.serializationFormatVersion)
|
|
42
|
+
)
|
|
31
43
|
&& "languages" in json
|
|
32
44
|
&& Array.isArray(json["languages"])
|
|
33
45
|
&& json["languages"].some((language) => isRecord(language) && language["key"] === lioncoreKey)
|
|
@@ -37,10 +49,12 @@ export const looksLikeSerializedLanguages = (json: unknown): boolean =>
|
|
|
37
49
|
* Tries to read the given path as a JSON file containing the serialization of languages,
|
|
38
50
|
* and attempts to deserialize the serialization chunk when it is.
|
|
39
51
|
* If any of that fails, return an empty list.
|
|
52
|
+
* @param lionWebVersion The LionWeb version that the given JSON should adhere to.
|
|
53
|
+
* If not given, then the chunk should adhere to any of the {@link LionWebVersions specified LionWeb versions}.
|
|
40
54
|
*/
|
|
41
|
-
export const tryReadAsLanguages = async (path: string): Promise<Language[]> => {
|
|
55
|
+
export const tryReadAsLanguages = async (path: string, lionWebVersion?: LionWebVersion): Promise<Language[]> => {
|
|
42
56
|
const serializationChunk = await readSerializationChunk(path)
|
|
43
|
-
if (!looksLikeSerializedLanguages(serializationChunk)) {
|
|
57
|
+
if (!looksLikeSerializedLanguages(serializationChunk, lionWebVersion)) {
|
|
44
58
|
console.error(`${path} is not a valid JSON serialization chunk of LionCore languages`)
|
|
45
59
|
return []
|
|
46
60
|
}
|
|
@@ -70,10 +84,15 @@ const areEqual = (left: LionWebJsonUsedLanguage, right: LionWebJsonUsedLanguage)
|
|
|
70
84
|
|
|
71
85
|
/**
|
|
72
86
|
* @return the combination of the given {@link LionWebJsonChunk serialization chunks} into one.
|
|
87
|
+
* @param lionWebVersion The {@link LionWebVersion} to emit the combined serialization chunk with.
|
|
88
|
+
* If none is given, the version of the *first* serialization chunk is used.
|
|
89
|
+
* If no chunks are given, the {@link defaultLionWebVersion} is used.
|
|
73
90
|
*/
|
|
74
|
-
export const combinationOf = (serializationChunks: LionWebJsonChunk[]): LionWebJsonChunk =>
|
|
91
|
+
export const combinationOf = (serializationChunks: LionWebJsonChunk[], lionWebVersion?: LionWebVersion): LionWebJsonChunk =>
|
|
75
92
|
({
|
|
76
|
-
serializationFormatVersion:
|
|
93
|
+
serializationFormatVersion:
|
|
94
|
+
lionWebVersion?.serializationFormatVersion
|
|
95
|
+
?? (serializationChunks.length > 0 ? serializationChunks[0] : defaultLionWebVersion).serializationFormatVersion,
|
|
77
96
|
languages: flatMapDistinct(serializationChunks.map(({languages}) => languages), areEqual),
|
|
78
97
|
nodes: serializationChunks.flatMap(({nodes}) => nodes)
|
|
79
98
|
})
|
|
@@ -82,12 +101,14 @@ export const combinationOf = (serializationChunks: LionWebJsonChunk[]): LionWebJ
|
|
|
82
101
|
/**
|
|
83
102
|
* Tries to read all the given paths as JSON serialization chunks that are serializations of languages,
|
|
84
103
|
* and attempts to combine those chunks into one chunk, and deserializes that.
|
|
104
|
+
* @param lionWebVersion The LionWeb version that the given JSON should adhere to.
|
|
105
|
+
* If not given, then the chunk should adhere to any of the {@link LionWebVersions specified LionWeb versions}.
|
|
85
106
|
*/
|
|
86
|
-
export const tryReadAllAsLanguages = async (paths: string[]): Promise<Language[]> => {
|
|
107
|
+
export const tryReadAllAsLanguages = async (paths: string[], lionWebVersion?: LionWebVersion): Promise<Language[]> => {
|
|
87
108
|
const serializationChunks =
|
|
88
109
|
(await Promise.all(paths.map(readSerializationChunk)))
|
|
89
110
|
.filter((serializationChunk, index) => {
|
|
90
|
-
const ok = looksLikeSerializedLanguages(serializationChunk)
|
|
111
|
+
const ok = looksLikeSerializedLanguages(serializationChunk, lionWebVersion)
|
|
91
112
|
if (!ok) {
|
|
92
113
|
const path = paths[index]
|
|
93
114
|
console.error(`${path} is not a valid JSON serialization chunk of LionCore languages`)
|
|
@@ -95,7 +116,7 @@ export const tryReadAllAsLanguages = async (paths: string[]): Promise<Language[]
|
|
|
95
116
|
return ok
|
|
96
117
|
})
|
|
97
118
|
try {
|
|
98
|
-
return deserializeLanguages(combinationOf(serializationChunks))
|
|
119
|
+
return deserializeLanguages(combinationOf(serializationChunks, lionWebVersion))
|
|
99
120
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
100
121
|
} catch (e: any) {
|
|
101
122
|
console.error(`couldn't deserialize combined JSON serialization chunk of LionCore languages: ${e.message}`)
|