@lionweb/class-core-generator 0.7.0-alpha.1 → 0.7.0-alpha.11
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 +7 -0
- package/dist/entity-types.templates.d.ts +4 -0
- package/dist/entity-types.templates.d.ts.map +1 -0
- package/dist/{api/entity-types.templates.js → entity-types.templates.js} +59 -26
- package/dist/entity-types.templates.js.map +1 -0
- package/dist/{api/generation-headers.d.ts → generation-headers.d.ts} +1 -1
- package/dist/generation-headers.d.ts.map +1 -0
- package/dist/{api/generation-headers.js → generation-headers.js} +19 -13
- package/dist/generation-headers.js.map +1 -0
- package/dist/{api/generator.d.ts → generator.d.ts} +3 -4
- package/dist/generator.d.ts.map +1 -0
- package/dist/{api/generator.js → generator.js} +19 -14
- package/dist/generator.js.map +1 -0
- package/dist/helpers/classifiers.d.ts.map +1 -0
- package/dist/helpers/classifiers.js.map +1 -0
- package/dist/helpers/entities.d.ts.map +1 -0
- package/dist/helpers/entities.js.map +1 -0
- package/dist/{api/helpers → helpers}/features.d.ts +3 -3
- package/dist/helpers/features.d.ts.map +1 -0
- package/dist/{api/helpers → helpers}/features.js +8 -8
- package/dist/helpers/features.js.map +1 -0
- package/dist/helpers/imports-tracking.d.ts.map +1 -0
- package/dist/{api/helpers → helpers}/imports-tracking.js +1 -1
- package/dist/helpers/imports-tracking.js.map +1 -0
- package/dist/{api/helpers → helpers}/index.d.ts +0 -2
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/{api/helpers → helpers}/index.js +0 -2
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/primitive-types.d.ts.map +1 -0
- package/dist/{api/helpers → helpers}/primitive-types.js +4 -4
- package/dist/helpers/primitive-types.js.map +1 -0
- package/dist/index-ts.d.ts.map +1 -0
- package/dist/{api/index-ts.js → index-ts.js} +3 -2
- package/dist/index-ts.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/language-file.templates.d.ts.map +1 -0
- package/dist/{api/language-file.templates.js → language-file.templates.js} +3 -5
- package/dist/language-file.templates.js.map +1 -0
- package/dist/mega-factory.templates.d.ts +3 -0
- package/dist/mega-factory.templates.d.ts.map +1 -0
- package/dist/{api/mega-factory.templates.js → mega-factory.templates.js} +4 -4
- package/dist/mega-factory.templates.js.map +1 -0
- package/dist/reflective-layer.templates.d.ts.map +1 -0
- package/dist/{api/reflective-layer.templates.js → reflective-layer.templates.js} +9 -5
- package/dist/reflective-layer.templates.js.map +1 -0
- package/package.json +10 -9
- package/src/{api/entity-types.templates.ts → entity-types.templates.ts} +83 -33
- package/src/{api/generation-headers.ts → generation-headers.ts} +19 -15
- package/src/{api/generator.ts → generator.ts} +23 -16
- package/src/{api/helpers → helpers}/features.ts +9 -9
- package/src/{api/helpers → helpers}/imports-tracking.ts +1 -1
- package/src/{api/helpers → helpers}/index.ts +0 -2
- package/src/{api/helpers → helpers}/primitive-types.ts +4 -4
- package/src/{api/index-ts.ts → index-ts.ts} +4 -3
- package/src/index.ts +3 -2
- package/src/{api/language-file.templates.ts → language-file.templates.ts} +3 -6
- package/src/{api/mega-factory.templates.ts → mega-factory.templates.ts} +4 -5
- package/src/{api/reflective-layer.templates.ts → reflective-layer.templates.ts} +9 -4
- package/dist/api/entity-types.templates.d.ts +0 -5
- package/dist/api/entity-types.templates.d.ts.map +0 -1
- package/dist/api/entity-types.templates.js.map +0 -1
- package/dist/api/generation-headers.d.ts.map +0 -1
- package/dist/api/generation-headers.js.map +0 -1
- package/dist/api/generator.d.ts.map +0 -1
- package/dist/api/generator.js.map +0 -1
- package/dist/api/helpers/classifiers.d.ts.map +0 -1
- package/dist/api/helpers/classifiers.js.map +0 -1
- package/dist/api/helpers/dependencies.d.ts +0 -11
- package/dist/api/helpers/dependencies.d.ts.map +0 -1
- package/dist/api/helpers/dependencies.js +0 -52
- package/dist/api/helpers/dependencies.js.map +0 -1
- package/dist/api/helpers/entities.d.ts.map +0 -1
- package/dist/api/helpers/entities.js.map +0 -1
- package/dist/api/helpers/features.d.ts.map +0 -1
- package/dist/api/helpers/features.js.map +0 -1
- package/dist/api/helpers/imports-tracking.d.ts.map +0 -1
- package/dist/api/helpers/imports-tracking.js.map +0 -1
- package/dist/api/helpers/index.d.ts.map +0 -1
- package/dist/api/helpers/index.js.map +0 -1
- package/dist/api/helpers/mps-annotations.d.ts +0 -19
- package/dist/api/helpers/mps-annotations.d.ts.map +0 -1
- package/dist/api/helpers/mps-annotations.js +0 -65
- package/dist/api/helpers/mps-annotations.js.map +0 -1
- package/dist/api/helpers/primitive-types.d.ts.map +0 -1
- package/dist/api/helpers/primitive-types.js.map +0 -1
- package/dist/api/index-ts.d.ts.map +0 -1
- package/dist/api/index-ts.js.map +0 -1
- package/dist/api/index.d.ts +0 -5
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -21
- package/dist/api/index.js.map +0 -1
- package/dist/api/language-file.templates.d.ts.map +0 -1
- package/dist/api/language-file.templates.js.map +0 -1
- package/dist/api/mega-factory.templates.d.ts +0 -4
- package/dist/api/mega-factory.templates.d.ts.map +0 -1
- package/dist/api/mega-factory.templates.js.map +0 -1
- package/dist/api/reflective-layer.templates.d.ts.map +0 -1
- package/dist/api/reflective-layer.templates.js.map +0 -1
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -19
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/json-as-ts.d.ts +0 -2
- package/dist/utils/json-as-ts.d.ts.map +0 -1
- package/dist/utils/json-as-ts.js +0 -18
- package/dist/utils/json-as-ts.js.map +0 -1
- package/dist/utils/textgen.d.ts +0 -21
- package/dist/utils/textgen.d.ts.map +0 -1
- package/dist/utils/textgen.js +0 -67
- package/dist/utils/textgen.js.map +0 -1
- package/src/api/helpers/dependencies.ts +0 -62
- package/src/api/helpers/mps-annotations.ts +0 -67
- package/src/api/index.ts +0 -21
- package/src/utils/index.ts +0 -20
- package/src/utils/json-as-ts.ts +0 -20
- package/src/utils/textgen.ts +0 -89
- /package/dist/{api/helpers → helpers}/classifiers.d.ts +0 -0
- /package/dist/{api/helpers → helpers}/classifiers.js +0 -0
- /package/dist/{api/helpers → helpers}/entities.d.ts +0 -0
- /package/dist/{api/helpers → helpers}/entities.js +0 -0
- /package/dist/{api/helpers → helpers}/imports-tracking.d.ts +0 -0
- /package/dist/{api/helpers → helpers}/primitive-types.d.ts +0 -0
- /package/dist/{api/index-ts.d.ts → index-ts.d.ts} +0 -0
- /package/dist/{api/language-file.templates.d.ts → language-file.templates.d.ts} +0 -0
- /package/dist/{api/reflective-layer.templates.d.ts → reflective-layer.templates.d.ts} +0 -0
- /package/src/{api/helpers → helpers}/classifiers.ts +0 -0
- /package/src/{api/helpers → helpers}/entities.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,3 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
## 0.7.0
|
|
4
4
|
|
|
5
|
+
* Move `dependenciesThroughDirectInheritanceOf` and `verboseDependencies` functions from `class-core-generator` to `utilities` package.
|
|
6
|
+
* Remove everything specific to annotations coming from the `io.lionweb.mps.specific` language, in favor of using the types and functionality provided by the `@lionweb/io-lionweb-mps-specific` package.
|
|
7
|
+
**Note**: this slightly breaks the API of the generator, but in such a trivial way (because of the use of defaults) that it doesn't warrant an increment in major version, IOHO.
|
|
8
|
+
* Partition concepts are now marked as such in their `ILanguageBase` implementation.
|
|
9
|
+
* Constructors of abstract concepts are now declared `protected` instead of `public`.
|
|
10
|
+
* Make `console.log` verbosity of the generator calls `generateApiFromLanguages[Json]` (for language**s**) configurable, through an extra property `verbose` of the `GeneratorOptions` which defaults to `true`.
|
|
11
|
+
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { LanguageEntity } from "@lionweb/core";
|
|
2
|
+
import { Imports } from "./helpers/index.js";
|
|
3
|
+
export declare const typeForLanguageEntity: (imports: Imports) => (entity: LanguageEntity) => import("littoral-templates").Template[];
|
|
4
|
+
//# sourceMappingURL=entity-types.templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-types.templates.d.ts","sourceRoot":"","sources":["../src/entity-types.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAWH,cAAc,EASjB,MAAM,eAAe,CAAA;AAYtB,OAAO,EAKH,OAAO,EAQV,MAAM,oBAAoB,CAAA;AAc3B,eAAO,MAAM,qBAAqB,YAAa,OAAO,cAgNlC,cAAc,4CAoBjC,CAAA"}
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
//
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
-
import { builtinClassifiers, Classifier, Enumeration, featureMetaType, Interface, isContainment, isProperty, isReference, Link, nameSorted, PrimitiveType, Property, Reference } from "@lionweb/core";
|
|
17
|
+
import { builtinClassifiers, Classifier, Containment, Enumeration, featureMetaType, Interface, isContainment, isProperty, isReference, LanguageEntity, Link, nameSorted, PrimitiveType, Property, Reference } from "@lionweb/core";
|
|
18
|
+
import { ConceptDescription, Deprecated, ioLionWebMpsSpecificAnnotationsFrom, KeyedDescription, ShortDescription, VirtualPackage } from "@lionweb/io-lionweb-mps-specific";
|
|
19
|
+
import { indent, switchOrIf, withFirstUpper, wrapInIf } from "@lionweb/textgen-utils";
|
|
18
20
|
import { commaSeparated, when, withNewlineAppended } from "littoral-templates";
|
|
19
|
-
import {
|
|
20
|
-
import { ConceptDescription, Deprecated, entityMetaType, extendsFrom, featuresToConcretelyImplementOf, implementsFrom, isAbstract, optionalityPostfix, tsFieldTypeForFeature, tsTypeForClassifier, tsTypeForDatatype, tsTypeForPrimitiveType, tsTypeForValueManager } from "./helpers/index.js";
|
|
21
|
+
import { entityMetaType, extendsFrom, featuresToConcretelyImplementOf, implementsFrom, isAbstract, optionalityPostfix, tsFieldTypeForFeature, tsTypeForClassifier, tsTypeForDataType, tsTypeForPrimitiveType, tsTypeForValueManager } from "./helpers/index.js";
|
|
21
22
|
const cardinalityPrefix = (feature) => {
|
|
22
23
|
if (feature instanceof Property) {
|
|
23
24
|
return feature.optional ? "Optional" : "Required";
|
|
@@ -27,48 +28,62 @@ const cardinalityPrefix = (feature) => {
|
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
30
|
const valueManagerFor = (feature) => `${cardinalityPrefix(feature)}${featureMetaType(feature)}ValueManager`;
|
|
30
|
-
export const typeForLanguageEntity = (imports
|
|
31
|
+
export const typeForLanguageEntity = (imports) => {
|
|
31
32
|
const sortedSuperTypesCond = (ts, prefix) => ts.length === 0 ? `` : `${prefix}${nameSorted(ts).map((t) => imports.entity(t)).join(", ")}`;
|
|
32
33
|
const extendsCond = (ref) => ` extends ${ref === builtinClassifiers.node ? imports.generic("NodeBase") : imports.entity(ref)}`;
|
|
33
34
|
const classMembersForProperty = (property) => {
|
|
34
35
|
const { name, type } = property;
|
|
35
36
|
return [
|
|
36
|
-
`private readonly _${name}: ${imports.generic(valueManagerFor(property))}<${
|
|
37
|
-
|
|
37
|
+
`private readonly _${name}: ${imports.generic(valueManagerFor(property))}<${tsTypeForDataType(type, imports)}>;`,
|
|
38
|
+
jsDocFor(property),
|
|
39
|
+
`get ${name}(): ${tsTypeForDataType(type, imports)}${optionalityPostfix(property)} {`,
|
|
38
40
|
indent(`return this._${name}.get();`),
|
|
39
41
|
`}`,
|
|
40
|
-
`set ${name}(newValue: ${
|
|
42
|
+
`set ${name}(newValue: ${tsTypeForDataType(type, imports)}${optionalityPostfix(property)}) {`,
|
|
41
43
|
indent(`this._${name}.set(newValue);`),
|
|
42
44
|
`}`
|
|
43
45
|
];
|
|
44
46
|
};
|
|
45
|
-
const tsTypeForLink = (link) => wrapInIf(link instanceof Reference, () => `${imports.core("SingleRef")}<`, ">")(tsTypeForClassifier(link.type, imports))
|
|
46
|
-
+ (link.multiple ? "[]" : optionalityPostfix(link));
|
|
47
47
|
const classMembersForLink = (link) => {
|
|
48
48
|
const { name, type, multiple } = link;
|
|
49
|
+
const nameWithFirstUpper = withFirstUpper(name);
|
|
50
|
+
const tsTypeForClassifier_ = tsTypeForClassifier(type, imports);
|
|
51
|
+
const tsTypeForLink_ = wrapInIf(link instanceof Reference, () => `${imports.core("SingleRef")}<`, ">")(tsTypeForClassifier_)
|
|
52
|
+
+ (link.multiple ? "[]" : optionalityPostfix(link));
|
|
49
53
|
return [
|
|
50
|
-
`private readonly _${name}: ${imports.generic(valueManagerFor(link))}<${
|
|
51
|
-
|
|
54
|
+
`private readonly _${name}: ${imports.generic(valueManagerFor(link))}<${tsTypeForClassifier_}>;`,
|
|
55
|
+
jsDocFor(link),
|
|
56
|
+
`get ${name}(): ${tsTypeForLink_} {`,
|
|
52
57
|
indent(`return this._${name}.get();`),
|
|
53
58
|
`}`,
|
|
54
59
|
when(!multiple)([
|
|
55
|
-
`set ${name}(newValue: ${
|
|
60
|
+
`set ${name}(newValue: ${tsTypeForLink_}) {`,
|
|
56
61
|
indent(`this._${name}.set(newValue);`),
|
|
57
|
-
`}
|
|
62
|
+
`}`,
|
|
63
|
+
when(link instanceof Containment)([
|
|
64
|
+
`replace${nameWithFirstUpper}With(newValue: ${tsTypeForClassifier_}) {`,
|
|
65
|
+
indent(`this._${name}.replaceWith(newValue);`),
|
|
66
|
+
`}`
|
|
67
|
+
])
|
|
58
68
|
]),
|
|
59
69
|
when(multiple)([
|
|
60
|
-
`add${
|
|
70
|
+
`add${nameWithFirstUpper}(newValue: ${tsTypeForClassifier_}) {`,
|
|
61
71
|
indent(`this._${name}.add(newValue);`),
|
|
62
72
|
`}`,
|
|
63
|
-
`remove${
|
|
73
|
+
`remove${nameWithFirstUpper}(valueToRemove: ${tsTypeForClassifier_}) {`,
|
|
64
74
|
indent(`this._${name}.remove(valueToRemove);`),
|
|
65
75
|
`}`,
|
|
66
|
-
`add${
|
|
76
|
+
`add${nameWithFirstUpper}AtIndex(newValue: ${tsTypeForClassifier_}, index: number) {`,
|
|
67
77
|
indent(`this._${name}.insertAtIndex(newValue, index);`),
|
|
68
78
|
`}`,
|
|
69
|
-
`move${
|
|
79
|
+
`move${nameWithFirstUpper}(oldIndex: number, newIndex: number) {`,
|
|
70
80
|
indent(`this._${name}.move(oldIndex, newIndex);`),
|
|
71
|
-
`}
|
|
81
|
+
`}`,
|
|
82
|
+
when(link instanceof Containment)([
|
|
83
|
+
`replace${nameWithFirstUpper}AtIndex(movedChild: ${tsTypeForClassifier_}, newIndex: number) {`,
|
|
84
|
+
indent(`this._${name}.replaceAtIndex(movedChild, newIndex);`),
|
|
85
|
+
`}`
|
|
86
|
+
])
|
|
72
87
|
])
|
|
73
88
|
];
|
|
74
89
|
};
|
|
@@ -110,7 +125,7 @@ export const typeForLanguageEntity = (imports, mpsAnnotationsPerId) => {
|
|
|
110
125
|
when(features.length > 0)(() => [
|
|
111
126
|
``,
|
|
112
127
|
features.map(withNewlineAppended(classMembersForFeature)),
|
|
113
|
-
|
|
128
|
+
`${isAbstract(classifier) ? "protected" : "public"} constructor(classifier: ${imports.core("Classifier")}, id: ${imports.json("LionWebId")}, handleDelta?: ${imports.generic("DeltaHandler")}, parentInfo?: ${imports.generic("Parentage")}) {`,
|
|
114
129
|
indent([
|
|
115
130
|
`super(classifier, id, handleDelta, parentInfo);`,
|
|
116
131
|
features.map((feature) => `this._${feature.name} = new ${imports.generic(valueManagerFor(feature))}<${tsTypeForValueManager(feature, imports)}>(${imports.language(feature.classifier.language)}.INSTANCE.${feature.classifier.name}_${feature.name}, this);`)
|
|
@@ -138,14 +153,32 @@ export const typeForLanguageEntity = (imports, mpsAnnotationsPerId) => {
|
|
|
138
153
|
];
|
|
139
154
|
const typeForPrimitiveType = (primitiveType) => `export type ${primitiveType.name} = ${tsTypeForPrimitiveType(primitiveType)};`;
|
|
140
155
|
const jsDocFor = (entity) => {
|
|
141
|
-
const
|
|
142
|
-
const conceptDescription =
|
|
143
|
-
const
|
|
144
|
-
const
|
|
145
|
-
|
|
156
|
+
const annotations = ioLionWebMpsSpecificAnnotationsFrom(entity);
|
|
157
|
+
const conceptDescription = annotations.find((annotation) => annotation instanceof ConceptDescription);
|
|
158
|
+
const deprecated = annotations.find((annotation) => annotation instanceof Deprecated);
|
|
159
|
+
const keyedDescription = annotations.find((annotation) => annotation instanceof KeyedDescription);
|
|
160
|
+
const shortDescription = annotations.find((annotation) => annotation instanceof ShortDescription);
|
|
161
|
+
const virtualPackage = annotations.find((annotation) => annotation instanceof VirtualPackage);
|
|
162
|
+
const requiresJsDoc = !!(conceptDescription?.conceptShortDescription)
|
|
163
|
+
|| !!(conceptDescription?.helpUrl)
|
|
164
|
+
|| !!(shortDescription?.description)
|
|
165
|
+
|| keyedDescription !== undefined
|
|
166
|
+
|| deprecated !== undefined
|
|
167
|
+
|| !!(virtualPackage?.name);
|
|
168
|
+
const linkName = (node) => node instanceof LanguageEntity
|
|
169
|
+
? node.name
|
|
170
|
+
: "??? (not a language's entity)";
|
|
171
|
+
return when(requiresJsDoc)([
|
|
146
172
|
`/**`,
|
|
147
|
-
when(
|
|
148
|
-
when(
|
|
173
|
+
when(!!(conceptDescription?.conceptShortDescription))(() => ` * ${conceptDescription.conceptShortDescription}`),
|
|
174
|
+
when(!!(conceptDescription?.helpUrl))(() => ` * {@see} ${conceptDescription.helpUrl}`),
|
|
175
|
+
when(!!(shortDescription?.description))(() => ` * ${shortDescription.description}`),
|
|
176
|
+
when(keyedDescription !== undefined)(() => [
|
|
177
|
+
when(keyedDescription.documentation !== undefined)(` * ${keyedDescription.documentation}`),
|
|
178
|
+
keyedDescription.seeAlso.map((seeAlso) => ` * {@see} {@link ${linkName(seeAlso)}}`)
|
|
179
|
+
]),
|
|
180
|
+
when(deprecated !== undefined)(() => ` * @deprecated ${deprecated.comment ?? ""}${deprecated.build === undefined ? "" : ` (build: ${deprecated.build})`}`),
|
|
181
|
+
when(!!(virtualPackage?.name))(() => `(virtual package: ${virtualPackage.name})`),
|
|
149
182
|
` */`
|
|
150
183
|
]);
|
|
151
184
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-types.templates.js","sourceRoot":"","sources":["../src/entity-types.templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generic (//-styled) comments warning about code being generated.
|
|
3
3
|
*/
|
|
4
|
-
export declare const generatedCodeWarningComments = "// Warning: this file is generated!\n// Modifying it by hand is useless at best, and sabotage at worst
|
|
4
|
+
export declare const generatedCodeWarningComments = "// Warning: this file is generated!\n// Modifying it by hand is useless at best, and sabotage at worst.";
|
|
5
5
|
/**
|
|
6
6
|
* The empty line-separation concatenation of the Trumpf-flavored Apache-2.0 license header and the generation warning.
|
|
7
7
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generation-headers.d.ts","sourceRoot":"","sources":["../src/generation-headers.ts"],"names":[],"mappings":"AAuCA;;GAEG;AACH,eAAO,MAAM,4BAA4B,4GAC0B,CAAA;AAEnE;;GAEG;AACH,eAAO,MAAM,+CAA+C,QACqC,CAAA"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Copyright 2025 TRUMPF Laser SE and other contributors
|
|
2
2
|
//
|
|
3
|
-
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
17
|
import { asString } from "littoral-templates";
|
|
5
|
-
/**
|
|
6
|
-
* @return the given string, reversed — "abc" -> "cba"
|
|
7
|
-
* Note: only used to hack around the REUSE compliance checker!
|
|
8
|
-
*/
|
|
9
|
-
const reverseString = (str) => str.split("").reverse().join("");
|
|
10
18
|
/**
|
|
11
19
|
* The license header (as //-styled comments) for code originating from Trumpf Laser SE, licensed under Apache-2.0.
|
|
12
20
|
*/
|
|
@@ -24,17 +32,15 @@ const trumpfOriginatingApache2_0LicenseHeaderComments = `// Copyright 2025 TRUMP
|
|
|
24
32
|
// See the License for the specific language governing permissions and
|
|
25
33
|
// limitations under the License.
|
|
26
34
|
//
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
`;
|
|
35
|
+
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
36
|
+
// SPDX-License-Identifier: Apache-2.0`;
|
|
30
37
|
/**
|
|
31
38
|
* Generic (//-styled) comments warning about code being generated.
|
|
32
39
|
*/
|
|
33
40
|
export const generatedCodeWarningComments = `// Warning: this file is generated!
|
|
34
|
-
// Modifying it by hand is useless at best, and sabotage at worst
|
|
35
|
-
`;
|
|
41
|
+
// Modifying it by hand is useless at best, and sabotage at worst.`;
|
|
36
42
|
/**
|
|
37
43
|
* The empty line-separation concatenation of the Trumpf-flavored Apache-2.0 license header and the generation warning.
|
|
38
44
|
*/
|
|
39
|
-
export const defaultTrumpfOriginatingApache2_0LicensedHeader = asString([trumpfOriginatingApache2_0LicenseHeaderComments, ``, generatedCodeWarningComments
|
|
45
|
+
export const defaultTrumpfOriginatingApache2_0LicensedHeader = asString([trumpfOriginatingApache2_0LicenseHeaderComments, ``, generatedCodeWarningComments]);
|
|
40
46
|
//# sourceMappingURL=generation-headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generation-headers.js","sourceRoot":"","sources":["../src/generation-headers.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C;;GAEG;AACH,MAAM,+CAA+C,GAAG;;;;;;;;;;;;;;;uCAejB,CAAA;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;mEACuB,CAAA;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,+CAA+C,GACxD,QAAQ,CAAC,CAAC,+CAA+C,EAAE,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Language } from "@lionweb/core";
|
|
2
|
-
import { MpsAnnotation } from "./helpers/index.js";
|
|
3
2
|
export type GeneratorOptions = {
|
|
4
|
-
mpsAnnotations: MpsAnnotation[];
|
|
5
3
|
genericImportLocation: string;
|
|
6
4
|
header?: string;
|
|
5
|
+
verbose: boolean;
|
|
7
6
|
};
|
|
8
|
-
export declare const generateLanguage: (language: Language, generationPath: string,
|
|
9
|
-
export declare const generateApiFromLanguagesJson: (languagesJsonPath: string, generationPath: string,
|
|
7
|
+
export declare const generateLanguage: (language: Language, generationPath: string, mayBeOptions?: Partial<GeneratorOptions>) => string;
|
|
8
|
+
export declare const generateApiFromLanguagesJson: (languagesJsonPath: string, generationPath: string, mayBeOptions?: Partial<GeneratorOptions>) => void;
|
|
10
9
|
export declare const generateApiFromLanguages: (languages: Language[], generationPath: string, maybeOptions?: Partial<GeneratorOptions>) => void;
|
|
11
10
|
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,QAAQ,EAAY,MAAM,eAAe,CAAA;AAaxE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA;AAUD,eAAO,MAAM,gBAAgB,aAAc,QAAQ,kBAAkB,MAAM,iBAAiB,QAAQ,gBAAgB,CAAC,KAAG,MAKvH,CAAA;AASD,eAAO,MAAM,4BAA4B,sBAAuB,MAAM,kBAAkB,MAAM,iBAAiB,QAAQ,gBAAgB,CAAC,SASvI,CAAA;AAGD,eAAO,MAAM,wBAAwB,cAAe,QAAQ,EAAE,kBAAkB,MAAM,iBAAiB,QAAQ,gBAAgB,CAAC,SAmB/H,CAAA"}
|
|
@@ -23,37 +23,42 @@ import { indexTsFor } from "./index-ts.js";
|
|
|
23
23
|
import { languageFileFor } from "./language-file.templates.js";
|
|
24
24
|
const properGenericImportLocation = "@lionweb/class-core";
|
|
25
25
|
const withDefaults = (options) => ({
|
|
26
|
-
mpsAnnotations: options?.mpsAnnotations ?? [],
|
|
27
26
|
genericImportLocation: options?.genericImportLocation ?? properGenericImportLocation,
|
|
28
|
-
header: options?.header
|
|
27
|
+
header: options?.header,
|
|
28
|
+
verbose: options?.verbose ?? true
|
|
29
29
|
});
|
|
30
|
-
export const generateLanguage = (language, generationPath,
|
|
30
|
+
export const generateLanguage = (language, generationPath, mayBeOptions) => {
|
|
31
31
|
const { name } = language;
|
|
32
32
|
const fileName = `${name}.g.ts`;
|
|
33
|
-
writeFileSync(join(generationPath, fileName), languageFileFor(language, withDefaults(
|
|
33
|
+
writeFileSync(join(generationPath, fileName), languageFileFor(language, withDefaults(mayBeOptions)));
|
|
34
34
|
return fileName;
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
console.log(
|
|
39
|
-
|
|
36
|
+
const logger = (verbose) => (verbose ?? true)
|
|
37
|
+
? (_text) => { }
|
|
38
|
+
: (text) => { console.log(text ?? ``); };
|
|
39
|
+
export const generateApiFromLanguagesJson = (languagesJsonPath, generationPath, mayBeOptions) => {
|
|
40
|
+
const log = logger(mayBeOptions?.verbose);
|
|
41
|
+
log(`Running API generator with cwd: ${cwd()}`);
|
|
42
|
+
log(` Path to languages: ${languagesJsonPath}`);
|
|
43
|
+
log(` Generation path: ${generationPath}`);
|
|
40
44
|
const languagesJson = readFileAsJson(languagesJsonPath);
|
|
41
45
|
const languages = deserializeLanguages(languagesJson, lioncore);
|
|
42
|
-
generateApiFromLanguages(languages, generationPath,
|
|
46
|
+
generateApiFromLanguages(languages, generationPath, mayBeOptions);
|
|
43
47
|
};
|
|
44
48
|
export const generateApiFromLanguages = (languages, generationPath, maybeOptions) => {
|
|
45
|
-
|
|
49
|
+
const log = logger(maybeOptions?.verbose);
|
|
50
|
+
log(` Generated:`);
|
|
46
51
|
const options = withDefaults(maybeOptions);
|
|
47
52
|
if (languages.length > 1) {
|
|
48
53
|
writeFileSync(join(generationPath, "index.g.ts"), indexTsFor(languages, options));
|
|
49
|
-
|
|
54
|
+
log(` index.g.ts`);
|
|
50
55
|
}
|
|
51
56
|
languages.forEach((language) => {
|
|
52
57
|
const { name, version, key, id } = language;
|
|
53
58
|
const fileName = generateLanguage(language, generationPath, options);
|
|
54
|
-
|
|
59
|
+
log(` ${fileName} -> language: ${name} (version=${version}, key=${key}, id=${id})`);
|
|
55
60
|
});
|
|
56
|
-
|
|
57
|
-
|
|
61
|
+
log(`[done]`);
|
|
62
|
+
log();
|
|
58
63
|
};
|
|
59
64
|
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,oBAAoB,EAAY,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAE9D,MAAM,2BAA2B,GAAG,qBAAqB,CAAA;AAUzD,MAAM,YAAY,GAAG,CAAC,OAAmC,EAAoB,EAAE,CAAC,CAAC;IAC7E,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,IAAI,2BAA2B;IACpF,MAAM,EAAE,OAAO,EAAE,MAAM;IACvB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;CACpC,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAkB,EAAE,cAAsB,EAAE,YAAwC,EAAU,EAAE;IAC7H,MAAM,EAAC,IAAI,EAAC,GAAG,QAAQ,CAAA;IACvB,MAAM,QAAQ,GAAG,GAAG,IAAI,OAAO,CAAA;IAC/B,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACpG,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA;AAGD,MAAM,MAAM,GAAG,CAAC,OAAiB,EAA6B,EAAE,CAC5D,CAAA,OAAO,IAAI,IAAI;IACX,CAAC,CAAC,CAAC,KAAc,EAAE,EAAE,GAAE,CAAC;IACxB,CAAC,CAAC,CAAC,IAAa,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;AAGxD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,iBAAyB,EAAE,cAAsB,EAAE,YAAwC,EAAE,EAAE;IACxI,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACzC,GAAG,CAAC,mCAAmC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC/C,GAAG,CAAC,yBAAyB,iBAAiB,EAAE,CAAC,CAAA;IACjD,GAAG,CAAC,yBAAyB,cAAc,EAAE,CAAC,CAAA;IAE9C,MAAM,aAAa,GAAG,cAAc,CAAC,iBAAiB,CAAqB,CAAA;IAC3E,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC/D,wBAAwB,CAAC,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;AACrE,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAqB,EAAE,cAAsB,EAAE,YAAwC,EAAE,EAAE;IAChI,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACzC,GAAG,CAAC,eAAe,CAAC,CAAA;IAEpB,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IAE1C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;QACjF,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAC5B,CAAC;IAED,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC3B,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAC,GAAG,QAAQ,CAAA;QACzC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;QACpE,GAAG,CAAC,UAAU,QAAQ,iBAAiB,IAAI,aAAa,OAAO,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC7F,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,QAAQ,CAAC,CAAA;IACb,GAAG,EAAE,CAAA;AACT,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifiers.d.ts","sourceRoot":"","sources":["../../src/helpers/classifiers.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA8C,UAAU,EAAW,OAAO,EAAa,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGxI,eAAO,MAAM,UAAU,eAAgB,UAAU,KAAG,OAA+D,CAAA;AAMnH,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,UAAU,UAAU,CAAC,GAAG,SAQ5E,CAAA;AAED,eAAO,MAAM,cAAc,eAAgB,UAAU,KAAG,SAAS,UAAU,CAQ1E,CAAA;AAED,eAAO,MAAM,+BAA+B,eAAgB,UAAU,KAAG,OAAO,EAO/E,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifiers.js","sourceRoot":"","sources":["../../src/helpers/classifiers.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAc,OAAO,EAAW,SAAS,EAAuB,MAAM,eAAe,CAAA;AACxI,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAsB,EAAW,EAAE,CAAC,UAAU,YAAY,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAA;AACnH;;GAEG;AAGH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAqC,EAAE;IACrF,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,OAAO,CAAA;IAC7B,CAAC;IACD,IAAI,UAAU,YAAY,OAAO,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,OAAO,CAAA;IAC7B,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAwB,EAAE;IAC3E,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IACD,IAAI,UAAU,YAAY,OAAO,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IACD,OAAO,EAAE,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,UAAsB,EAAa,EAAE;IACjF,IAAI,UAAU,YAAY,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,CAAA;IACb,CAAC;IACD,MAAM,mBAAmB,GAAG,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAA;IAC9G,OAAO,aAAa,CAAC,UAAU,CAAC;SAC3B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACzE,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/helpers/entities.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAkC,cAAc,EAAiB,MAAM,eAAe,CAAA;AAE7F,KAAK,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,eAAe,CAAA;AAE9F,eAAO,MAAM,cAAc,WAAY,cAAc,KAAG,cAcvD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/helpers/entities.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAkB,aAAa,EAAE,MAAM,eAAe,CAAA;AAI7F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAsB,EAAkB,EAAE;IACrE,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAA;IACvB,CAAC;IACD,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAA;IACpB,CAAC;IACD,IAAI,MAAM,YAAY,SAAS,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAA;IACtB,CAAC;IACD,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;QAClC,OAAO,eAAe,CAAA;IAC1B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;AACnF,CAAC,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Classifier,
|
|
1
|
+
import { Classifier, DataType, Feature, LanguageEntity, SingleRef } from "@lionweb/core";
|
|
2
2
|
import { Imports } from "./index.js";
|
|
3
3
|
export declare const typeOf: (feature: Feature) => SingleRef<LanguageEntity>;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const tsTypeForDataType: (dataType: SingleRef<DataType>, imports: Imports) => string;
|
|
5
5
|
export declare const tsTypeForClassifier: (classifier: SingleRef<Classifier>, imports: Imports) => string;
|
|
6
|
-
export declare const optionalityPostfix: (feature: Feature) => "
|
|
6
|
+
export declare const optionalityPostfix: (feature: Feature) => " | undefined" | "";
|
|
7
7
|
export declare const tsFieldTypeForFeature: (feature: Feature, imports: Imports) => string;
|
|
8
8
|
export declare const tsTypeForValueManager: (feature: Feature, imports: Imports) => string;
|
|
9
9
|
//# sourceMappingURL=features.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/helpers/features.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEH,UAAU,EACV,QAAQ,EAER,OAAO,EAIP,cAAc,EAId,SAAS,EAEZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAA0B,MAAM,YAAY,CAAA;AAE5D,eAAO,MAAM,MAAM,YAAa,OAAO,KAAG,UAAU,cAAc,CAQjE,CAAA;AAGD,eAAO,MAAM,iBAAiB,aAAc,UAAU,QAAQ,CAAC,WAAW,OAAO,WAWhF,CAAA;AAGD,eAAO,MAAM,mBAAmB,eAAgB,UAAU,UAAU,CAAC,WAAW,OAAO,WAKtF,CAAA;AAGD,eAAO,MAAM,kBAAkB,YAAa,OAAO,wBAA2C,CAAA;AAE9F,eAAO,MAAM,qBAAqB,YAAa,OAAO,WAAW,OAAO,KAAG,MA0B1E,CAAA;AAED,eAAO,MAAM,qBAAqB,YAAa,OAAO,WAAW,OAAO,KAAG,MAqB1E,CAAA"}
|
|
@@ -25,17 +25,17 @@ export const typeOf = (feature) => {
|
|
|
25
25
|
}
|
|
26
26
|
return null;
|
|
27
27
|
};
|
|
28
|
-
export const
|
|
29
|
-
if (
|
|
30
|
-
return `unknown /* [ERROR] can't compute a TS type for a null
|
|
28
|
+
export const tsTypeForDataType = (dataType, imports) => {
|
|
29
|
+
if (dataType === null) {
|
|
30
|
+
return `unknown /* [ERROR] can't compute a TS type for a null data type */`;
|
|
31
31
|
}
|
|
32
|
-
if (
|
|
33
|
-
return tsTypeForPrimitiveType(
|
|
32
|
+
if (dataType instanceof PrimitiveType) {
|
|
33
|
+
return tsTypeForPrimitiveType(dataType);
|
|
34
34
|
}
|
|
35
|
-
if (
|
|
36
|
-
return imports.entity(
|
|
35
|
+
if (dataType instanceof Enumeration) {
|
|
36
|
+
return imports.entity(dataType);
|
|
37
37
|
}
|
|
38
|
-
return `unknown /* [ERROR] can't compute a TS type for
|
|
38
|
+
return `unknown /* [ERROR] can't compute a TS type for data type ${dataType.name} that has an unhandled/-known meta-type ${dataType.constructor.name} */`;
|
|
39
39
|
};
|
|
40
40
|
export const tsTypeForClassifier = (classifier, imports) => {
|
|
41
41
|
if (classifier === unresolved) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/helpers/features.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports-tracking.d.ts","sourceRoot":"","sources":["../../src/helpers/imports-tracking.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAoB,MAAM,eAAe,CAAA;AAG1E,eAAO,MAAM,yBAAyB,aAAc,QAAQ,WAAkC,CAAA;AAE9F,eAAO,MAAM,0BAA0B,aAAc,QAAQ,WACnB,CAAA;AAM1C,qBAAa,OAAO;aAEY,YAAY,EAAE,QAAQ;gBAAtB,YAAY,EAAE,QAAQ;IAGlD,IAAI,8BAA8B,WAEjC;IAED,IAAI,iBAAiB,WAEpB;IAED,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,IAAI,WAAW,aAEd;IACD,IAAI,CAAC,UAAU,EAAE,MAAM;IAKvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,IAAI,WAAW,aAEd;IACD,IAAI,CAAC,UAAU,EAAE,MAAM;IAKvB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,IAAI,cAAc,aAEjB;IACD,OAAO,CAAC,UAAU,EAAE,MAAM;IAK1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,IAAI,YAAY,aAEf;IACD,MAAM,CAAC,MAAM,EAAE,cAAc;IAY7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IACrD,IAAI,eAAe,aAElB;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ;CAY9B"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
17
|
import { lioncoreBuiltins } from "@lionweb/core";
|
|
18
|
-
import { asJSIdentifier } from "
|
|
18
|
+
import { asJSIdentifier } from "@lionweb/textgen-utils";
|
|
19
19
|
export const importRenamingForLanguage = (language) => asJSIdentifier(language.name);
|
|
20
20
|
export const nameOfBaseClassForLanguage = (language) => asJSIdentifier(language.name) + "Base";
|
|
21
21
|
const lionCoreBuiltinsIdentifier = nameOfBaseClassForLanguage(lioncoreBuiltins);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports-tracking.js","sourceRoot":"","sources":["../../src/helpers/imports-tracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export * from "./classifiers.js";
|
|
2
|
-
export * from "./dependencies.js";
|
|
3
2
|
export * from "./entities.js";
|
|
4
3
|
export * from "./features.js";
|
|
5
4
|
export * from "./imports-tracking.js";
|
|
6
|
-
export * from "./mps-annotations.js";
|
|
7
5
|
export * from "./primitive-types.js";
|
|
8
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAiBA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
|
|
@@ -15,10 +15,8 @@
|
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
17
|
export * from "./classifiers.js";
|
|
18
|
-
export * from "./dependencies.js";
|
|
19
18
|
export * from "./entities.js";
|
|
20
19
|
export * from "./features.js";
|
|
21
20
|
export * from "./imports-tracking.js";
|
|
22
|
-
export * from "./mps-annotations.js";
|
|
23
21
|
export * from "./primitive-types.js";
|
|
24
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitive-types.d.ts","sourceRoot":"","sources":["../../src/helpers/primitive-types.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAqB,aAAa,EAAE,MAAM,eAAe,CAAA;AAEhE,eAAO,MAAM,sBAAsB,kBAAmB,aAAa,KAAG,MAarE,CAAA"}
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
import { builtinPrimitives } from "@lionweb/core";
|
|
18
18
|
export const tsTypeForPrimitiveType = (primitiveType) => {
|
|
19
19
|
switch (primitiveType) {
|
|
20
|
-
case builtinPrimitives.
|
|
20
|
+
case builtinPrimitives.booleanDataType:
|
|
21
21
|
return `boolean`;
|
|
22
|
-
case builtinPrimitives.
|
|
22
|
+
case builtinPrimitives.stringDataType:
|
|
23
23
|
return `string`;
|
|
24
|
-
case builtinPrimitives.
|
|
24
|
+
case builtinPrimitives.integerDataType:
|
|
25
25
|
return `number`;
|
|
26
|
-
case builtinPrimitives.
|
|
26
|
+
case builtinPrimitives.jsonDataType:
|
|
27
27
|
return `unknown`;
|
|
28
28
|
default:
|
|
29
29
|
return `string`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitive-types.js","sourceRoot":"","sources":["../../src/helpers/primitive-types.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,iBAAiB,EAAiB,MAAM,eAAe,CAAA;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,aAA4B,EAAU,EAAE;IAC3E,QAAQ,aAAa,EAAE,CAAC;QACpB,KAAK,iBAAiB,CAAC,eAAe;YAClC,OAAO,SAAS,CAAA;QACpB,KAAK,iBAAiB,CAAC,cAAc;YACjC,OAAO,QAAQ,CAAA;QACnB,KAAK,iBAAiB,CAAC,eAAe;YAClC,OAAO,QAAQ,CAAA;QACnB,KAAK,iBAAiB,CAAC,YAAY;YAC/B,OAAO,SAAS,CAAA;QACpB;YACI,OAAO,QAAQ,CAAA;IACvB,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-ts.d.ts","sourceRoot":"","sources":["../src/index-ts.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAMxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGjD,eAAO,MAAM,UAAU,cAAe,QAAQ,EAAE,WAAW,gBAAgB,WA0C1E,CAAA"}
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
//
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
+
import { indent } from "@lionweb/textgen-utils";
|
|
17
18
|
import { dependencyOrderOf } from "@lionweb/ts-utils";
|
|
19
|
+
import { dependenciesThroughDirectInheritanceOf } from "@lionweb/utilities";
|
|
18
20
|
import { asString, commaSeparated } from "littoral-templates";
|
|
19
|
-
import {
|
|
20
|
-
import { dependenciesThroughDirectInheritanceOf, importRenamingForLanguage, nameOfBaseClassForLanguage } from "./helpers/index.js";
|
|
21
|
+
import { importRenamingForLanguage, nameOfBaseClassForLanguage } from "./helpers/index.js";
|
|
21
22
|
export const indexTsFor = (languages, options) => {
|
|
22
23
|
const dependenciesInOrderOfDirectInheritance = dependencyOrderOf(languages, dependenciesThroughDirectInheritanceOf);
|
|
23
24
|
if (dependenciesInOrderOfDirectInheritance === false) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-ts.js","sourceRoot":"","sources":["../src/index-ts.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAGtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,sCAAsC,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG7D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;AAE1F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAqB,EAAE,OAAyB,EAAE,EAAE;IAC3E,MAAM,sCAAsC,GAAG,iBAAiB,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAA;IACnH,IAAI,sCAAsC,KAAK,KAAK,EAAE,CAAC;QACnD,OAAO,CAAC,KAAK,CACT,0KAA0K,CAC7K,CAAA;IACL,CAAC;IACD,MAAM,mBAAmB,GACrB,sCAAsC,KAAK,KAAK;QAC5C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,sCAAsC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAErG,OAAO,QAAQ,CAAC;QACZ,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACxD,uDAAuD,OAAO,CAAC,qBAAqB,IAAI;QACxF,EAAE;QACF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,yBAAyB,CAAC,QAAQ,CAAC,YAAY,QAAQ,CAAC,IAAI,SAAS,CAAC;QACzH,EAAE;QACF,0FAA0F;QAC1F,wCAAwC;QACxC,SAAS;aACJ,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aAC7C,GAAG,CACA,QAAQ,CAAC,EAAE,CACP,GAAG,yBAAyB,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC,QAAQ,CAAC,aAAa,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAC9H;QACL,EAAE;QACF,oDAAoD;QACpD,MAAM,CACF,cAAc,CACV,mBAAmB,CAAC,GAAG,CACnB,QAAQ,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC,QAAQ,CAAC,WAAW,CACxG,CACJ,CACJ;QACD,IAAI;QACJ,EAAE;QACF,UAAU;QACV,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAChE,IAAI;QACJ,EAAE;KACL,CAAC,CAAA;AACN,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from "./
|
|
1
|
+
export { generateLanguage, generateApiFromLanguages, generateApiFromLanguagesJson } from "./generator.js";
|
|
2
|
+
export * from "./generation-headers.js";
|
|
3
|
+
export * from "./mega-factory.templates.js";
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AACzG,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
//
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
-
export
|
|
18
|
-
export * from "./
|
|
17
|
+
export { generateLanguage, generateApiFromLanguages, generateApiFromLanguagesJson } from "./generator.js";
|
|
18
|
+
export * from "./generation-headers.js";
|
|
19
|
+
export * from "./mega-factory.templates.js";
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AACzG,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-file.templates.d.ts","sourceRoot":"","sources":["../src/language-file.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAW,QAAQ,EAAE,MAAM,eAAe,CAAA;AAMjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAQjD,eAAO,MAAM,eAAe,aAAc,QAAQ,WAAW,gBAAgB,WAsC5E,CAAA"}
|
|
@@ -14,11 +14,10 @@
|
|
|
14
14
|
//
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
-
import { sortedStringsByUppercase } from "@lionweb/ts-utils";
|
|
18
17
|
import { Concept } from "@lionweb/core";
|
|
19
|
-
import {
|
|
18
|
+
import { indent } from "@lionweb/textgen-utils";
|
|
19
|
+
import { dependencyOrderOf, sortedStringsByUppercase } from "@lionweb/ts-utils";
|
|
20
20
|
import { asString, commaSeparated, when, withNewlineAppended } from "littoral-templates";
|
|
21
|
-
import { indent } from "../utils/textgen.js";
|
|
22
21
|
import { typeForLanguageEntity } from "./entity-types.templates.js";
|
|
23
22
|
import { Imports } from "./helpers/index.js";
|
|
24
23
|
import { reflectiveClassFor } from "./reflective-layer.templates.js";
|
|
@@ -30,7 +29,6 @@ export const languageFileFor = (language, options) => {
|
|
|
30
29
|
if (typeof orderedEntities === "boolean") {
|
|
31
30
|
throw new Error(`language ${name} has a cycle among the graph of entities with edges formed by the inheritance dependency`);
|
|
32
31
|
}
|
|
33
|
-
const mpsAnnotationsPerId = groupBy(options.mpsAnnotations, ({ annotatedNodeId }) => annotatedNodeId);
|
|
34
32
|
const postImportsPart = [
|
|
35
33
|
``,
|
|
36
34
|
reflectiveClassFor(imports)(language),
|
|
@@ -38,7 +36,7 @@ export const languageFileFor = (language, options) => {
|
|
|
38
36
|
``,
|
|
39
37
|
orderedEntities
|
|
40
38
|
.filter((entity) => entity.language === language)
|
|
41
|
-
.map(withNewlineAppended(typeForLanguageEntity(imports
|
|
39
|
+
.map(withNewlineAppended(typeForLanguageEntity(imports)))
|
|
42
40
|
];
|
|
43
41
|
return asString([
|
|
44
42
|
options?.header ?? [],
|