@lionweb/class-core-generator 0.6.13-beta.5 → 0.6.13-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.
Files changed (57) hide show
  1. package/dist/api/entity-types.templates.d.ts +2 -3
  2. package/dist/api/entity-types.templates.d.ts.map +1 -1
  3. package/dist/api/entity-types.templates.js +2 -2
  4. package/dist/api/entity-types.templates.js.map +1 -1
  5. package/dist/api/generation-headers.js.map +1 -1
  6. package/dist/api/generator.d.ts.map +1 -1
  7. package/dist/api/generator.js.map +1 -1
  8. package/dist/api/helpers/classifiers.d.ts.map +1 -1
  9. package/dist/api/helpers/classifiers.js +1 -1
  10. package/dist/api/helpers/classifiers.js.map +1 -1
  11. package/dist/api/helpers/dependencies.d.ts.map +1 -1
  12. package/dist/api/helpers/dependencies.js +2 -2
  13. package/dist/api/helpers/dependencies.js.map +1 -1
  14. package/dist/api/helpers/entities.d.ts.map +1 -1
  15. package/dist/api/helpers/entities.js.map +1 -1
  16. package/dist/api/helpers/features.d.ts.map +1 -1
  17. package/dist/api/helpers/features.js.map +1 -1
  18. package/dist/api/helpers/imports-tracking.d.ts +0 -3
  19. package/dist/api/helpers/imports-tracking.d.ts.map +1 -1
  20. package/dist/api/helpers/imports-tracking.js +0 -8
  21. package/dist/api/helpers/imports-tracking.js.map +1 -1
  22. package/dist/api/helpers/mps-annotations.d.ts +6 -6
  23. package/dist/api/helpers/mps-annotations.d.ts.map +1 -1
  24. package/dist/api/helpers/mps-annotations.js.map +1 -1
  25. package/dist/api/helpers/types.d.ts.map +1 -1
  26. package/dist/api/helpers/types.js +4 -8
  27. package/dist/api/helpers/types.js.map +1 -1
  28. package/dist/api/index-ts.d.ts.map +1 -1
  29. package/dist/api/index-ts.js +5 -4
  30. package/dist/api/index-ts.js.map +1 -1
  31. package/dist/api/language-file.templates.d.ts.map +1 -1
  32. package/dist/api/language-file.templates.js +10 -7
  33. package/dist/api/language-file.templates.js.map +1 -1
  34. package/dist/api/mega-factory.templates.d.ts.map +1 -1
  35. package/dist/api/mega-factory.templates.js +7 -4
  36. package/dist/api/mega-factory.templates.js.map +1 -1
  37. package/dist/api/reflective-layer.templates.d.ts.map +1 -1
  38. package/dist/api/reflective-layer.templates.js +34 -19
  39. package/dist/api/reflective-layer.templates.js.map +1 -1
  40. package/dist/utils/textgen.d.ts.map +1 -1
  41. package/dist/utils/textgen.js.map +1 -1
  42. package/package.json +3 -5
  43. package/src/api/entity-types.templates.ts +7 -6
  44. package/src/api/generation-headers.ts +1 -1
  45. package/src/api/generator.ts +10 -10
  46. package/src/api/helpers/classifiers.ts +15 -3
  47. package/src/api/helpers/dependencies.ts +4 -4
  48. package/src/api/helpers/entities.ts +8 -2
  49. package/src/api/helpers/features.ts +2 -1
  50. package/src/api/helpers/imports-tracking.ts +5 -12
  51. package/src/api/helpers/mps-annotations.ts +8 -6
  52. package/src/api/helpers/types.ts +6 -9
  53. package/src/api/index-ts.ts +16 -26
  54. package/src/api/language-file.templates.ts +16 -12
  55. package/src/api/mega-factory.templates.ts +26 -20
  56. package/src/api/reflective-layer.templates.ts +69 -46
  57. package/src/utils/textgen.ts +1 -1
@@ -14,8 +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 { Annotation, Classifier, Concept, Enumeration, featureMetaType, Interface, isConcrete, isEnumeration, isMultiple, Link, nameOf, PrimitiveType, Property } from "@lionweb/core";
18
- import { asArray } from "@lionweb/ts-utils";
17
+ import { Annotation, asArray, Classifier, Concept, Enumeration, featureMetaType, Interface, isConcrete, isEnumeration, isMultiple, Link, nameOf, PrimitiveType, Property } from "@lionweb/core";
19
18
  import { when, withNewlineAppended } from "littoral-templates";
20
19
  import { indent, switchOrIf } from "../utils/textgen.js";
21
20
  import { entityMetaType, extendsFrom, nameOfBaseClassForLanguage } from "./helpers/index.js";
@@ -29,7 +28,10 @@ export const reflectiveClassFor = (imports) => {
29
28
  `private readonly _${qName} = new ${imports.core(metaType)}(this._${classifier.name}, "${name}", "${key}", "${id}")${optional ? ".isOptional()" : ""}${isMultiple(feature) ? ".isMultiple()" : ""};`,
30
29
  // | core (2nd x) |
31
30
  `get ${qName}(): ${metaType} {`,
32
- indent([`this.ensureWiredUp();`, `return this._${qName};`]),
31
+ indent([
32
+ `this.ensureWiredUp();`,
33
+ `return this._${qName};`
34
+ ]),
33
35
  `}`
34
36
  ];
35
37
  };
@@ -37,10 +39,13 @@ export const reflectiveClassFor = (imports) => {
37
39
  const { name, key, id, features } = classifier;
38
40
  const metaType = entityMetaType(classifier);
39
41
  return [
40
- `public readonly _${name} = new ${imports.core(metaType)}(this._language, "${name}", "${key}", "${id}"${classifier instanceof Concept ? ", " + classifier.abstract : ""});`,
42
+ `public readonly _${name} = new ${imports.core(metaType)}(this._language, "${name}", "${key}", "${id}"${classifier instanceof Concept ? (", " + classifier.abstract) : ""});`,
41
43
  // | core (2nd x) |
42
44
  `get ${name}(): ${metaType} {`,
43
- indent([`this.ensureWiredUp();`, `return this._${name};`]),
45
+ indent([
46
+ `this.ensureWiredUp();`,
47
+ `return this._${name};`
48
+ ]),
44
49
  `}`,
45
50
  features.map(reflectiveMembersForFeature)
46
51
  ];
@@ -52,7 +57,10 @@ export const reflectiveClassFor = (imports) => {
52
57
  `private readonly _${qName} = new ${imports.core("EnumerationLiteral")}(this._${enumeration.name}, "${name}", "${key}", "${id}");`,
53
58
  // | core (2nd x) |
54
59
  `get ${qName}(): EnumerationLiteral {`,
55
- indent([`this.ensureWiredUp();`, `return this._${qName};`]),
60
+ indent([
61
+ `this.ensureWiredUp();`,
62
+ `return this._${qName};`
63
+ ]),
56
64
  `}`
57
65
  ];
58
66
  };
@@ -60,7 +68,10 @@ export const reflectiveClassFor = (imports) => {
60
68
  `public readonly _${name} = new ${imports.core("Enumeration")}(this._language, "${name}", "${key}", "${id}");`,
61
69
  // | core (2nd x) |
62
70
  `get ${name}(): Enumeration {`,
63
- indent([`this.ensureWiredUp();`, `return this._${name};`]),
71
+ indent([
72
+ `this.ensureWiredUp();`,
73
+ `return this._${name};`
74
+ ]),
64
75
  `}`,
65
76
  literals.map(reflectiveMemberForEnumerationLiteral)
66
77
  ];
@@ -68,7 +79,10 @@ export const reflectiveClassFor = (imports) => {
68
79
  `public readonly _${name} = new ${imports.core("PrimitiveType")}(this._language, "${name}", "${key}", "${id}");`,
69
80
  // | core (2nd x) |
70
81
  `get ${name}(): PrimitiveType {`,
71
- indent([`this.ensureWiredUp();`, `return this._${name};`]),
82
+ indent([
83
+ `this.ensureWiredUp();`,
84
+ `return this._${name};`
85
+ ]),
72
86
  `}`
73
87
  ];
74
88
  const reflectiveMembersForEntity = (entity) => {
@@ -116,11 +130,11 @@ export const reflectiveClassFor = (imports) => {
116
130
  if (entity instanceof Classifier) {
117
131
  const extends_ = extendsFrom(entity);
118
132
  return [
119
- extends_ instanceof Classifier ? `this._${name}.extends = ${refForType(extends_)};` : [],
120
- when(entity instanceof Interface && entity.extends.length > 0)(() => `this._${name}.extending(${entity.extends.map(interface_ => refForType(interface_)).join(", ")});`),
121
- when(isConcreteClassifier(entity) && entity.implements.length > 0)(() => `this._${name}.implementing(${asArray(entity.implements)
122
- .map(interface_ => refForType(interface_))
123
- .join(", ")});`),
133
+ extends_ instanceof Classifier
134
+ ? `this._${name}.extends = ${refForType(extends_)};`
135
+ : [],
136
+ when(entity instanceof Interface && entity.extends.length > 0)(() => `this._${name}.extending(${entity.extends.map((interface_) => refForType(interface_)).join(", ")});`),
137
+ when(isConcreteClassifier(entity) && entity.implements.length > 0)(() => `this._${name}.implementing(${asArray(entity.implements).map((interface_) => refForType(interface_)).join(", ")});`),
124
138
  when(entity.features.length > 0)(`this._${name}.havingFeatures(${entity.features.map(nameOf).map(thisLocalName).join(", ")});`),
125
139
  entity.features.map(wireUpStatementsForFeature)
126
140
  ];
@@ -147,7 +161,10 @@ export const reflectiveClassFor = (imports) => {
147
161
  `private readonly _language: ${imports.core("Language")} = new Language("${imports.thisLanguageNameAsJsIdentifier}", "${version}", "${id}", "${key}");`,
148
162
  // | core | (3rd x)
149
163
  `get language(): Language {`,
150
- indent([`this.ensureWiredUp();`, `return this._language;`]),
164
+ indent([
165
+ `this.ensureWiredUp();`,
166
+ `return this._language;`
167
+ ]),
151
168
  `}`,
152
169
  ``,
153
170
  entities.map(withNewlineAppended(reflectiveMembersForEntity)),
@@ -165,10 +182,8 @@ export const reflectiveClassFor = (imports) => {
165
182
  ``,
166
183
  `factory(${parameterPrefix}handleDelta?: ${imports.generic("DeltaHandler")}): ${imports.generic("NodeBaseFactory")} {`,
167
184
  indent([
168
- `return (classifier: ${imports.core("Classifier")}, ${parameterPrefix}id: ${imports.json("LionWebId")}) => {`,
169
- indent(switchOrIf("classifier.key", concreteClassifiers
170
- .map(nameOf)
171
- .map(name => [`this._${name}.key`, `${name}.create(id, ${parameterPrefix}handleDelta)`]), [
185
+ `return (classifier: ${imports.core("Classifier")}, ${parameterPrefix}id: ${imports.core("Id")}) => {`,
186
+ indent(switchOrIf("classifier.key", concreteClassifiers.map(nameOf).map((name) => [`this._${name}.key`, `${name}.create(id, ${parameterPrefix}handleDelta)`]), [
172
187
  `const {language} = classifier;`,
173
188
  `throw new Error(\`can't instantiate \${classifier.name} (key=\${classifier.key}): classifier is not known in language \${language.name} (key=\${language.key}, version=\${language.version})\`);`
174
189
  ])),
@@ -180,7 +195,7 @@ export const reflectiveClassFor = (imports) => {
180
195
  // (Why can this work?! EnumType is an unsatisfied generic parameter!)
181
196
  indent([
182
197
  `const {enumeration} = enumerationLiteral;`,
183
- switchOrIf("enumeration.key", enumerations.map(nameOf).map(name => [`this._${name}.key`, "enumerationLiteral.key as EnumType"]), [
198
+ switchOrIf("enumeration.key", enumerations.map(nameOf).map((name) => [`this._${name}.key`, "enumerationLiteral.key as EnumType"]), [
184
199
  `const {language} = enumeration;`,
185
200
  `throw new Error(\`enumeration with key \${enumeration.key} is not known in language \${language.name} (key=\${language.key}, version=\${language.version})\`);`
186
201
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"reflective-layer.templates.js","sourceRoot":"","sources":["../../src/api/reflective-layer.templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflective-layer.templates.js","sourceRoot":"","sources":["../../src/api/reflective-layer.templates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"textgen.d.ts","sourceRoot":"","sources":["../../src/utils/textgen.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAwB,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGnE;;GAEG;AACH,eAAO,MAAM,MAAM,2BAAwB,CAAA;AAY3C;;GAEG;AACH,eAAO,MAAM,cAAc,QAXjB,MAAM,WAWsD,CAAA;AAEtE;;GAEG;AACH,eAAO,MAAM,cAAc,QAhBjB,MAAM,WAgBsD,CAAA;AAGtE;;GAEG;AACH,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAGhB,CAAA;AAG7B,eAAO,MAAM,QAAQ,cAAe,OAAO,QAAQ,MAAM,MAAM,SAAS,MAAM,YACnE,MAAM,WAGC,CAAA;AAGlB,MAAM,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;AAErE,eAAO,MAAM,UAAU,eAAgB,MAAM,SAAS,SAAS,EAAE,gBAAgB,QAAQ,eAiBhF,CAAA"}
1
+ {"version":3,"file":"textgen.d.ts","sourceRoot":"","sources":["../../src/utils/textgen.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAuB,QAAQ,EAAC,MAAM,oBAAoB,CAAA;AAGjE;;GAEG;AACH,eAAO,MAAM,MAAM,2BAAwB,CAAA;AAY3C;;GAEG;AACH,eAAO,MAAM,cAAc,QAXjB,MAAM,WAWsD,CAAA;AAEtE;;GAEG;AACH,eAAO,MAAM,cAAc,QAhBjB,MAAM,WAgBsD,CAAA;AAGtE;;GAEG;AACH,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAGhB,CAAA;AAG7B,eAAO,MAAM,QAAQ,cAAe,OAAO,QAAQ,MAAM,MAAM,SAAS,MAAM,YACnE,MAAM,WAGC,CAAA;AAGlB,MAAM,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;AAErE,eAAO,MAAM,UAAU,eAAgB,MAAM,SAAS,SAAS,EAAE,gBAAgB,QAAQ,eAiBhF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"textgen.js","sourceRoot":"","sources":["../../src/utils/textgen.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;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAY,MAAM,oBAAoB,CAAA;AAGnE;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAG3C,MAAM,cAAc,GAAG,CAAC,QAAgC,EAAE,EAAE,CACxD,CAAC,GAAW,EAAE,EAAE;IACZ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,CAAA;IACd,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;UACxB,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAClD,CAAC,CAAA;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AAGtE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE,CAClD,GAAG;KACE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;KACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAG7B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAkB,EAAE,IAAkB,EAAE,KAAa,EAAE,EAAE,CAC9E,CAAC,IAAY,EAAE,EAAE,CACb,SAAS;IACL,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE;IAC5B,CAAC,CAAC,IAAI,CAAA;AAKlB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,KAAkB,EAAE,YAAsB,EAAE,EAAE,CACzF,KAAK,CAAC,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC;QACE,WAAW,UAAU,KAAK;QAC1B,MAAM,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,QAAQ,cAAc,YAAY,WAAW,GAAG,CAAC;YAC9F,YAAY,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;SAC7G,CAAC;QACF,GAAG;KACN;IACD,CAAC,CAAC;QACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;YACzC,OAAO,UAAU,QAAQ,cAAc,KAAK;YAC5C,MAAM,CAAC,UAAU,WAAW,GAAG,CAAC;YAChC,GAAG;SACN,CAAC;QACF,YAAY;KACf,CAAA"}
1
+ {"version":3,"file":"textgen.js","sourceRoot":"","sources":["../../src/utils/textgen.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;;;GAGG;AAGH,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAW,MAAM,oBAAoB,CAAA;AAGjE;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAG3C,MAAM,cAAc,GAAG,CAAC,QAAgC,EAAE,EAAE,CACxD,CAAC,GAAW,EAAE,EAAE;IACZ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,CAAA;IACd,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;UACxB,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAClD,CAAC,CAAA;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AAGtE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE,CAClD,GAAG;KACE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;KACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAG7B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAkB,EAAE,IAAkB,EAAE,KAAa,EAAE,EAAE,CAC9E,CAAC,IAAY,EAAE,EAAE,CACb,SAAS;IACL,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE;IAC5B,CAAC,CAAC,IAAI,CAAA;AAKlB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,KAAkB,EAAE,YAAsB,EAAE,EAAE,CACzF,KAAK,CAAC,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC;QACE,WAAW,UAAU,KAAK;QAC1B,MAAM,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,QAAQ,cAAc,YAAY,WAAW,GAAG,CAAC;YAC9F,YAAY,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;SAC7G,CAAC;QACF,GAAG;KACN;IACD,CAAC,CAAC;QACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;YACzC,OAAO,UAAU,QAAQ,cAAc,KAAK;YAC5C,MAAM,CAAC,UAAU,WAAW,GAAG,CAAC;YAChC,GAAG;SACN,CAAC;QACF,YAAY;KACf,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/class-core-generator",
3
- "version": "0.6.13-beta.5",
3
+ "version": "0.6.13-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",
@@ -25,10 +25,8 @@
25
25
  "release-beta": "npm publish --tag beta"
26
26
  },
27
27
  "devDependencies": {
28
- "@lionweb/core": "0.6.13-beta.5",
29
- "@lionweb/json": "0.6.13-beta.5",
30
- "@lionweb/ts-utils": "0.6.13-beta.5",
31
- "@lionweb/utilities": "0.6.13-beta.5",
28
+ "@lionweb/core": "0.6.13-beta.7",
29
+ "@lionweb/utilities": "0.6.13-beta.7",
32
30
  "@types/node": "20.17.30",
33
31
  "littoral-templates": "0.3.0",
34
32
  "typescript": "5.3.3"
@@ -21,6 +21,7 @@ import {
21
21
  Enumeration,
22
22
  Feature,
23
23
  featureMetaType,
24
+ Id,
24
25
  Interface,
25
26
  isContainment,
26
27
  isProperty,
@@ -33,10 +34,9 @@ import {
33
34
  Reference,
34
35
  SingleRef
35
36
  } from "@lionweb/core"
36
- import { LionWebId } from "@lionweb/json"
37
- import { commaSeparated, when, withNewlineAppended } from "littoral-templates"
37
+ import {commaSeparated, when, withNewlineAppended} from "littoral-templates"
38
38
 
39
- import { indent, switchOrIf, withFirstUpper, wrapInIf } from "../utils/textgen.js"
39
+ import {indent, switchOrIf, withFirstUpper, wrapInIf} from "../utils/textgen.js"
40
40
  import {
41
41
  ConceptDescription,
42
42
  Deprecated,
@@ -55,6 +55,7 @@ import {
55
55
  tsTypeForValueManager
56
56
  } from "./helpers/index.js"
57
57
 
58
+
58
59
  const cardinalityPrefix = (feature: Feature) => {
59
60
  if (feature instanceof Property) {
60
61
  return feature.optional ? "Optional" : "Required"
@@ -67,7 +68,7 @@ const cardinalityPrefix = (feature: Feature) => {
67
68
  const valueManagerFor = (feature: Feature) =>
68
69
  `${cardinalityPrefix(feature)}${featureMetaType(feature)}ValueManager`
69
70
 
70
- export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Record<LionWebId, MpsAnnotation[]>) => {
71
+ export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Record<Id, MpsAnnotation[]>) => {
71
72
 
72
73
  const sortedSuperTypesCond = <T extends Classifier>(ts: T[], prefix: string): string =>
73
74
  ts.length === 0 ? `` : `${prefix}${nameSorted(ts).map((t) => imports.entity(t)).join(", ")}`
@@ -162,7 +163,7 @@ export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Rec
162
163
  when(!isAbstract(classifier))(
163
164
  () =>
164
165
  [
165
- `static create(id: ${imports.json("LionWebId")}, handleDelta?: ${imports.generic("DeltaHandler")}, parentInfo?: ${imports.generic("Parentage")}): ${classifier.name} {`,
166
+ `static create(id: Id, handleDelta?: ${imports.generic("DeltaHandler")}, parentInfo?: ${imports.generic("Parentage")}): ${classifier.name} {`,
166
167
  indent([
167
168
  `return new ${classifier.name}(${imports.language(classifier.language)}.INSTANCE.${classifier.name}, id, handleDelta, parentInfo);`
168
169
  ]),
@@ -174,7 +175,7 @@ export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Rec
174
175
  [
175
176
  ``,
176
177
  features.map(withNewlineAppended(classMembersForFeature)),
177
- `public constructor(classifier: ${imports.core("Classifier")}, id: ${imports.json("LionWebId")}, handleDelta?: ${imports.generic("DeltaHandler")}, parentInfo?: ${imports.generic("Parentage")}) {`,
178
+ `public constructor(classifier: ${imports.core("Classifier")}, id: ${imports.core("Id")}, handleDelta?: ${imports.generic("DeltaHandler")}, parentInfo?: ${imports.generic("Parentage")}) {`,
178
179
  indent([
179
180
  `super(classifier, id, handleDelta, parentInfo);`,
180
181
  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);`)
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SPDX-License-Identifier: LicenseRef-TRUMPF
4
4
 
5
- import { asString } from "littoral-templates"
5
+ import {asString} from "littoral-templates"
6
6
 
7
7
  /**
8
8
  * @return the given string, reversed — "abc" -> "cba"
@@ -15,16 +15,16 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
- import { deserializeLanguages, Language, lioncore } from "@lionweb/core"
19
- import { LionWebJsonChunk } from "@lionweb/json"
20
- import { readFileAsJson } from "@lionweb/utilities"
21
- import { writeFileSync } from "fs"
22
- import { join } from "path"
23
- import { cwd } from "process"
24
- import { MpsAnnotation } from "./helpers/index.js"
18
+ import {deserializeLanguages, Language, lioncore, SerializationChunk} from "@lionweb/core"
19
+ import {readFileAsJson} from "@lionweb/utilities"
20
+ import {writeFileSync} from "fs"
21
+ import {join} from "path"
22
+ import {cwd} from "process"
23
+
24
+ import {indexTsFor} from "./index-ts.js"
25
+ import {languageFileFor} from "./language-file.templates.js"
26
+ import {MpsAnnotation} from "./helpers/index.js"
25
27
 
26
- import { indexTsFor } from "./index-ts.js"
27
- import { languageFileFor } from "./language-file.templates.js"
28
28
 
29
29
  const properGenericImportLocation = "@lionweb/class-core"
30
30
 
@@ -56,7 +56,7 @@ export const generateApiFromLanguagesJson = (languagesJsonPath: string, generati
56
56
  console.log(` Path to languages: ${languagesJsonPath}`)
57
57
  console.log(` Generation path: ${generationPath}`)
58
58
 
59
- const languagesJson = readFileAsJson(languagesJsonPath) as LionWebJsonChunk
59
+ const languagesJson = readFileAsJson(languagesJsonPath) as SerializationChunk
60
60
  const languages = deserializeLanguages(languagesJson, lioncore)
61
61
  generateApiFromLanguages(languages, generationPath, options)
62
62
  }
@@ -15,10 +15,22 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
- import { allFeaturesOf, allSuperTypesOf, Annotation, Classifier, Concept, Feature, Interface, MultiRef, SingleRef } from "@lionweb/core"
19
- import { uniquesAmong } from "@lionweb/ts-utils"
18
+ import {
19
+ allFeaturesOf,
20
+ allSuperTypesOf,
21
+ Annotation,
22
+ Classifier,
23
+ Concept,
24
+ Feature,
25
+ Interface,
26
+ MultiRef,
27
+ SingleRef
28
+ } from "@lionweb/core"
29
+ import {uniquesAmong} from "@lionweb/utilities/dist/utils/array.js"
20
30
 
21
- export const isAbstract = (classifier: Classifier): boolean => classifier instanceof Concept && classifier.abstract
31
+
32
+ export const isAbstract = (classifier: Classifier): boolean =>
33
+ classifier instanceof Concept && classifier.abstract
22
34
  /*
23
35
  * The logical inverse is: classifier instanceof Annotation || (classifier instanceof Concept && !classifier.abstract)
24
36
  */
@@ -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 { Classifier, inheritsFrom, Language, nameOf, nameSorted } from "@lionweb/core"
19
- import { cycleWith, uniquesAmong } from "@lionweb/ts-utils"
20
- import { asString, when } from "littoral-templates"
21
- import { indent } from "../../utils/index.js"
18
+ import {Classifier, cycleWith, inheritsFrom, Language, nameOf, nameSorted} from "@lionweb/core"
19
+ import {uniquesAmong} from "@lionweb/utilities/dist/utils/array.js"
20
+ import {asString, when} from "littoral-templates"
21
+ import {indent} from "../../utils/index.js"
22
22
 
23
23
 
24
24
  /**
@@ -15,9 +15,15 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
- import { Annotation, Concept, Interface, LanguageEntity, PrimitiveType } from "@lionweb/core"
18
+ import {Annotation, Concept, Interface, LanguageEntity, PrimitiveType} from "@lionweb/core"
19
19
 
20
- type EntityMetaType = "Annotation" | "Concept" | "Enumeration" | "Interface" | "PrimitiveType"
20
+
21
+ type EntityMetaType =
22
+ | "Annotation"
23
+ | "Concept"
24
+ | "Enumeration"
25
+ | "Interface"
26
+ | "PrimitiveType"
21
27
 
22
28
  export const entityMetaType = (entity: LanguageEntity): EntityMetaType => {
23
29
  if (entity instanceof Annotation) {
@@ -30,7 +30,8 @@ import {
30
30
  Property,
31
31
  SingleRef
32
32
  } from "@lionweb/core"
33
- import { Imports, tsTypeForPrimitiveType } from "./index.js"
33
+ import {Imports, tsTypeForPrimitiveType} from "./index.js"
34
+
34
35
 
35
36
  export const typeOf = (feature: Feature): SingleRef<LanguageEntity> => {
36
37
  if (feature instanceof Property) {
@@ -15,10 +15,12 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
- import { Language, LanguageEntity, lioncoreBuiltins } from "@lionweb/core"
19
- import { asJSIdentifier } from "../../utils/textgen.js"
18
+ import {Language, LanguageEntity, lioncoreBuiltins} from "@lionweb/core"
19
+ import {asJSIdentifier} from "../../utils/textgen.js"
20
20
 
21
- export const importRenamingForLanguage = (language: Language) => asJSIdentifier(language.name)
21
+
22
+ export const importRenamingForLanguage = (language: Language) =>
23
+ asJSIdentifier(language.name)
22
24
 
23
25
  export const nameOfBaseClassForLanguage = (language: Language) =>
24
26
  asJSIdentifier(language.name) + "Base"
@@ -40,15 +42,6 @@ export class Imports {
40
42
  return this.thisLanguageNameAsJsIdentifier + "Base"
41
43
  }
42
44
 
43
- private readonly _jsonImports = new Set<string>()
44
- get jsonImports() {
45
- return [...this._jsonImports]
46
- }
47
- json(identifier: string) {
48
- this._jsonImports.add(identifier)
49
- return identifier
50
- }
51
-
52
45
  private readonly _coreImports = new Set<string>()
53
46
  get coreImports() {
54
47
  return [...this._coreImports]
@@ -15,14 +15,16 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
- import { LionWebId, LionWebJsonChunk, LionWebKey } from "@lionweb/json"
18
+ import {Id, SerializationChunk} from "@lionweb/core"
19
+
19
20
 
20
21
  export abstract class MpsAnnotation {
21
- constructor(public readonly annotatedNodeId: LionWebId) {}
22
+ constructor(public readonly annotatedNodeId: Id) {
23
+ }
22
24
  }
23
25
 
24
26
  export class ConceptDescription extends MpsAnnotation {
25
- constructor(annotatedNodeId: LionWebId, public readonly shortDescription: string | null, public readonly alias: string | null) {
27
+ constructor(annotatedNodeId: Id, public readonly shortDescription: string | null, public readonly alias: string | null) {
26
28
  super(annotatedNodeId)
27
29
  }
28
30
  toString() {
@@ -31,7 +33,7 @@ export class ConceptDescription extends MpsAnnotation {
31
33
  }
32
34
 
33
35
  export class Deprecated extends MpsAnnotation {
34
- constructor(annotatedNodeId: LionWebId, public readonly comment: string | null, public readonly build: string | null) {
36
+ constructor(annotatedNodeId: Id, public readonly comment: string | null, public readonly build: string | null) {
35
37
  super(annotatedNodeId)
36
38
  }
37
39
  toString() {
@@ -40,9 +42,9 @@ export class Deprecated extends MpsAnnotation {
40
42
  }
41
43
 
42
44
 
43
- export const extractedMpsAnnotations = ({nodes}: LionWebJsonChunk): MpsAnnotation[] =>
45
+ export const extractedMpsAnnotations = ({nodes}: SerializationChunk): MpsAnnotation[] =>
44
46
  nodes.flatMap<MpsAnnotation>(({classifier, properties, parent}) => {
45
- const propertyValue = (key: LionWebKey): string | null => {
47
+ const propertyValue = (key: string): string | null => {
46
48
  const property = properties.find(({property}) => property.key === key)
47
49
  return property === undefined
48
50
  ? null
@@ -15,18 +15,15 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
- import { builtinPrimitives, PrimitiveType } from "@lionweb/core"
18
+ import {builtinPrimitives, PrimitiveType} from "@lionweb/core"
19
+
19
20
 
20
21
  export const tsTypeForPrimitiveType = (primitiveType: PrimitiveType): string => {
21
22
  switch (primitiveType) {
22
- case builtinPrimitives.booleanDatatype:
23
- return `boolean`
24
- case builtinPrimitives.stringDatatype:
25
- return `string`
26
- case builtinPrimitives.integerDatatype:
27
- return `number`
28
- case builtinPrimitives.jsonDatatype:
29
- return `unknown`
23
+ case builtinPrimitives.booleanDatatype: return `boolean`
24
+ case builtinPrimitives.stringDatatype: return `string`
25
+ case builtinPrimitives.integerDatatype: return `number`
26
+ case builtinPrimitives.jsonDatatype: return `unknown`
30
27
  default:
31
28
  return `string`
32
29
  }
@@ -15,49 +15,39 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
- import { Language } from "@lionweb/core"
19
- import { asString, commaSeparated } from "littoral-templates"
18
+ import {Language} from "@lionweb/core"
19
+ import {asString, commaSeparated} from "littoral-templates"
20
+
21
+ import {indent} from "../utils/textgen.js"
22
+ import {dependencyOrderOf} from "../utils/toposort.js"
23
+ import {dependenciesThroughDirectInheritanceOf, importRenamingForLanguage, nameOfBaseClassForLanguage} from "./helpers/index.js"
24
+ import {GeneratorOptions} from "./generator.js"
20
25
 
21
- import { indent } from "../utils/textgen.js"
22
- import { dependencyOrderOf } from "../utils/toposort.js"
23
- import { GeneratorOptions } from "./generator.js"
24
- import { dependenciesThroughDirectInheritanceOf, importRenamingForLanguage, nameOfBaseClassForLanguage } from "./helpers/index.js"
25
26
 
26
27
  export const indexTsFor = (languages: Language[], options: GeneratorOptions) => {
27
28
  const dependenciesInOrderOfDirectInheritance = dependencyOrderOf(languages, dependenciesThroughDirectInheritanceOf)
28
29
  if (dependenciesInOrderOfDirectInheritance === false) {
29
- console.error(
30
- `⚠ CYCLE detected! Proceeding with order of languages as-is, instead of in type-wise (through direct inheritance) dependency order ⇒ generated code might not initialize!`
31
- )
30
+ console.error(`⚠ CYCLE detected! Proceeding with order of languages as-is, instead of in type-wise (through direct inheritance) dependency order ⇒ generated code might not initialize!`)
32
31
  }
33
- const languagesForImports =
34
- dependenciesInOrderOfDirectInheritance === false
35
- ? languages
36
- : dependenciesInOrderOfDirectInheritance.filter(language => languages.indexOf(language) > -1)
32
+ const languagesForImports = dependenciesInOrderOfDirectInheritance === false
33
+ ? languages
34
+ : dependenciesInOrderOfDirectInheritance
35
+ .filter((language) => languages.indexOf(language) > -1)
37
36
 
38
37
  return asString([
39
38
  options.header === undefined ? [] : [options.header, ``],
40
39
  `import {ILanguageBase, LionCore_builtinsBase} from "${options.genericImportLocation}";`,
41
40
  ``,
42
- languagesForImports.map(language => `import * as ${importRenamingForLanguage(language)} from "./${language.name}.g.js";`),
41
+ languagesForImports.map((language) => `import * as ${importRenamingForLanguage(language)} from "./${language.name}.g.js";`),
43
42
  ``,
44
43
  `// ensure that all languages get wired up by triggering that through their first entity:`,
45
44
  `LionCore_builtinsBase.INSTANCE.String;`,
46
45
  languages
47
- .filter(({ entities }) => entities.length > 0)
48
- .map(
49
- language =>
50
- `${importRenamingForLanguage(language)}.${nameOfBaseClassForLanguage(language)}.INSTANCE.${language.entities[0].name};`
51
- ),
46
+ .filter(({entities}) => entities.length > 0)
47
+ .map((language) => `${importRenamingForLanguage(language)}.${nameOfBaseClassForLanguage(language)}.INSTANCE.${language.entities[0].name};`),
52
48
  ``,
53
49
  `export const allLanguageBases: ILanguageBase[] = [`,
54
- indent(
55
- commaSeparated(
56
- languagesForImports.map(
57
- language => `${importRenamingForLanguage(language)}.${nameOfBaseClassForLanguage(language)}.INSTANCE`
58
- )
59
- )
60
- ),
50
+ indent(commaSeparated(languagesForImports.map((language) => `${importRenamingForLanguage(language)}.${nameOfBaseClassForLanguage(language)}.INSTANCE`))),
61
51
  `];`,
62
52
  ``,
63
53
  `export {`,
@@ -15,20 +15,25 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
- import { Concept, Language } from "@lionweb/core"
19
- import { groupBy } from "@lionweb/ts-utils"
20
- import { asString, commaSeparated, when, withNewlineAppended } from "littoral-templates"
21
- import { sortedStringsByUppercase } from "../utils/string-sorting.js"
22
- import { indent } from "../utils/textgen.js"
23
- import { dependencyOrderOf } from "../utils/toposort.js"
18
+ import {Concept, groupBy, Language} from "@lionweb/core"
19
+ import {asString, commaSeparated, when, withNewlineAppended} from "littoral-templates"
20
+
21
+ import {typeForLanguageEntity} from "./entity-types.templates.js"
22
+ import {reflectiveClassFor} from "./reflective-layer.templates.js"
23
+ import {indent} from "../utils/textgen.js"
24
+ import {sortedStringsByUppercase} from "../utils/string-sorting.js"
25
+ import {dependencyOrderOf} from "../utils/toposort.js"
26
+ import {Imports} from "./helpers/index.js"
27
+ import {GeneratorOptions} from "./generator.js"
24
28
 
25
- import { typeForLanguageEntity } from "./entity-types.templates.js"
26
- import { GeneratorOptions } from "./generator.js"
27
- import { Imports } from "./helpers/index.js"
28
- import { reflectiveClassFor } from "./reflective-layer.templates.js"
29
29
 
30
30
  const importStatement = (dep: string, items: string[]) =>
31
- when(items.length > 0)([`import {`, indent(commaSeparated(sortedStringsByUppercase(items))), `} from "${dep}";`, ``])
31
+ when(items.length > 0)([
32
+ `import {`,
33
+ indent(commaSeparated(sortedStringsByUppercase(items))),
34
+ `} from "${dep}";`,
35
+ ``
36
+ ])
32
37
 
33
38
 
34
39
  export const languageFileFor = (language: Language, options: GeneratorOptions) => {
@@ -66,7 +71,6 @@ export const languageFileFor = (language: Language, options: GeneratorOptions) =
66
71
  ``,
67
72
  ``,
68
73
  importStatement(`@lionweb/core`, imports.coreImports),
69
- importStatement(`@lionweb/json`, imports.jsonImports),
70
74
  importStatement(options.genericImportLocation, imports.genericImports),
71
75
  importStatement(`./index.g.js`, imports.languageImports),
72
76
  postImportsPart