@lionweb/class-core-generator 0.8.0-beta.6 → 0.8.0-beta.7
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/README.md +30 -0
- package/dist/entity-types.templates.d.ts.map +1 -1
- package/dist/entity-types.templates.js +9 -2
- package/dist/entity-types.templates.js.map +1 -1
- package/dist/generator.d.ts +31 -0
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +20 -2
- package/dist/generator.js.map +1 -1
- package/dist/helpers/features.d.ts +1 -1
- package/dist/helpers/features.d.ts.map +1 -1
- package/dist/helpers/features.js +26 -8
- package/dist/helpers/features.js.map +1 -1
- package/dist/helpers/imports-tracking.d.ts.map +1 -1
- package/dist/helpers/imports-tracking.js +2 -2
- package/dist/helpers/imports-tracking.js.map +1 -1
- package/dist/helpers/primitive-types.d.ts.map +1 -1
- package/dist/helpers/primitive-types.js +2 -2
- package/dist/helpers/primitive-types.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/mega-factory.templates.d.ts +7 -0
- package/dist/mega-factory.templates.d.ts.map +1 -1
- package/dist/mega-factory.templates.js +7 -0
- package/dist/mega-factory.templates.js.map +1 -1
- package/package.json +9 -9
- package/src/entity-types.templates.ts +9 -2
- package/src/generator.ts +33 -2
- package/src/helpers/features.ts +27 -8
- package/src/helpers/imports-tracking.ts +2 -2
- package/src/helpers/primitive-types.ts +2 -2
- package/src/index.ts +2 -2
- package/src/mega-factory.templates.ts +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Improve dealing with unresolved references.
|
|
6
6
|
* Clear up an unnecessarily difficult piece of generator code while doing so.
|
|
7
7
|
* Fix that concepts extending the built-in `Node` concept generates classes that extend `NodeBase` (rather than `Node`).
|
|
8
|
+
* Reference targets can now be any `Node`, not just `INodeBase`.
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
## 0.7.2
|
package/README.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# README
|
|
2
|
+
|
|
3
|
+
[
|
|
4
|
+
](./LICENSE)
|
|
5
|
+
[
|
|
6
|
+
](https://github.com/LionWeb-io/lionweb-typescript/actions/workflows/test.yaml)
|
|
7
|
+
[
|
|
8
|
+
](https://www.npmjs.com/package/@lionweb/class-core-generator)
|
|
9
|
+
|
|
10
|
+
This NPM package holds a code generator to generate classes based on the `class-core` package from an M2.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
Run the following command to add this package to an NPM-based project:
|
|
16
|
+
|
|
17
|
+
```shell
|
|
18
|
+
npm add @lionweb/class-core-generator
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
This adds this package as a dependency to your NPM-based project.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
* Use the `generateLanguage`, `generateApiFromLanguages`, `generateApiFromLanguagesJson`, and `megaFactoryFor` functions to generate API code for a single language or any number of languages.
|
|
27
|
+
* The `defaultTrumpfOriginatingApache2_0LicensedHeader` and `generatedCodeWarningComments` text constants can be used as file headers.
|
|
28
|
+
|
|
29
|
+
As always: see the JSDoc of these items for more details.
|
|
30
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-types.templates.d.ts","sourceRoot":"","sources":["../src/entity-types.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAaH,cAAc,EAQjB,MAAM,eAAe,CAAA;AAYtB,OAAO,EAKH,OAAO,EAQV,MAAM,oBAAoB,CAAA;AAc3B,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,
|
|
1
|
+
{"version":3,"file":"entity-types.templates.d.ts","sourceRoot":"","sources":["../src/entity-types.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAaH,cAAc,EAQjB,MAAM,eAAe,CAAA;AAYtB,OAAO,EAKH,OAAO,EAQV,MAAM,oBAAoB,CAAA;AAc3B,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,MA4N1C,QAAQ,cAAc,4CAoBjC,CAAA"}
|
|
@@ -45,7 +45,7 @@ export const typeForLanguageEntity = (imports) => {
|
|
|
45
45
|
const classMembersForLink = (link) => {
|
|
46
46
|
const { name, type, multiple } = link;
|
|
47
47
|
const nameWithFirstUpper = withFirstUpper(name);
|
|
48
|
-
const tsTypeForClassifier_ = tsTypeForClassifier(type, imports);
|
|
48
|
+
const tsTypeForClassifier_ = tsTypeForClassifier(type, imports, link instanceof Reference);
|
|
49
49
|
const tsTypeForLink_ = link instanceof Reference
|
|
50
50
|
? `${imports.core(multiple ? "MultiRef" : "SingleRef")}<${tsTypeForClassifier_}>${multiple ? "" : optionalityPostfix(link)}`
|
|
51
51
|
: `${tsTypeForClassifier_}${multiple ? "[]" : optionalityPostfix(link)}`;
|
|
@@ -103,9 +103,16 @@ export const typeForLanguageEntity = (imports) => {
|
|
|
103
103
|
}
|
|
104
104
|
const featureMetaType_ = featureMetaType(features[0]);
|
|
105
105
|
const argumentName = featureMetaType_.toLowerCase();
|
|
106
|
+
const typeParameter = (() => {
|
|
107
|
+
switch (featureMetaType_) {
|
|
108
|
+
case "Property": return "unknown";
|
|
109
|
+
case "Containment": return imports.generic("INodeBase");
|
|
110
|
+
case "Reference": return imports.core("Node");
|
|
111
|
+
}
|
|
112
|
+
})();
|
|
106
113
|
return [
|
|
107
114
|
``,
|
|
108
|
-
`get${featureMetaType_}ValueManager(${argumentName}: ${imports.core(featureMetaType_)}): ${imports.generic(featureMetaType_ + "ValueManager")}<${
|
|
115
|
+
`get${featureMetaType_}ValueManager(${argumentName}: ${imports.core(featureMetaType_)}): ${imports.generic(featureMetaType_ + "ValueManager")}<${typeParameter}> {`,
|
|
109
116
|
indent(switchOrIf(`${argumentName}.key`, features.map((feature) => [`${imports.language(feature.classifier.language)}.INSTANCE.${feature.classifier.name}_${feature.name}.key`, `this._${feature.name}`]), `return super.get${featureMetaType_}ValueManager(${argumentName});`)),
|
|
110
117
|
`}`
|
|
111
118
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-types.templates.js","sourceRoot":"","sources":["../src/entity-types.templates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entity-types.templates.js","sourceRoot":"","sources":["../src/entity-types.templates.ts"],"names":[],"mappings":"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"}
|
package/dist/generator.d.ts
CHANGED
|
@@ -1,10 +1,41 @@
|
|
|
1
1
|
import { Language } from "@lionweb/core";
|
|
2
|
+
/**
|
|
3
|
+
* A type def. for options objects configuring code generation.
|
|
4
|
+
*/
|
|
2
5
|
export type GeneratorOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* The `from`-part of the `import`-statement that imports the `class-core` package.
|
|
8
|
+
* Default (which you should always use!): `@lionweb/class-core`.
|
|
9
|
+
*/
|
|
3
10
|
genericImportLocation: string;
|
|
11
|
+
/**
|
|
12
|
+
* The optional header for generated files.
|
|
13
|
+
*/
|
|
4
14
|
header?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Whether to output logging on the `stdout`. Default: `true`.
|
|
17
|
+
*/
|
|
5
18
|
verbose: boolean;
|
|
6
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* Generates a file containing the API code for the given {@link Language LionWeb language}.
|
|
22
|
+
* @param language A {@link Language LionWeb language}.
|
|
23
|
+
* @param generationPath The path (relative to the current execution) to generate to/in.
|
|
24
|
+
* @param mayBeOptions Optionally-given {@link GeneratorOptions options}.
|
|
25
|
+
*/
|
|
7
26
|
export declare const generateLanguage: (language: Language, generationPath: string, mayBeOptions?: Partial<GeneratorOptions>) => string;
|
|
27
|
+
/**
|
|
28
|
+
* Generates an API (as files) for the {@link Language LionWeb languages} given as a serialization chunk at the given path.
|
|
29
|
+
* @param languagesJsonPath The path (relative to the current execution) to a LionWeb serialization chunk containing {@link Language LionWeb languages}.
|
|
30
|
+
* @param generationPath The path (relative to the current execution) to generate to/in.
|
|
31
|
+
* @param mayBeOptions Optionally-given {@link GeneratorOptions options}.
|
|
32
|
+
*/
|
|
8
33
|
export declare const generateApiFromLanguagesJson: (languagesJsonPath: string, generationPath: string, mayBeOptions?: Partial<GeneratorOptions>) => void;
|
|
34
|
+
/**
|
|
35
|
+
* Generates an API (as files) for the {@link Language LionWeb languages} given as a serialization chunk at the given path.
|
|
36
|
+
* @param languages A collection of {@link Language LionWeb languages}.
|
|
37
|
+
* @param generationPath The path (relative to the current execution) to generate to/in.
|
|
38
|
+
* @param mayBeOptions Optionally-given {@link GeneratorOptions options}.
|
|
39
|
+
*/
|
|
9
40
|
export declare const generateApiFromLanguages: (languages: Language[], generationPath: string, maybeOptions?: Partial<GeneratorOptions>) => void;
|
|
10
41
|
//# sourceMappingURL=generator.d.ts.map
|
package/dist/generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,QAAQ,EAAmB,MAAM,eAAe,CAAA;AAa/E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA;AAUD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,EAAE,gBAAgB,MAAM,EAAE,eAAe,OAAO,CAAC,gBAAgB,CAAC,KAAG,MAKvH,CAAA;AASD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GAAI,mBAAmB,MAAM,EAAE,gBAAgB,MAAM,EAAE,eAAe,OAAO,CAAC,gBAAgB,CAAC,SASvI,CAAA;AAGD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,WAAW,QAAQ,EAAE,EAAE,gBAAgB,MAAM,EAAE,eAAe,OAAO,CAAC,gBAAgB,CAAC,SAmB/H,CAAA"}
|
package/dist/generator.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
//
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
-
import {
|
|
17
|
+
import { deserializeLanguages, LionWebVersions } from "@lionweb/core";
|
|
18
18
|
import { readFileAsJson } from "@lionweb/utilities";
|
|
19
19
|
import { writeFileSync } from "fs";
|
|
20
20
|
import { join } from "path";
|
|
@@ -27,6 +27,12 @@ const withDefaults = (options) => ({
|
|
|
27
27
|
header: options?.header,
|
|
28
28
|
verbose: options?.verbose ?? true
|
|
29
29
|
});
|
|
30
|
+
/**
|
|
31
|
+
* Generates a file containing the API code for the given {@link Language LionWeb language}.
|
|
32
|
+
* @param language A {@link Language LionWeb language}.
|
|
33
|
+
* @param generationPath The path (relative to the current execution) to generate to/in.
|
|
34
|
+
* @param mayBeOptions Optionally-given {@link GeneratorOptions options}.
|
|
35
|
+
*/
|
|
30
36
|
export const generateLanguage = (language, generationPath, mayBeOptions) => {
|
|
31
37
|
const { name } = language;
|
|
32
38
|
const fileName = `${name}.g.ts`;
|
|
@@ -36,15 +42,27 @@ export const generateLanguage = (language, generationPath, mayBeOptions) => {
|
|
|
36
42
|
const logger = (verbose) => (verbose ?? true)
|
|
37
43
|
? (text) => { console.log(text ?? ``); }
|
|
38
44
|
: (_) => { };
|
|
45
|
+
/**
|
|
46
|
+
* Generates an API (as files) for the {@link Language LionWeb languages} given as a serialization chunk at the given path.
|
|
47
|
+
* @param languagesJsonPath The path (relative to the current execution) to a LionWeb serialization chunk containing {@link Language LionWeb languages}.
|
|
48
|
+
* @param generationPath The path (relative to the current execution) to generate to/in.
|
|
49
|
+
* @param mayBeOptions Optionally-given {@link GeneratorOptions options}.
|
|
50
|
+
*/
|
|
39
51
|
export const generateApiFromLanguagesJson = (languagesJsonPath, generationPath, mayBeOptions) => {
|
|
40
52
|
const log = logger(mayBeOptions?.verbose);
|
|
41
53
|
log(`Running API generator with cwd: ${cwd()}`);
|
|
42
54
|
log(` Path to languages: ${languagesJsonPath}`);
|
|
43
55
|
log(` Generation path: ${generationPath}`);
|
|
44
56
|
const languagesJson = readFileAsJson(languagesJsonPath);
|
|
45
|
-
const languages = deserializeLanguages(languagesJson,
|
|
57
|
+
const languages = deserializeLanguages(languagesJson, LionWebVersions.v2023_1.lioncoreFacade.language);
|
|
46
58
|
generateApiFromLanguages(languages, generationPath, mayBeOptions);
|
|
47
59
|
};
|
|
60
|
+
/**
|
|
61
|
+
* Generates an API (as files) for the {@link Language LionWeb languages} given as a serialization chunk at the given path.
|
|
62
|
+
* @param languages A collection of {@link Language LionWeb languages}.
|
|
63
|
+
* @param generationPath The path (relative to the current execution) to generate to/in.
|
|
64
|
+
* @param mayBeOptions Optionally-given {@link GeneratorOptions options}.
|
|
65
|
+
*/
|
|
48
66
|
export const generateApiFromLanguages = (languages, generationPath, maybeOptions) => {
|
|
49
67
|
const log = logger(maybeOptions?.verbose);
|
|
50
68
|
log(` Generated:`);
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { Classifier, DataType, Feature, LanguageEntity, SingleRef } from "@lionw
|
|
|
2
2
|
import { Imports } from "./index.js";
|
|
3
3
|
export declare const typeOf: (feature: Feature) => SingleRef<LanguageEntity>;
|
|
4
4
|
export declare const tsTypeForDataType: (dataType: SingleRef<DataType>, imports: Imports) => string;
|
|
5
|
-
export declare const tsTypeForClassifier: (classifier: SingleRef<Classifier>, imports: Imports) => string;
|
|
5
|
+
export declare const tsTypeForClassifier: (classifier: SingleRef<Classifier>, imports: Imports, isReference?: boolean) => string;
|
|
6
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/helpers/features.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,UAAU,EACV,QAAQ,EAER,OAAO,EAMP,cAAc,EAKd,SAAS,EACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAA0B,MAAM,YAAY,CAAA;AAG5D,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,KAAG,SAAS,CAAC,cAAc,CAQjE,CAAA;AAGD,eAAO,MAAM,iBAAiB,GAAI,UAAU,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,WAWhF,CAAA;
|
|
1
|
+
{"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/helpers/features.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,UAAU,EACV,QAAQ,EAER,OAAO,EAMP,cAAc,EAKd,SAAS,EACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAA0B,MAAM,YAAY,CAAA;AAG5D,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,KAAG,SAAS,CAAC,cAAc,CAQjE,CAAA;AAGD,eAAO,MAAM,iBAAiB,GAAI,UAAU,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,WAWhF,CAAA;AAUD,eAAO,MAAM,mBAAmB,GAAI,YAAY,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,qBAAmB,WAU3G,CAAA;AAGD,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,wBAA2C,CAAA;AAE9F,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,EAAE,SAAS,OAAO,KAAG,MA0B1E,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,EAAE,SAAS,OAAO,KAAG,MA4B1E,CAAA"}
|
package/dist/helpers/features.js
CHANGED
|
@@ -37,11 +37,22 @@ export const tsTypeForDataType = (dataType, imports) => {
|
|
|
37
37
|
}
|
|
38
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
|
+
const isBuiltinNode = (type) => {
|
|
41
|
+
if (isUnresolvedReference(type)) {
|
|
42
|
+
throw new Error(`can’t say whether an unresolved reference is the built-in Node concept`);
|
|
43
|
+
}
|
|
44
|
+
return type instanceof Classifier && isBuiltinNodeConcept(type);
|
|
45
|
+
};
|
|
46
|
+
export const tsTypeForClassifier = (classifier, imports, isReference = false) => {
|
|
41
47
|
if (isUnresolvedReference(classifier)) {
|
|
42
48
|
return `unknown /* [ERROR] can't compute a TS type for an unresolved classifier */`;
|
|
43
49
|
}
|
|
44
|
-
|
|
50
|
+
if (isBuiltinNode(classifier)) {
|
|
51
|
+
return isReference
|
|
52
|
+
? imports.core("Node")
|
|
53
|
+
: imports.generic("INodeBase");
|
|
54
|
+
}
|
|
55
|
+
return imports.entity(classifier);
|
|
45
56
|
};
|
|
46
57
|
export const optionalityPostfix = (feature) => feature.optional ? " | undefined" : "";
|
|
47
58
|
export const tsFieldTypeForFeature = (feature, imports) => {
|
|
@@ -61,13 +72,12 @@ export const tsFieldTypeForFeature = (feature, imports) => {
|
|
|
61
72
|
})();
|
|
62
73
|
return `${typeId}${(optionalityPostfix(feature))}`;
|
|
63
74
|
}
|
|
64
|
-
const isBuiltinNode = (type instanceof Classifier && isBuiltinNodeConcept(type));
|
|
65
75
|
if (isContainment(feature)) {
|
|
66
|
-
const typeId = isBuiltinNode ? imports.generic("INodeBase") : imports.entity(type);
|
|
76
|
+
const typeId = isBuiltinNode(type) ? imports.generic("INodeBase") : imports.entity(type);
|
|
67
77
|
return `${typeId}${feature.multiple ? "[]" : optionalityPostfix(feature)}`;
|
|
68
78
|
}
|
|
69
79
|
if (isReference(feature)) {
|
|
70
|
-
const typeId = isBuiltinNode ? imports.generic("INodeBase") : imports.entity(type);
|
|
80
|
+
const typeId = isBuiltinNode(type) ? imports.generic("INodeBase") : imports.entity(type);
|
|
71
81
|
return `${imports.core("SingleRef")}<${typeId}>${feature.multiple ? "[]" : optionalityPostfix(feature)}`;
|
|
72
82
|
}
|
|
73
83
|
return `unknown /* [ERROR] can't compute a TS type for feature ${feature.name} on classifier ${feature.classifier.name} whose type has an unhandled/-known meta-type ${type.constructor.name} */`;
|
|
@@ -88,9 +98,17 @@ export const tsTypeForValueManager = (feature, imports) => {
|
|
|
88
98
|
return `unknown /* [ERROR] can't compute a TS type for feature ${feature.name} on classifier ${feature.classifier.name} whose type has an unhandled/-known meta-type ${type.constructor.name} */`;
|
|
89
99
|
})();
|
|
90
100
|
}
|
|
91
|
-
if (isContainment(feature) || isReference(feature)) {
|
|
92
|
-
return
|
|
101
|
+
if (!(isContainment(feature) || isReference(feature))) {
|
|
102
|
+
return `unknown /* [ERROR] can't compute a TS type for feature ${feature.name} on classifier ${feature.classifier.name} whose type has an unhandled/-known meta-type ${type.constructor.name} */`;
|
|
93
103
|
}
|
|
94
|
-
|
|
104
|
+
if (isBuiltinNode(type)) {
|
|
105
|
+
if (isContainment(feature)) {
|
|
106
|
+
return imports.generic("INodeBase");
|
|
107
|
+
}
|
|
108
|
+
if (isReference(feature)) {
|
|
109
|
+
return imports.core("Node");
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return imports.entity(type);
|
|
95
113
|
};
|
|
96
114
|
//# sourceMappingURL=features.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/helpers/features.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,EACH,UAAU,EAEV,WAAW,EAEX,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,WAAW,EACX,qBAAqB,EAErB,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,cAAc,EAEjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAW,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAG5D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAgB,EAA6B,EAAE;IAClE,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,IAAI,CAAA;IACvB,CAAC;IACD,IAAI,OAAO,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,IAAI,CAAA;IACvB,CAAC;IACD,OAAO,cAAc,EAAE,CAAA;AAC3B,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAA6B,EAAE,OAAgB,EAAE,EAAE;IACjF,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,2EAA2E,CAAA;IACtF,CAAC;IACD,IAAI,QAAQ,YAAY,aAAa,EAAE,CAAC;QACpC,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,QAAQ,YAAY,WAAW,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,4DAA4D,QAAQ,CAAC,IAAI,2CAA2C,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAA;AAC7J,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAiC,EAAE,OAAgB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/helpers/features.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imports-tracking.d.ts","sourceRoot":"","sources":["../../src/helpers/imports-tracking.ts"],"names":[],"mappings":"AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"imports-tracking.d.ts","sourceRoot":"","sources":["../../src/helpers/imports-tracking.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAmB,MAAM,eAAe,CAAA;AAGzE,eAAO,MAAM,yBAAyB,GAAI,UAAU,QAAQ,WAAkC,CAAA;AAE9F,eAAO,MAAM,0BAA0B,GAAI,UAAU,QAAQ,WACnB,CAAA;AAQ1C,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"}
|
|
@@ -14,11 +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 {
|
|
17
|
+
import { LionWebVersions } from "@lionweb/core";
|
|
18
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
|
-
const lioncoreBuiltins =
|
|
21
|
+
const lioncoreBuiltins = LionWebVersions.v2023_1.builtinsFacade.language;
|
|
22
22
|
const lioncoreBuiltinsIdentifier = nameOfBaseClassForLanguage(lioncoreBuiltins);
|
|
23
23
|
export class Imports {
|
|
24
24
|
constructor(thisLanguage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imports-tracking.js","sourceRoot":"","sources":["../../src/helpers/imports-tracking.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,
|
|
1
|
+
{"version":3,"file":"imports-tracking.js","sourceRoot":"","sources":["../../src/helpers/imports-tracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitive-types.d.ts","sourceRoot":"","sources":["../../src/helpers/primitive-types.ts"],"names":[],"mappings":"AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"primitive-types.d.ts","sourceRoot":"","sources":["../../src/helpers/primitive-types.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAmB,aAAa,EAAE,MAAM,eAAe,CAAA;AAK9D,eAAO,MAAM,sBAAsB,GAAI,eAAe,aAAa,KAAG,MAarE,CAAA"}
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
//
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
-
import {
|
|
18
|
-
const { primitiveTypes } =
|
|
17
|
+
import { LionWebVersions } from "@lionweb/core";
|
|
18
|
+
const { primitiveTypes } = LionWebVersions.v2023_1.builtinsFacade;
|
|
19
19
|
export const tsTypeForPrimitiveType = (primitiveType) => {
|
|
20
20
|
switch (primitiveType.key) {
|
|
21
21
|
case primitiveTypes.booleanDataType.key:
|
|
@@ -1 +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,
|
|
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,eAAe,EAAiB,MAAM,eAAe,CAAA;AAG9D,MAAM,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,CAAA;AAEjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,aAA4B,EAAU,EAAE;IAC3E,QAAQ,aAAa,CAAC,GAAG,EAAE,CAAC;QACxB,KAAK,cAAc,CAAC,eAAe,CAAC,GAAG;YACnC,OAAO,SAAS,CAAA;QACpB,KAAK,cAAc,CAAC,cAAc,CAAC,GAAG;YAClC,OAAO,QAAQ,CAAA;QACnB,KAAK,cAAc,CAAC,eAAe,CAAC,GAAG;YACnC,OAAO,QAAQ,CAAA;QACnB,KAAK,cAAc,CAAC,YAAY,CAAC,GAAG;YAChC,OAAO,SAAS,CAAA;QACpB;YACI,OAAO,QAAQ,CAAA;IACvB,CAAC;AACL,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { generateLanguage, generateApiFromLanguages, generateApiFromLanguagesJson } from "./generator.js";
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export { defaultTrumpfOriginatingApache2_0LicensedHeader, generatedCodeWarningComments } from "./generation-headers.js";
|
|
3
|
+
export { megaFactoryFor } from "./mega-factory.templates.js";
|
|
4
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,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AACzG,
|
|
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,OAAO,EAAE,+CAA+C,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACvH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,6 @@
|
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
17
|
export { generateLanguage, generateApiFromLanguages, generateApiFromLanguagesJson } from "./generator.js";
|
|
18
|
-
export
|
|
19
|
-
export
|
|
18
|
+
export { defaultTrumpfOriginatingApache2_0LicensedHeader, generatedCodeWarningComments } from "./generation-headers.js";
|
|
19
|
+
export { megaFactoryFor } from "./mega-factory.templates.js";
|
|
20
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,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AACzG,
|
|
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,OAAO,EAAE,+CAA+C,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACvH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import { Language } from "@lionweb/core";
|
|
2
|
+
/**
|
|
3
|
+
* @return The contents of a file implementing a “mega-factory” class for a collection of {@link Language LionWeb languages}.
|
|
4
|
+
* A mega-factory exposes factory methods for all concrete concepts of all the languages.
|
|
5
|
+
* @param megaFactoryName The name for the mega-factory class.
|
|
6
|
+
* @param languages A collection of {@link Language LionWeb languages}.
|
|
7
|
+
* @param header An optional file header for the file (contents).
|
|
8
|
+
*/
|
|
2
9
|
export declare const megaFactoryFor: (megaFactoryName: string, languages: Language[], header?: string) => string;
|
|
3
10
|
//# sourceMappingURL=mega-factory.templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mega-factory.templates.d.ts","sourceRoot":"","sources":["../src/mega-factory.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAc,QAAQ,EAAkB,MAAM,eAAe,CAAA;AAKpE,eAAO,MAAM,cAAc,GAAI,iBAAiB,MAAM,EAAE,WAAW,QAAQ,EAAE,EAAE,SAAS,MAAM,WAgD7F,CAAA"}
|
|
1
|
+
{"version":3,"file":"mega-factory.templates.d.ts","sourceRoot":"","sources":["../src/mega-factory.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAc,QAAQ,EAAkB,MAAM,eAAe,CAAA;AAKpE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,iBAAiB,MAAM,EAAE,WAAW,QAAQ,EAAE,EAAE,SAAS,MAAM,WAgD7F,CAAA"}
|
|
@@ -18,6 +18,13 @@ import { isConcrete } from "@lionweb/core";
|
|
|
18
18
|
import { Deprecated, ioLionWebMpsSpecificAnnotationsFrom } from "@lionweb/io-lionweb-mps-specific";
|
|
19
19
|
import { asJSIdentifier, indent } from "@lionweb/textgen-utils";
|
|
20
20
|
import { asString, commaSeparated } from "littoral-templates";
|
|
21
|
+
/**
|
|
22
|
+
* @return The contents of a file implementing a “mega-factory” class for a collection of {@link Language LionWeb languages}.
|
|
23
|
+
* A mega-factory exposes factory methods for all concrete concepts of all the languages.
|
|
24
|
+
* @param megaFactoryName The name for the mega-factory class.
|
|
25
|
+
* @param languages A collection of {@link Language LionWeb languages}.
|
|
26
|
+
* @param header An optional file header for the file (contents).
|
|
27
|
+
*/
|
|
21
28
|
export const megaFactoryFor = (megaFactoryName, languages, header) => {
|
|
22
29
|
const isNotDeprecated = (entity) => !ioLionWebMpsSpecificAnnotationsFrom(entity).some((annotation) => annotation instanceof Deprecated);
|
|
23
30
|
const requiresFactoryMethod = (entity) => isConcrete(entity) && isNotDeprecated(entity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mega-factory.templates.js","sourceRoot":"","sources":["../src/mega-factory.templates.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,EAA4B,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,eAAuB,EAAE,SAAqB,EAAE,MAAe,EAAE,EAAE;IAC9F,MAAM,eAAe,GAAG,CAAC,MAAsB,EAAE,EAAE,CAC/C,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,UAAU,CAAC,CAAA;IAEvG,MAAM,qBAAqB,GAAG,CAAC,MAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IAEvG,MAAM,UAAU,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC;QACvC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;QAC7C,MAAM,CACF,cAAc,CACV,QAAQ,CAAC,QAAQ;aACZ,MAAM,CAAC,qBAAqB,CAAC;aAC7B,GAAG,CACA,UAAU,CAAC,EAAE,CACT,SAAS,UAAU,CAAC,IAAI,WAAW,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,qCAAqC,CAC/H,CACR,CACJ;QACD,GAAG;QACH,EAAE;KACL,CAAA;IAED,MAAM,2BAA2B,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAE/G,OAAO,QAAQ,CAAC;QACZ,MAAM,IAAI,EAAE;QACZ,oDAAoD;QACpD,EAAE;QACF,UAAU;QACV,MAAM,CAAC,cAAc,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3F,wBAAwB;QACxB,EAAE;QACF,oCAAoC;QACpC,EAAE;QACF,EAAE;QACF,gBAAgB,eAAe,IAAI;QACnC,MAAM,CAAC;YACH,EAAE;YACF,cAAc;YACd,MAAM,CAAC,CAAC,8CAA8C,CAAC,CAAC;YACxD,KAAK;YACL,GAAG;YACH,EAAE;YACF,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC;SAC9C,CAAC;QACF,GAAG;QACH,EAAE;KACL,CAAC,CAAA;AACN,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"mega-factory.templates.js","sourceRoot":"","sources":["../src/mega-factory.templates.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,EAA4B,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAE7D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,eAAuB,EAAE,SAAqB,EAAE,MAAe,EAAE,EAAE;IAC9F,MAAM,eAAe,GAAG,CAAC,MAAsB,EAAE,EAAE,CAC/C,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,UAAU,CAAC,CAAA;IAEvG,MAAM,qBAAqB,GAAG,CAAC,MAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IAEvG,MAAM,UAAU,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC;QACvC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;QAC7C,MAAM,CACF,cAAc,CACV,QAAQ,CAAC,QAAQ;aACZ,MAAM,CAAC,qBAAqB,CAAC;aAC7B,GAAG,CACA,UAAU,CAAC,EAAE,CACT,SAAS,UAAU,CAAC,IAAI,WAAW,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,qCAAqC,CAC/H,CACR,CACJ;QACD,GAAG;QACH,EAAE;KACL,CAAA;IAED,MAAM,2BAA2B,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAE/G,OAAO,QAAQ,CAAC;QACZ,MAAM,IAAI,EAAE;QACZ,oDAAoD;QACpD,EAAE;QACF,UAAU;QACV,MAAM,CAAC,cAAc,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3F,wBAAwB;QACxB,EAAE;QACF,oCAAoC;QACpC,EAAE;QACF,EAAE;QACF,gBAAgB,eAAe,IAAI;QACnC,MAAM,CAAC;YACH,EAAE;YACF,cAAc;YACd,MAAM,CAAC,CAAC,8CAA8C,CAAC,CAAC;YACxD,KAAK;YACL,GAAG;YACH,EAAE;YACF,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC;SAC9C,CAAC;QACF,GAAG;QACH,EAAE;KACL,CAAC,CAAA;AACN,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/class-core-generator",
|
|
3
|
-
"version": "0.8.0-beta.
|
|
3
|
+
"version": "0.8.0-beta.7",
|
|
4
4
|
"description": "Generator for implementations of languages based on the class-core package",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
"release": "npm publish"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@lionweb/core": "0.8.0-beta.
|
|
31
|
-
"@lionweb/io-lionweb-mps-specific": "0.8.0-beta.
|
|
32
|
-
"@lionweb/json": "0.8.0-beta.
|
|
33
|
-
"@lionweb/textgen-utils": "0.8.0-beta.
|
|
34
|
-
"@lionweb/ts-utils": "0.8.0-beta.
|
|
35
|
-
"@lionweb/utilities": "0.8.0-beta.
|
|
36
|
-
"@types/node": "
|
|
30
|
+
"@lionweb/core": "0.8.0-beta.7",
|
|
31
|
+
"@lionweb/io-lionweb-mps-specific": "0.8.0-beta.7",
|
|
32
|
+
"@lionweb/json": "0.8.0-beta.7",
|
|
33
|
+
"@lionweb/textgen-utils": "0.8.0-beta.7",
|
|
34
|
+
"@lionweb/ts-utils": "0.8.0-beta.7",
|
|
35
|
+
"@lionweb/utilities": "0.8.0-beta.7",
|
|
36
|
+
"@types/node": "25.2.2",
|
|
37
37
|
"littoral-templates": "0.5.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@types/node": "
|
|
40
|
+
"@types/node": "25.2.2"
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -94,7 +94,7 @@ export const typeForLanguageEntity = (imports: Imports) => {
|
|
|
94
94
|
const classMembersForLink = (link: Link) => {
|
|
95
95
|
const {name, type, multiple} = link
|
|
96
96
|
const nameWithFirstUpper = withFirstUpper(name)
|
|
97
|
-
const tsTypeForClassifier_ = tsTypeForClassifier(type, imports)
|
|
97
|
+
const tsTypeForClassifier_ = tsTypeForClassifier(type, imports, link instanceof Reference)
|
|
98
98
|
const tsTypeForLink_ = link instanceof Reference
|
|
99
99
|
? `${imports.core(multiple ? "MultiRef" : "SingleRef")}<${tsTypeForClassifier_}>${multiple ? "" : optionalityPostfix(link)}`
|
|
100
100
|
: `${tsTypeForClassifier_}${multiple ? "[]" : optionalityPostfix(link)}`
|
|
@@ -156,9 +156,16 @@ export const typeForLanguageEntity = (imports: Imports) => {
|
|
|
156
156
|
|
|
157
157
|
const featureMetaType_ = featureMetaType(features[0])
|
|
158
158
|
const argumentName = featureMetaType_.toLowerCase()
|
|
159
|
+
const typeParameter = (() => {
|
|
160
|
+
switch (featureMetaType_) {
|
|
161
|
+
case "Property": return "unknown"
|
|
162
|
+
case "Containment": return imports.generic("INodeBase")
|
|
163
|
+
case "Reference": return imports.core("Node")
|
|
164
|
+
}
|
|
165
|
+
})()
|
|
159
166
|
return [
|
|
160
167
|
``,
|
|
161
|
-
`get${featureMetaType_}ValueManager(${argumentName}: ${imports.core(featureMetaType_)}): ${imports.generic(featureMetaType_ + "ValueManager")}<${
|
|
168
|
+
`get${featureMetaType_}ValueManager(${argumentName}: ${imports.core(featureMetaType_)}): ${imports.generic(featureMetaType_ + "ValueManager")}<${typeParameter}> {`,
|
|
162
169
|
indent(
|
|
163
170
|
switchOrIf(
|
|
164
171
|
`${argumentName}.key`,
|
package/src/generator.ts
CHANGED
|
@@ -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
|
|
|
18
|
-
import {
|
|
18
|
+
import { deserializeLanguages, Language, LionWebVersions } from "@lionweb/core"
|
|
19
19
|
import { LionWebJsonChunk } from "@lionweb/json"
|
|
20
20
|
import { readFileAsJson } from "@lionweb/utilities"
|
|
21
21
|
import { writeFileSync } from "fs"
|
|
@@ -28,9 +28,22 @@ import { languageFileFor } from "./language-file.templates.js"
|
|
|
28
28
|
const properGenericImportLocation = "@lionweb/class-core"
|
|
29
29
|
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
* A type def. for options objects configuring code generation.
|
|
33
|
+
*/
|
|
31
34
|
export type GeneratorOptions = {
|
|
35
|
+
/**
|
|
36
|
+
* The `from`-part of the `import`-statement that imports the `class-core` package.
|
|
37
|
+
* Default (which you should always use!): `@lionweb/class-core`.
|
|
38
|
+
*/
|
|
32
39
|
genericImportLocation: string
|
|
40
|
+
/**
|
|
41
|
+
* The optional header for generated files.
|
|
42
|
+
*/
|
|
33
43
|
header?: string
|
|
44
|
+
/**
|
|
45
|
+
* Whether to output logging on the `stdout`. Default: `true`.
|
|
46
|
+
*/
|
|
34
47
|
verbose: boolean
|
|
35
48
|
}
|
|
36
49
|
|
|
@@ -42,6 +55,12 @@ const withDefaults = (options?: Partial<GeneratorOptions>): GeneratorOptions =>
|
|
|
42
55
|
})
|
|
43
56
|
|
|
44
57
|
|
|
58
|
+
/**
|
|
59
|
+
* Generates a file containing the API code for the given {@link Language LionWeb language}.
|
|
60
|
+
* @param language A {@link Language LionWeb language}.
|
|
61
|
+
* @param generationPath The path (relative to the current execution) to generate to/in.
|
|
62
|
+
* @param mayBeOptions Optionally-given {@link GeneratorOptions options}.
|
|
63
|
+
*/
|
|
45
64
|
export const generateLanguage = (language: Language, generationPath: string, mayBeOptions?: Partial<GeneratorOptions>): string => {
|
|
46
65
|
const {name} = language
|
|
47
66
|
const fileName = `${name}.g.ts`
|
|
@@ -56,6 +75,12 @@ const logger = (verbose?: boolean): ((text?: string) => void) =>
|
|
|
56
75
|
: (_) => {}
|
|
57
76
|
|
|
58
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Generates an API (as files) for the {@link Language LionWeb languages} given as a serialization chunk at the given path.
|
|
80
|
+
* @param languagesJsonPath The path (relative to the current execution) to a LionWeb serialization chunk containing {@link Language LionWeb languages}.
|
|
81
|
+
* @param generationPath The path (relative to the current execution) to generate to/in.
|
|
82
|
+
* @param mayBeOptions Optionally-given {@link GeneratorOptions options}.
|
|
83
|
+
*/
|
|
59
84
|
export const generateApiFromLanguagesJson = (languagesJsonPath: string, generationPath: string, mayBeOptions?: Partial<GeneratorOptions>) => {
|
|
60
85
|
const log = logger(mayBeOptions?.verbose)
|
|
61
86
|
log(`Running API generator with cwd: ${cwd()}`)
|
|
@@ -63,11 +88,17 @@ export const generateApiFromLanguagesJson = (languagesJsonPath: string, generati
|
|
|
63
88
|
log(` Generation path: ${generationPath}`)
|
|
64
89
|
|
|
65
90
|
const languagesJson = readFileAsJson(languagesJsonPath) as LionWebJsonChunk
|
|
66
|
-
const languages = deserializeLanguages(languagesJson,
|
|
91
|
+
const languages = deserializeLanguages(languagesJson, LionWebVersions.v2023_1.lioncoreFacade.language)
|
|
67
92
|
generateApiFromLanguages(languages, generationPath, mayBeOptions)
|
|
68
93
|
}
|
|
69
94
|
|
|
70
95
|
|
|
96
|
+
/**
|
|
97
|
+
* Generates an API (as files) for the {@link Language LionWeb languages} given as a serialization chunk at the given path.
|
|
98
|
+
* @param languages A collection of {@link Language LionWeb languages}.
|
|
99
|
+
* @param generationPath The path (relative to the current execution) to generate to/in.
|
|
100
|
+
* @param mayBeOptions Optionally-given {@link GeneratorOptions options}.
|
|
101
|
+
*/
|
|
71
102
|
export const generateApiFromLanguages = (languages: Language[], generationPath: string, maybeOptions?: Partial<GeneratorOptions>) => {
|
|
72
103
|
const log = logger(maybeOptions?.verbose)
|
|
73
104
|
log(` Generated:`)
|
package/src/helpers/features.ts
CHANGED
|
@@ -60,11 +60,23 @@ export const tsTypeForDataType = (dataType: SingleRef<DataType>, imports: Import
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
const isBuiltinNode = (type: SingleRef<LanguageEntity>): boolean => {
|
|
64
|
+
if (isUnresolvedReference(type)) {
|
|
65
|
+
throw new Error(`can’t say whether an unresolved reference is the built-in Node concept`)
|
|
66
|
+
}
|
|
67
|
+
return type instanceof Classifier && isBuiltinNodeConcept(type)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export const tsTypeForClassifier = (classifier: SingleRef<Classifier>, imports: Imports, isReference = false) => {
|
|
64
71
|
if (isUnresolvedReference(classifier)) {
|
|
65
72
|
return `unknown /* [ERROR] can't compute a TS type for an unresolved classifier */`
|
|
66
73
|
}
|
|
67
|
-
|
|
74
|
+
if (isBuiltinNode(classifier)) {
|
|
75
|
+
return isReference
|
|
76
|
+
? imports.core("Node")
|
|
77
|
+
: imports.generic("INodeBase")
|
|
78
|
+
}
|
|
79
|
+
return imports.entity(classifier)
|
|
68
80
|
}
|
|
69
81
|
|
|
70
82
|
|
|
@@ -87,13 +99,12 @@ export const tsFieldTypeForFeature = (feature: Feature, imports: Imports): strin
|
|
|
87
99
|
})()
|
|
88
100
|
return `${typeId}${(optionalityPostfix(feature))}`
|
|
89
101
|
}
|
|
90
|
-
const isBuiltinNode = (type instanceof Classifier && isBuiltinNodeConcept(type))
|
|
91
102
|
if (isContainment(feature)) {
|
|
92
|
-
const typeId = isBuiltinNode ? imports.generic("INodeBase") : imports.entity(type)
|
|
103
|
+
const typeId = isBuiltinNode(type) ? imports.generic("INodeBase") : imports.entity(type)
|
|
93
104
|
return `${typeId}${feature.multiple ? "[]" : optionalityPostfix(feature)}`
|
|
94
105
|
}
|
|
95
106
|
if (isReference(feature)) {
|
|
96
|
-
const typeId = isBuiltinNode ? imports.generic("INodeBase") : imports.entity(type)
|
|
107
|
+
const typeId = isBuiltinNode(type) ? imports.generic("INodeBase") : imports.entity(type)
|
|
97
108
|
return `${imports.core("SingleRef")}<${typeId}>${feature.multiple ? "[]" : optionalityPostfix(feature)}`
|
|
98
109
|
}
|
|
99
110
|
return `unknown /* [ERROR] can't compute a TS type for feature ${feature.name} on classifier ${feature.classifier.name} whose type has an unhandled/-known meta-type ${type.constructor.name} */`
|
|
@@ -115,9 +126,17 @@ export const tsTypeForValueManager = (feature: Feature, imports: Imports): strin
|
|
|
115
126
|
return `unknown /* [ERROR] can't compute a TS type for feature ${feature.name} on classifier ${feature.classifier.name} whose type has an unhandled/-known meta-type ${type.constructor.name} */`
|
|
116
127
|
})()
|
|
117
128
|
}
|
|
118
|
-
if (isContainment(feature) || isReference(feature)) {
|
|
119
|
-
return
|
|
129
|
+
if (!(isContainment(feature) || isReference(feature))) {
|
|
130
|
+
return `unknown /* [ERROR] can't compute a TS type for feature ${feature.name} on classifier ${feature.classifier.name} whose type has an unhandled/-known meta-type ${type.constructor.name} */`
|
|
120
131
|
}
|
|
121
|
-
|
|
132
|
+
if (isBuiltinNode(type)) {
|
|
133
|
+
if (isContainment(feature)) {
|
|
134
|
+
return imports.generic("INodeBase")
|
|
135
|
+
}
|
|
136
|
+
if (isReference(feature)) {
|
|
137
|
+
return imports.core("Node")
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return imports.entity(type)
|
|
122
141
|
}
|
|
123
142
|
|
|
@@ -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
|
|
|
18
|
-
import {
|
|
18
|
+
import { Language, LanguageEntity, LionWebVersions } from "@lionweb/core"
|
|
19
19
|
import { asJSIdentifier } from "@lionweb/textgen-utils"
|
|
20
20
|
|
|
21
21
|
export const importRenamingForLanguage = (language: Language) => asJSIdentifier(language.name)
|
|
@@ -24,7 +24,7 @@ export const nameOfBaseClassForLanguage = (language: Language) =>
|
|
|
24
24
|
asJSIdentifier(language.name) + "Base"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
const lioncoreBuiltins =
|
|
27
|
+
const lioncoreBuiltins = LionWebVersions.v2023_1.builtinsFacade.language
|
|
28
28
|
|
|
29
29
|
const lioncoreBuiltinsIdentifier = nameOfBaseClassForLanguage(lioncoreBuiltins)
|
|
30
30
|
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
17
|
|
|
18
|
-
import {
|
|
18
|
+
import { LionWebVersions, PrimitiveType } from "@lionweb/core"
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
const { primitiveTypes } =
|
|
21
|
+
const { primitiveTypes } = LionWebVersions.v2023_1.builtinsFacade
|
|
22
22
|
|
|
23
23
|
export const tsTypeForPrimitiveType = (primitiveType: PrimitiveType): string => {
|
|
24
24
|
switch (primitiveType.key) {
|
package/src/index.ts
CHANGED
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
17
|
|
|
18
18
|
export { generateLanguage, generateApiFromLanguages, generateApiFromLanguagesJson } from "./generator.js"
|
|
19
|
-
export
|
|
20
|
-
export
|
|
19
|
+
export { defaultTrumpfOriginatingApache2_0LicensedHeader, generatedCodeWarningComments } from "./generation-headers.js"
|
|
20
|
+
export { megaFactoryFor } from "./mega-factory.templates.js"
|
|
@@ -20,6 +20,13 @@ import { Deprecated, ioLionWebMpsSpecificAnnotationsFrom } from "@lionweb/io-lio
|
|
|
20
20
|
import { asJSIdentifier, indent } from "@lionweb/textgen-utils"
|
|
21
21
|
import { asString, commaSeparated } from "littoral-templates"
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* @return The contents of a file implementing a “mega-factory” class for a collection of {@link Language LionWeb languages}.
|
|
25
|
+
* A mega-factory exposes factory methods for all concrete concepts of all the languages.
|
|
26
|
+
* @param megaFactoryName The name for the mega-factory class.
|
|
27
|
+
* @param languages A collection of {@link Language LionWeb languages}.
|
|
28
|
+
* @param header An optional file header for the file (contents).
|
|
29
|
+
*/
|
|
23
30
|
export const megaFactoryFor = (megaFactoryName: string, languages: Language[], header?: string) => {
|
|
24
31
|
const isNotDeprecated = (entity: LanguageEntity) =>
|
|
25
32
|
!ioLionWebMpsSpecificAnnotationsFrom(entity).some((annotation) => annotation instanceof Deprecated)
|