@lionweb/utilities 0.6.9-beta.1 → 0.6.9-beta.2
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/README.md +2 -1
- package/dist/m3/textualizer.d.ts +2 -2
- package/dist/m3/textualizer.d.ts.map +1 -1
- package/dist/m3/textualizer.js +38 -28
- package/dist/m3/textualizer.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -26,7 +26,8 @@ It contains utilities on top of the `core` package, such as:
|
|
|
26
26
|
|
|
27
27
|
### 0.6.9 - not yet officially released
|
|
28
28
|
|
|
29
|
-
*
|
|
29
|
+
* Make `withoutAnnotations` _not_ modify the original serialization chunk.
|
|
30
|
+
* (Use the `littoral-templates` package for textualization — of M2s, so far. This is a technical change, not a functional one, except for maybe some extra whitespace.)
|
|
30
31
|
|
|
31
32
|
### 0.6.8
|
|
32
33
|
|
package/dist/m3/textualizer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Language
|
|
2
|
-
export declare const languageAsText: (
|
|
1
|
+
import { Language } from "@lionweb/core";
|
|
2
|
+
export declare const languageAsText: (language: Language) => string;
|
|
3
3
|
export declare const languagesAsText: (languages: Language[]) => string;
|
|
4
4
|
//# sourceMappingURL=textualizer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textualizer.d.ts","sourceRoot":"","sources":["../../src/m3/textualizer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"textualizer.d.ts","sourceRoot":"","sources":["../../src/m3/textualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EASH,QAAQ,EASX,MAAM,eAAe,CAAA;AAqFtB,eAAO,MAAM,cAAc,aAAc,QAAQ,WACnB,CAAA;AAE9B,eAAO,MAAM,eAAe,cAAe,QAAQ,EAAE,KAAG,MAGnD,CAAA"}
|
package/dist/m3/textualizer.js
CHANGED
|
@@ -1,47 +1,57 @@
|
|
|
1
1
|
import { Annotation, Concept, Containment, Enumeration, EnumerationLiteral, Interface, Language, Link, nameOf, nameSorted, PrimitiveType, Property, unresolved } from "@lionweb/core";
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const descent = (ts, separator) => nameSorted(ts).map((t) => indent(indent(asText(t)))).join(separator);
|
|
2
|
+
import { asString, indentWith } from "littoral-templates";
|
|
3
|
+
const indented = indentWith(" ")(1);
|
|
5
4
|
const refAsText = (ref) => ref === unresolved ? `???` : ref.name;
|
|
5
|
+
const recurse = (ts, header, func = asText) => ts.length === 0
|
|
6
|
+
? []
|
|
7
|
+
: indented([
|
|
8
|
+
header,
|
|
9
|
+
indented(ts.map(func))
|
|
10
|
+
]);
|
|
11
|
+
const featuresOf = (classifier) => recurse(nameSorted(classifier.features), `features (↓name):`);
|
|
6
12
|
const asText = (node) => {
|
|
7
13
|
if (node instanceof Annotation) {
|
|
8
|
-
return
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
return [
|
|
15
|
+
`annotation ${node.name}${node.extends === undefined ? `` : ` extends ${refAsText(node.extends)}`}${node.implements.length === 0 ? `` : ` implements ${nameSorted(node.implements).map(nameOf).join(", ")}`}`,
|
|
16
|
+
featuresOf(node)
|
|
17
|
+
];
|
|
11
18
|
}
|
|
12
19
|
if (node instanceof Concept) {
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
return [
|
|
21
|
+
`${node.partition ? `<<partition>> ` : ``}${node.abstract ? `abstract ` : ``}concept ${node.name}${node.extends === undefined ? `` : ` extends ${refAsText(node.extends)}`}${node.implements.length === 0 ? `` : ` implements ${nameSorted(node.implements).map(nameOf).join(", ")}`}`,
|
|
22
|
+
featuresOf(node)
|
|
23
|
+
];
|
|
16
24
|
}
|
|
17
25
|
if (node instanceof Interface) {
|
|
18
|
-
return
|
|
19
|
-
|
|
20
|
-
|
|
26
|
+
return [
|
|
27
|
+
`interface ${node.name}${node.extends.length === 0 ? `` : ` extends ${nameSorted(node.extends).map(nameOf).join(", ")}`}`,
|
|
28
|
+
featuresOf(node)
|
|
29
|
+
];
|
|
21
30
|
}
|
|
22
31
|
if (node instanceof Link) {
|
|
23
32
|
return `${node.name}${node instanceof Containment ? `:` : ` ->`} ${refAsText(node.type)}${node.multiple ? `[${node.optional ? `0` : `1`}..*]` : ``}${node.optional && !node.multiple ? `?` : ``}`;
|
|
24
33
|
}
|
|
25
34
|
if (node instanceof Enumeration) {
|
|
26
|
-
return
|
|
27
|
-
|
|
28
|
-
|
|
35
|
+
return [
|
|
36
|
+
`enumeration ${node.name}`,
|
|
37
|
+
recurse(node.literals, `literals:`)
|
|
38
|
+
];
|
|
29
39
|
}
|
|
30
40
|
if (node instanceof EnumerationLiteral) {
|
|
31
41
|
return `${node.name}`;
|
|
32
42
|
}
|
|
33
43
|
if (node instanceof Language) {
|
|
34
|
-
return
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
`
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
return [
|
|
45
|
+
`language ${node.name}`,
|
|
46
|
+
indented([
|
|
47
|
+
`version: ${node.version}`,
|
|
48
|
+
recurse(node.dependsOn, `dependsOn`, (language) => `${language.name} (${language.version}`),
|
|
49
|
+
`entities (↓name):`,
|
|
50
|
+
``,
|
|
51
|
+
indented(nameSorted(node.entities).map((entity) => [asText(entity), ``]))
|
|
52
|
+
]),
|
|
53
|
+
``
|
|
54
|
+
];
|
|
45
55
|
}
|
|
46
56
|
if (node instanceof PrimitiveType) {
|
|
47
57
|
return `primitive type ${node.name}`;
|
|
@@ -51,6 +61,6 @@ ${descent(node.entities, "\n\n")}
|
|
|
51
61
|
}
|
|
52
62
|
return `node (key=${node.key}, ID=${node.id}) of class ${node.constructor.name} not handled`;
|
|
53
63
|
};
|
|
54
|
-
export const languageAsText = asText;
|
|
55
|
-
export const languagesAsText = (languages) => nameSorted(languages).map(asText
|
|
64
|
+
export const languageAsText = (language) => asString(asText(language));
|
|
65
|
+
export const languagesAsText = (languages) => asString(nameSorted(languages).map((language) => [asText(language), ``]));
|
|
56
66
|
//# sourceMappingURL=textualizer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textualizer.js","sourceRoot":"","sources":["../../src/m3/textualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,
|
|
1
|
+
{"version":3,"file":"textualizer.js","sourceRoot":"","sources":["../../src/m3/textualizer.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.6.9-beta.
|
|
3
|
+
"version": "0.6.9-beta.2",
|
|
4
4
|
"description": "LionWeb utilities",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@lionweb/core": "0.6.9-beta.
|
|
18
|
+
"@lionweb/core": "0.6.9-beta.2",
|
|
19
19
|
"littoral-templates": "0.2.2",
|
|
20
20
|
"nanoid": "4.0.2"
|
|
21
21
|
},
|