@lionweb/class-core-generator 0.6.13-beta.7 → 0.7.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/api/entity-types.templates.d.ts +3 -3
  3. package/dist/api/entity-types.templates.d.ts.map +1 -1
  4. package/dist/api/entity-types.templates.js +10 -9
  5. package/dist/api/entity-types.templates.js.map +1 -1
  6. package/dist/api/generation-headers.js.map +1 -1
  7. package/dist/api/generator.d.ts +0 -2
  8. package/dist/api/generator.d.ts.map +1 -1
  9. package/dist/api/generator.js +0 -1
  10. package/dist/api/generator.js.map +1 -1
  11. package/dist/api/helpers/classifiers.d.ts.map +1 -1
  12. package/dist/api/helpers/classifiers.js +1 -1
  13. package/dist/api/helpers/classifiers.js.map +1 -1
  14. package/dist/api/helpers/dependencies.d.ts.map +1 -1
  15. package/dist/api/helpers/dependencies.js +2 -2
  16. package/dist/api/helpers/dependencies.js.map +1 -1
  17. package/dist/api/helpers/entities.d.ts.map +1 -1
  18. package/dist/api/helpers/entities.js.map +1 -1
  19. package/dist/api/helpers/features.d.ts.map +1 -1
  20. package/dist/api/helpers/features.js +3 -3
  21. package/dist/api/helpers/features.js.map +1 -1
  22. package/dist/api/helpers/imports-tracking.d.ts +3 -0
  23. package/dist/api/helpers/imports-tracking.d.ts.map +1 -1
  24. package/dist/api/helpers/imports-tracking.js +8 -0
  25. package/dist/api/helpers/imports-tracking.js.map +1 -1
  26. package/dist/api/helpers/index.d.ts +1 -2
  27. package/dist/api/helpers/index.d.ts.map +1 -1
  28. package/dist/api/helpers/index.js +1 -2
  29. package/dist/api/helpers/index.js.map +1 -1
  30. package/dist/api/helpers/{types.d.ts → primitive-types.d.ts} +1 -1
  31. package/dist/api/helpers/primitive-types.d.ts.map +1 -0
  32. package/dist/api/helpers/{types.js → primitive-types.js} +9 -5
  33. package/dist/api/helpers/primitive-types.js.map +1 -0
  34. package/dist/api/index-ts.d.ts.map +1 -1
  35. package/dist/api/index-ts.js +5 -6
  36. package/dist/api/index-ts.js.map +1 -1
  37. package/dist/api/index.d.ts +0 -1
  38. package/dist/api/index.d.ts.map +1 -1
  39. package/dist/api/index.js +0 -1
  40. package/dist/api/index.js.map +1 -1
  41. package/dist/api/language-file.templates.d.ts.map +1 -1
  42. package/dist/api/language-file.templates.js +8 -13
  43. package/dist/api/language-file.templates.js.map +1 -1
  44. package/dist/api/mega-factory.templates.d.ts +1 -2
  45. package/dist/api/mega-factory.templates.d.ts.map +1 -1
  46. package/dist/api/mega-factory.templates.js +6 -9
  47. package/dist/api/mega-factory.templates.js.map +1 -1
  48. package/dist/api/reflective-layer.templates.d.ts.map +1 -1
  49. package/dist/api/reflective-layer.templates.js +19 -34
  50. package/dist/api/reflective-layer.templates.js.map +1 -1
  51. package/dist/utils/index.d.ts +0 -1
  52. package/dist/utils/index.d.ts.map +1 -1
  53. package/dist/utils/index.js +0 -1
  54. package/dist/utils/index.js.map +1 -1
  55. package/dist/utils/textgen.d.ts.map +1 -1
  56. package/dist/utils/textgen.js.map +1 -1
  57. package/package.json +14 -9
  58. package/src/api/entity-types.templates.ts +11 -15
  59. package/src/api/generation-headers.ts +1 -1
  60. package/src/api/generator.ts +9 -12
  61. package/src/api/helpers/classifiers.ts +3 -15
  62. package/src/api/helpers/dependencies.ts +4 -4
  63. package/src/api/helpers/entities.ts +2 -8
  64. package/src/api/helpers/features.ts +5 -5
  65. package/src/api/helpers/imports-tracking.ts +12 -5
  66. package/src/api/helpers/index.ts +1 -2
  67. package/src/api/helpers/{types.ts → primitive-types.ts} +9 -6
  68. package/src/api/index-ts.ts +26 -16
  69. package/src/api/index.ts +1 -2
  70. package/src/api/language-file.templates.ts +12 -19
  71. package/src/api/mega-factory.templates.ts +21 -27
  72. package/src/api/reflective-layer.templates.ts +46 -69
  73. package/src/utils/index.ts +0 -1
  74. package/src/utils/textgen.ts +1 -1
  75. package/dist/api/helpers/mps-annotations.d.ts +0 -19
  76. package/dist/api/helpers/mps-annotations.d.ts.map +0 -1
  77. package/dist/api/helpers/mps-annotations.js +0 -65
  78. package/dist/api/helpers/mps-annotations.js.map +0 -1
  79. package/dist/api/helpers/types.d.ts.map +0 -1
  80. package/dist/api/helpers/types.js.map +0 -1
  81. package/dist/utils/string-sorting.d.ts +0 -4
  82. package/dist/utils/string-sorting.d.ts.map +0 -1
  83. package/dist/utils/string-sorting.js +0 -23
  84. package/dist/utils/string-sorting.js.map +0 -1
  85. package/dist/utils/toposort.d.ts +0 -6
  86. package/dist/utils/toposort.d.ts.map +0 -1
  87. package/dist/utils/toposort.js +0 -41
  88. package/dist/utils/toposort.js.map +0 -1
  89. package/src/api/helpers/mps-annotations.ts +0 -69
  90. package/src/utils/string-sorting.ts +0 -29
  91. package/src/utils/toposort.ts +0 -49
@@ -1 +1 @@
1
- {"version":3,"file":"mega-factory.templates.d.ts","sourceRoot":"","sources":["../../src/api/mega-factory.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAa,QAAQ,EAAiB,MAAM,eAAe,CAAA;AAIlE,OAAO,EAAa,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAG7D,eAAO,MAAM,cAAc,oBAAqB,MAAM,aAAa,QAAQ,EAAE,mBAAkB,aAAa,EAAE,WAAgB,MAAM,WAqDnI,CAAA"}
1
+ {"version":3,"file":"mega-factory.templates.d.ts","sourceRoot":"","sources":["../../src/api/mega-factory.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAc,QAAQ,EAAkB,MAAM,eAAe,CAAA;AAMpE,eAAO,MAAM,cAAc,oBAAqB,MAAM,aAAa,QAAQ,EAAE,WAAW,MAAM,WAgD7F,CAAA"}
@@ -17,20 +17,19 @@
17
17
  import { isConcrete } from "@lionweb/core";
18
18
  import { asString, commaSeparated } from "littoral-templates";
19
19
  import { asJSIdentifier, indent } from "../utils/textgen.js";
20
- import { Deprecated } from "./helpers/index.js";
21
- export const megaFactoryFor = (megaFactoryName, languages, mpsAnnotations = [], header) => {
22
- const isNotDeprecated = (entity) => !mpsAnnotations.some((mpsAnnotation) => mpsAnnotation.annotatedNodeId === entity.id && mpsAnnotation instanceof Deprecated);
20
+ import { Deprecated, ioLionWebMpsSpecificAnnotationsFrom } from "@lionweb/io-lionweb-mps-specific";
21
+ export const megaFactoryFor = (megaFactoryName, languages, header) => {
22
+ const isNotDeprecated = (entity) => !ioLionWebMpsSpecificAnnotationsFrom(entity).some((annotation) => annotation instanceof Deprecated);
23
23
  const requiresFactoryMethod = (entity) => isConcrete(entity) && isNotDeprecated(entity);
24
24
  const factoryFor = (language) => [
25
25
  `${asJSIdentifier(language.name)}Factory = {`,
26
26
  indent(commaSeparated(language.entities
27
27
  .filter(requiresFactoryMethod)
28
- .map((classifier) => `create${classifier.name}: () => ${asJSIdentifier(language.name)}.${classifier.name}.create(newId(), this.handleDelta)`))),
28
+ .map(classifier => `create${classifier.name}: () => ${asJSIdentifier(language.name)}.${classifier.name}.create(newId(), this.handleDelta)`))),
29
29
  `}`,
30
30
  ``
31
31
  ];
32
- const languagesWithFactoryMethods = languages
33
- .filter((language) => language.entities.some(requiresFactoryMethod));
32
+ const languagesWithFactoryMethods = languages.filter(language => language.entities.some(requiresFactoryMethod));
34
33
  return asString([
35
34
  header ?? [],
36
35
  `import {DeltaHandler} from "@lionweb/class-core";`,
@@ -46,9 +45,7 @@ export const megaFactoryFor = (megaFactoryName, languages, mpsAnnotations = [],
46
45
  indent([
47
46
  ``,
48
47
  `constructor(`,
49
- indent([
50
- `public readonly handleDelta?: DeltaHandler`
51
- ]),
48
+ indent([`public readonly handleDelta?: DeltaHandler`]),
52
49
  `) {`,
53
50
  `}`,
54
51
  ``,
@@ -1 +1 @@
1
- {"version":3,"file":"mega-factory.templates.js","sourceRoot":"","sources":["../../src/api/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,EAAC,UAAU,EAA2B,MAAM,eAAe,CAAA;AAClE,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAA;AAE3D,OAAO,EAAC,cAAc,EAAE,MAAM,EAAC,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAC,UAAU,EAAgB,MAAM,oBAAoB,CAAC;AAG7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,eAAuB,EAAE,SAAqB,EAAE,iBAAkC,EAAE,EAAE,MAAe,EAAE,EAAE;IACpI,MAAM,eAAe,GAAG,CAAC,MAAsB,EAAC,EAAE,CAC9C,CAAC,cAAc,CAAC,IAAI,CAChB,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,eAAe,KAAK,MAAM,CAAC,EAAE,IAAI,aAAa,YAAY,UAAU,CACxG,CAAA;IAEL,MAAM,qBAAqB,GAAG,CAAC,MAAsB,EAAE,EAAE,CACrD,UAAU,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IAEjD,MAAM,UAAU,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC;QACvC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;QAC7C,MAAM,CAAC,cAAc,CACjB,QAAQ,CAAC,QAAQ;aACZ,MAAM,CAAC,qBAAqB,CAAC;aAC7B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,UAAU,CAAC,IAAI,WAAW,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,oCAAoC,CAAC,CACpJ,CAAC;QACF,GAAG;QACH,EAAE;KACL,CAAA;IAED,MAAM,2BAA2B,GAAG,SAAS;SACxC,MAAM,CACH,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAC9D,CAAA;IAEL,OAAO,QAAQ,CAAC;QACZ,MAAM,IAAI,EAAE;QACZ,mDAAmD;QACnD,EAAE;QACF,UAAU;QACV,MAAM,CAAC,cAAc,CACjB,2BAA2B,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;QACF,wBAAwB;QACxB,EAAE;QACF,oCAAoC;QACpC,EAAE;QACF,EAAE;QACF,gBAAgB,eAAe,IAAI;QACnC,MAAM,CAAC;YACH,EAAE;YACF,cAAc;YACd,MAAM,CAAC;gBACH,4CAA4C;aAC/C,CAAC;YACF,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/api/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,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAA;AAElG,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,oCAAoC,CAC9H,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,mDAAmD;QACnD,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,4CAA4C,CAAC,CAAC;YACtD,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 +1 @@
1
- {"version":3,"file":"reflective-layer.templates.d.ts","sourceRoot":"","sources":["../../src/api/reflective-layer.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAaH,QAAQ,EAOX,MAAM,eAAe,CAAA;AAItB,OAAO,EAA8B,OAAO,EAA6B,MAAM,oBAAoB,CAAA;AAGnG,eAAO,MAAM,kBAAkB,YAAa,OAAO,gBA4J7B,QAAQ,0BAuE7B,CAAA"}
1
+ {"version":3,"file":"reflective-layer.templates.d.ts","sourceRoot":"","sources":["../../src/api/reflective-layer.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAYH,QAAQ,EAOX,MAAM,eAAe,CAAA;AAKtB,OAAO,EAA+B,OAAO,EAA8B,MAAM,oBAAoB,CAAA;AAErG,eAAO,MAAM,kBAAkB,YAAa,OAAO,gBAwI7B,QAAQ,0BAqE7B,CAAA"}
@@ -14,7 +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 { Annotation, asArray, Classifier, Concept, Enumeration, featureMetaType, Interface, isConcrete, isEnumeration, isMultiple, Link, nameOf, PrimitiveType, Property } from "@lionweb/core";
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";
18
19
  import { when, withNewlineAppended } from "littoral-templates";
19
20
  import { indent, switchOrIf } from "../utils/textgen.js";
20
21
  import { entityMetaType, extendsFrom, nameOfBaseClassForLanguage } from "./helpers/index.js";
@@ -28,10 +29,7 @@ export const reflectiveClassFor = (imports) => {
28
29
  `private readonly _${qName} = new ${imports.core(metaType)}(this._${classifier.name}, "${name}", "${key}", "${id}")${optional ? ".isOptional()" : ""}${isMultiple(feature) ? ".isMultiple()" : ""};`,
29
30
  // | core (2nd x) |
30
31
  `get ${qName}(): ${metaType} {`,
31
- indent([
32
- `this.ensureWiredUp();`,
33
- `return this._${qName};`
34
- ]),
32
+ indent([`this.ensureWiredUp();`, `return this._${qName};`]),
35
33
  `}`
36
34
  ];
37
35
  };
@@ -39,13 +37,10 @@ export const reflectiveClassFor = (imports) => {
39
37
  const { name, key, id, features } = classifier;
40
38
  const metaType = entityMetaType(classifier);
41
39
  return [
42
- `public readonly _${name} = new ${imports.core(metaType)}(this._language, "${name}", "${key}", "${id}"${classifier instanceof Concept ? (", " + classifier.abstract) : ""});`,
40
+ `public readonly _${name} = new ${imports.core(metaType)}(this._language, "${name}", "${key}", "${id}"${classifier instanceof Concept ? ", " + classifier.abstract : ""});`,
43
41
  // | core (2nd x) |
44
42
  `get ${name}(): ${metaType} {`,
45
- indent([
46
- `this.ensureWiredUp();`,
47
- `return this._${name};`
48
- ]),
43
+ indent([`this.ensureWiredUp();`, `return this._${name};`]),
49
44
  `}`,
50
45
  features.map(reflectiveMembersForFeature)
51
46
  ];
@@ -57,10 +52,7 @@ export const reflectiveClassFor = (imports) => {
57
52
  `private readonly _${qName} = new ${imports.core("EnumerationLiteral")}(this._${enumeration.name}, "${name}", "${key}", "${id}");`,
58
53
  // | core (2nd x) |
59
54
  `get ${qName}(): EnumerationLiteral {`,
60
- indent([
61
- `this.ensureWiredUp();`,
62
- `return this._${qName};`
63
- ]),
55
+ indent([`this.ensureWiredUp();`, `return this._${qName};`]),
64
56
  `}`
65
57
  ];
66
58
  };
@@ -68,10 +60,7 @@ export const reflectiveClassFor = (imports) => {
68
60
  `public readonly _${name} = new ${imports.core("Enumeration")}(this._language, "${name}", "${key}", "${id}");`,
69
61
  // | core (2nd x) |
70
62
  `get ${name}(): Enumeration {`,
71
- indent([
72
- `this.ensureWiredUp();`,
73
- `return this._${name};`
74
- ]),
63
+ indent([`this.ensureWiredUp();`, `return this._${name};`]),
75
64
  `}`,
76
65
  literals.map(reflectiveMemberForEnumerationLiteral)
77
66
  ];
@@ -79,10 +68,7 @@ export const reflectiveClassFor = (imports) => {
79
68
  `public readonly _${name} = new ${imports.core("PrimitiveType")}(this._language, "${name}", "${key}", "${id}");`,
80
69
  // | core (2nd x) |
81
70
  `get ${name}(): PrimitiveType {`,
82
- indent([
83
- `this.ensureWiredUp();`,
84
- `return this._${name};`
85
- ]),
71
+ indent([`this.ensureWiredUp();`, `return this._${name};`]),
86
72
  `}`
87
73
  ];
88
74
  const reflectiveMembersForEntity = (entity) => {
@@ -130,11 +116,11 @@ export const reflectiveClassFor = (imports) => {
130
116
  if (entity instanceof Classifier) {
131
117
  const extends_ = extendsFrom(entity);
132
118
  return [
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(", ")});`),
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(", ")});`),
138
124
  when(entity.features.length > 0)(`this._${name}.havingFeatures(${entity.features.map(nameOf).map(thisLocalName).join(", ")});`),
139
125
  entity.features.map(wireUpStatementsForFeature)
140
126
  ];
@@ -161,10 +147,7 @@ export const reflectiveClassFor = (imports) => {
161
147
  `private readonly _language: ${imports.core("Language")} = new Language("${imports.thisLanguageNameAsJsIdentifier}", "${version}", "${id}", "${key}");`,
162
148
  // | core | (3rd x)
163
149
  `get language(): Language {`,
164
- indent([
165
- `this.ensureWiredUp();`,
166
- `return this._language;`
167
- ]),
150
+ indent([`this.ensureWiredUp();`, `return this._language;`]),
168
151
  `}`,
169
152
  ``,
170
153
  entities.map(withNewlineAppended(reflectiveMembersForEntity)),
@@ -182,8 +165,10 @@ export const reflectiveClassFor = (imports) => {
182
165
  ``,
183
166
  `factory(${parameterPrefix}handleDelta?: ${imports.generic("DeltaHandler")}): ${imports.generic("NodeBaseFactory")} {`,
184
167
  indent([
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)`]), [
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)`]), [
187
172
  `const {language} = classifier;`,
188
173
  `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})\`);`
189
174
  ])),
@@ -195,7 +180,7 @@ export const reflectiveClassFor = (imports) => {
195
180
  // (Why can this work?! EnumType is an unsatisfied generic parameter!)
196
181
  indent([
197
182
  `const {enumeration} = enumerationLiteral;`,
198
- switchOrIf("enumeration.key", enumerations.map(nameOf).map((name) => [`this._${name}.key`, "enumerationLiteral.key as EnumType"]), [
183
+ switchOrIf("enumeration.key", enumerations.map(nameOf).map(name => [`this._${name}.key`, "enumerationLiteral.key as EnumType"]), [
199
184
  `const {language} = enumeration;`,
200
185
  `throw new Error(\`enumeration with key \${enumeration.key} is not known in language \${language.name} (key=\${language.key}, version=\${language.version})\`);`
201
186
  ])
@@ -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":"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,EACV,UAAU,EACV,OAAO,EACP,WAAW,EAGX,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,UAAU,EAGV,IAAI,EACJ,MAAM,EACN,aAAa,EACb,QAAQ,EAEX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE9D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAW,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;AAErG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnD,cAAc;IAEd,MAAM,2BAA2B,GAAG,CAAC,OAAgB,EAAE,EAAE;QACrD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QACvD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA;QAC1C,OAAO;YACH,qBAAqB,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,UAAU,CAAC,IAAI,MAAM,IAAI,OAAO,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG;YACpM,iCAAiC;YACjC,OAAO,KAAK,OAAO,QAAQ,IAAI;YAC/B,MAAM,CAAC,CAAC,uBAAuB,EAAE,gBAAgB,KAAK,GAAG,CAAC,CAAC;YAC3D,GAAG;SACN,CAAA;IACL,CAAC,CAAA;IAED,MAAM,8BAA8B,GAAG,CAAC,UAAsB,EAAE,EAAE;QAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;QAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;QAC3C,OAAO;YACH,oBAAoB,IAAI,UAAU,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,IAAI,OAAO,GAAG,OAAO,EAAE,IAAI,UAAU,YAAY,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI;YAC3K,gCAAgC;YAChC,OAAO,IAAI,OAAO,QAAQ,IAAI;YAC9B,MAAM,CAAC,CAAC,uBAAuB,EAAE,gBAAgB,IAAI,GAAG,CAAC,CAAC;YAC1D,GAAG;YACH,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC;SAC5C,CAAA;IACL,CAAC,CAAA;IAED,eAAe;IAEf,MAAM,qCAAqC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAsB,EAAE,EAAE;QACjG,MAAM,KAAK,GAAG,GAAG,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA;QAC3C,OAAO;YACH,qBAAqB,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,WAAW,CAAC,IAAI,MAAM,IAAI,OAAO,GAAG,OAAO,EAAE,KAAK;YAClI,mCAAmC;YACnC,OAAO,KAAK,0BAA0B;YACtC,MAAM,CAAC,CAAC,uBAAuB,EAAE,gBAAgB,KAAK,GAAG,CAAC,CAAC;YAC3D,GAAG;SACN,CAAA;IACL,CAAC,CAAA;IAED,MAAM,+BAA+B,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAe,EAAE,EAAE,CAAC;QAClF,oBAAoB,IAAI,UAAU,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,IAAI,OAAO,GAAG,OAAO,EAAE,KAAK;QAC9G,gCAAgC;QAChC,OAAO,IAAI,mBAAmB;QAC9B,MAAM,CAAC,CAAC,uBAAuB,EAAE,gBAAgB,IAAI,GAAG,CAAC,CAAC;QAC1D,GAAG;QACH,QAAQ,CAAC,GAAG,CAAC,qCAAqC,CAAC;KACtD,CAAA;IAED,MAAM,iCAAiC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAiB,EAAE,EAAE,CAAC;QAC5E,oBAAoB,IAAI,UAAU,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,IAAI,OAAO,GAAG,OAAO,EAAE,KAAK;QAChH,gCAAgC;QAChC,OAAO,IAAI,qBAAqB;QAChC,MAAM,CAAC,CAAC,uBAAuB,EAAE,gBAAgB,IAAI,GAAG,CAAC,CAAC;QAC1D,GAAG;KACN,CAAA;IAED,MAAM,0BAA0B,GAAG,CAAC,MAAsB,EAAE,EAAE;QAC1D,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;YAC/B,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC;QACD,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;YAChC,OAAO,+BAA+B,CAAC,MAAM,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;YAClC,OAAO,iCAAiC,CAAC,MAAM,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,iCAAiC,cAAc,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAA;IACrF,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,IAA+B,EAAE,EAAE;QACnD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,KAAK,CAAA;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;YACzC,OAAO,SAAS,IAAI,CAAC,IAAI,EAAE,CAAA;QAC/B,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAA;IACtE,CAAC,CAAA;IAED,MAAM,2BAA2B,GAAG,CAAC,QAAkB,EAAE,EAAE;QACvD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;QACrD,OAAO,SAAS,UAAU,CAAC,IAAI,IAAI,IAAI,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;IAC5G,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,CAAC,IAAU,EAAE,EAAE;QAC3C,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QACvC,OAAO,SAAS,UAAU,CAAC,IAAI,IAAI,IAAI,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,CAAA;IAC1E,CAAC,CAAA;IAED,MAAM,0BAA0B,GAAG,CAAC,OAAgB,EAAE,EAAE;QACpD,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;YAC9B,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,OAAO,YAAY,IAAI,EAAE,CAAC;YAC1B,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,yBAAyB,eAAe,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG,CAAA;IAChF,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,CAAC,UAAsB,EAAsC,EAAE,CACxF,UAAU,YAAY,UAAU,IAAI,UAAU,YAAY,OAAO,CAAA;IAErE,MAAM,yBAAyB,GAAG,CAAC,MAAsB,EAAE,EAAE;QACzD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;QACvB,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI,SAAS,EAAE,CAAA;QACzE,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;YACpC,OAAO;gBACH,QAAQ,YAAY,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,cAAc,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACxF,IAAI,CAAC,MAAM,YAAY,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAC1D,GAAG,EAAE,CAAC,SAAS,IAAI,cAAe,MAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC1H;gBACD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAC9D,GAAG,EAAE,CACD,SAAS,IAAI,iBAAiB,OAAO,CAAE,MAA+B,CAAC,UAAU,CAAC;qBAC7E,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;qBACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC1B;gBACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAC5B,SAAS,IAAI,mBAAmB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChG;gBACD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC;aAClD,CAAA;QACL,CAAC;QACD,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;YAChC,OAAO,SAAS,IAAI,mBAAmB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;QACxG,CAAC;QACD,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;YAClC,OAAO,EAAE,CAAA,CAAC,kBAAkB;QAChC,CAAC;QACD,OAAO,iCAAiC,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAA;IAC9E,CAAC,CAAA;IAED,OAAO,CAAC,QAAkB,EAAE,EAAE;QAC1B,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;QAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACnD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACvD,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACnE,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,SAAS,EAAE,CAAA;QACjE,OAAO;YACH,gBAAgB,OAAO,CAAC,iBAAiB,eAAe,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI;YAC5F,EAAE;YACF,MAAM,CAAC;gBACH,+EAA+E;gBAC/E,+BAA+B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,OAAO,CAAC,8BAA8B,OAAO,OAAO,OAAO,EAAE,OAAO,GAAG,KAAK;gBACvJ,iCAAiC;gBACjC,4BAA4B;gBAC5B,MAAM,CAAC,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;gBAC3D,GAAG;gBACH,EAAE;gBACF,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;gBAC7D,oCAAoC;gBACpC,2BAA2B;gBAC3B,MAAM,CAAC;oBACH,sBAAsB;oBACtB,MAAM,CAAC,SAAS,CAAC;oBACjB,GAAG;oBACH,iCAAiC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBACvF,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC;oBACvC,uBAAuB;iBAC1B,CAAC;gBACF,GAAG;gBACH,EAAE;gBACF,WAAW,eAAe,iBAAiB,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI;gBACtH,MAAM,CAAC;oBACH,uBAAuB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,eAAe,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ;oBAC7G,MAAM,CACF,UAAU,CACN,gBAAgB,EAChB,mBAAmB;yBACd,GAAG,CAAC,MAAM,CAAC;yBACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,eAAe,eAAe,cAAc,CAAC,CAAC,EAC5F;wBACI,gCAAgC;wBAChC,kMAAkM;qBACrM,CACJ,CACJ;oBACD,GAAG;iBACN,CAAC;gBACF,GAAG;gBACH,EAAE;gBACF,iDAAiD,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe;gBAClG,sEAAsE;gBACtE,MAAM,CAAC;oBACH,2CAA2C;oBAC3C,UAAU,CACN,iBAAiB,EACjB,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,MAAM,EAAE,oCAAoC,CAAC,CAAC,EACjG;wBACI,iCAAiC;wBACjC,gKAAgK;qBACnK,CACJ;iBACJ,CAAC;gBACF,GAAG;gBACH,EAAE;gBACF,yCAAyC,0BAA0B,CAAC,QAAQ,CAAC,KAAK;aACrF,CAAC;YACF,GAAG;SACN,CAAA;IACL,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,4 +1,3 @@
1
1
  export { asTypeScript } from "./json-as-ts.js";
2
- export { sortedStrings, sortedStringsByUppercase } from "./string-sorting.js";
3
2
  export { indent } from "./textgen.js";
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAC,aAAa,EAAE,wBAAwB,EAAC,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA"}
@@ -15,6 +15,5 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
  export { asTypeScript } from "./json-as-ts.js";
18
- export { sortedStrings, sortedStringsByUppercase } from "./string-sorting.js";
19
18
  export { indent } from "./textgen.js";
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/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,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAC,aAAa,EAAE,wBAAwB,EAAC,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/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,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA"}
@@ -1 +1 @@
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
+ {"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 +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,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/class-core-generator",
3
- "version": "0.6.13-beta.7",
3
+ "version": "0.7.0-alpha.2",
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",
@@ -18,16 +18,21 @@
18
18
  "clean": "rm -rf dist/ node_modules/ lionweb-class-core-generator-*.tgz",
19
19
  "build": "tsc",
20
20
  "lint": "eslint src",
21
- "pre-release-either": "npm run clean && npm install && npm run build",
22
- "prerelease": "npm run pre-release-either",
23
- "release": "npm publish",
24
- "prerelease-beta": "npm run pre-release-either",
25
- "release-beta": "npm publish --tag beta"
21
+ "prep:pre-release": "npm run clean && npm install && npm run build",
22
+ "prerelease-alpha": "npm run prep:pre-release",
23
+ "release-alpha": "npm publish --tag alpha",
24
+ "prerelease-beta": "npm run prep:pre-release",
25
+ "release-beta": "npm publish --tag beta",
26
+ "prerelease": "npm run prep:pre-release",
27
+ "release": "npm publish"
26
28
  },
27
29
  "devDependencies": {
28
- "@lionweb/core": "0.6.13-beta.7",
29
- "@lionweb/utilities": "0.6.13-beta.7",
30
- "@types/node": "20.17.30",
30
+ "@lionweb/core": "0.7.0-alpha.2",
31
+ "@lionweb/io-lionweb-mps-specific": "0.7.0-alpha.2",
32
+ "@lionweb/json": "0.7.0-alpha.2",
33
+ "@lionweb/ts-utils": "0.7.0-alpha.2",
34
+ "@lionweb/utilities": "0.7.0-alpha.2",
35
+ "@types/node": "22.15.21",
31
36
  "littoral-templates": "0.3.0",
32
37
  "typescript": "5.3.3"
33
38
  }
@@ -21,7 +21,6 @@ import {
21
21
  Enumeration,
22
22
  Feature,
23
23
  featureMetaType,
24
- Id,
25
24
  Interface,
26
25
  isContainment,
27
26
  isProperty,
@@ -34,19 +33,17 @@ import {
34
33
  Reference,
35
34
  SingleRef
36
35
  } from "@lionweb/core"
37
- import {commaSeparated, when, withNewlineAppended} from "littoral-templates"
36
+ import { ConceptDescription, Deprecated, ioLionWebMpsSpecificAnnotationsFrom } from "@lionweb/io-lionweb-mps-specific"
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
- ConceptDescription,
42
- Deprecated,
43
41
  entityMetaType,
44
42
  extendsFrom,
45
43
  featuresToConcretelyImplementOf,
46
44
  implementsFrom,
47
45
  Imports,
48
46
  isAbstract,
49
- MpsAnnotation,
50
47
  optionalityPostfix,
51
48
  tsFieldTypeForFeature,
52
49
  tsTypeForClassifier,
@@ -55,7 +52,6 @@ import {
55
52
  tsTypeForValueManager
56
53
  } from "./helpers/index.js"
57
54
 
58
-
59
55
  const cardinalityPrefix = (feature: Feature) => {
60
56
  if (feature instanceof Property) {
61
57
  return feature.optional ? "Optional" : "Required"
@@ -68,7 +64,7 @@ const cardinalityPrefix = (feature: Feature) => {
68
64
  const valueManagerFor = (feature: Feature) =>
69
65
  `${cardinalityPrefix(feature)}${featureMetaType(feature)}ValueManager`
70
66
 
71
- export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Record<Id, MpsAnnotation[]>) => {
67
+ export const typeForLanguageEntity = (imports: Imports) => {
72
68
 
73
69
  const sortedSuperTypesCond = <T extends Classifier>(ts: T[], prefix: string): string =>
74
70
  ts.length === 0 ? `` : `${prefix}${nameSorted(ts).map((t) => imports.entity(t)).join(", ")}`
@@ -163,7 +159,7 @@ export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Rec
163
159
  when(!isAbstract(classifier))(
164
160
  () =>
165
161
  [
166
- `static create(id: Id, handleDelta?: ${imports.generic("DeltaHandler")}, parentInfo?: ${imports.generic("Parentage")}): ${classifier.name} {`,
162
+ `static create(id: ${imports.json("LionWebId")}, handleDelta?: ${imports.generic("DeltaHandler")}, parentInfo?: ${imports.generic("Parentage")}): ${classifier.name} {`,
167
163
  indent([
168
164
  `return new ${classifier.name}(${imports.language(classifier.language)}.INSTANCE.${classifier.name}, id, handleDelta, parentInfo);`
169
165
  ]),
@@ -175,7 +171,7 @@ export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Rec
175
171
  [
176
172
  ``,
177
173
  features.map(withNewlineAppended(classMembersForFeature)),
178
- `public constructor(classifier: ${imports.core("Classifier")}, id: ${imports.core("Id")}, handleDelta?: ${imports.generic("DeltaHandler")}, parentInfo?: ${imports.generic("Parentage")}) {`,
174
+ `public constructor(classifier: ${imports.core("Classifier")}, id: ${imports.json("LionWebId")}, handleDelta?: ${imports.generic("DeltaHandler")}, parentInfo?: ${imports.generic("Parentage")}) {`,
179
175
  indent([
180
176
  `super(classifier, id, handleDelta, parentInfo);`,
181
177
  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);`)
@@ -217,14 +213,14 @@ export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Rec
217
213
  `export type ${primitiveType.name} = ${tsTypeForPrimitiveType(primitiveType)};`
218
214
 
219
215
  const jsDocFor = (entity: LanguageEntity) => {
220
- const mpsAnnotationsForEntity = mpsAnnotationsPerId[entity.id] ?? []
221
- const conceptDescription = mpsAnnotationsForEntity.find((mpsAnnotation) => mpsAnnotation instanceof ConceptDescription) as ConceptDescription
222
- const hasShortConceptDescription = !!(conceptDescription?.shortDescription)
223
- const deprecated = mpsAnnotationsForEntity.find((mpsAnnotation) => mpsAnnotation instanceof Deprecated) as Deprecated
216
+ const annotations = ioLionWebMpsSpecificAnnotationsFrom(entity)
217
+ const conceptDescription = annotations.find((annotation) => annotation instanceof ConceptDescription) as ConceptDescription
218
+ const hasShortConceptDescription = !!(conceptDescription?.conceptShortDescription)
219
+ const deprecated = annotations.find((annotation) => annotation instanceof Deprecated) as Deprecated
224
220
  return when(hasShortConceptDescription || deprecated !== undefined)([
225
221
  `/**`,
226
222
  when(hasShortConceptDescription)(
227
- () => ` * ${conceptDescription.shortDescription}`
223
+ () => ` * ${conceptDescription.conceptShortDescription}`
228
224
  ),
229
225
  when(deprecated !== undefined)(
230
226
  () => ` * @deprecated ${deprecated.comment ?? ""}${deprecated.build === null ? "" : ` (build: ${deprecated.build})`}`
@@ -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,29 +15,26 @@
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, 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"
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"
27
24
 
25
+ import { indexTsFor } from "./index-ts.js"
26
+ import { languageFileFor } from "./language-file.templates.js"
28
27
 
29
28
  const properGenericImportLocation = "@lionweb/class-core"
30
29
 
31
30
 
32
31
  export type GeneratorOptions = {
33
- mpsAnnotations: MpsAnnotation[]
34
32
  genericImportLocation: string
35
33
  header?: string
36
34
  }
37
35
 
38
36
 
39
37
  const withDefaults = (options?: Partial<GeneratorOptions>): GeneratorOptions => ({
40
- mpsAnnotations: options?.mpsAnnotations ?? [],
41
38
  genericImportLocation: options?.genericImportLocation ?? properGenericImportLocation,
42
39
  header: options?.header
43
40
  })
@@ -56,7 +53,7 @@ export const generateApiFromLanguagesJson = (languagesJsonPath: string, generati
56
53
  console.log(` Path to languages: ${languagesJsonPath}`)
57
54
  console.log(` Generation path: ${generationPath}`)
58
55
 
59
- const languagesJson = readFileAsJson(languagesJsonPath) as SerializationChunk
56
+ const languagesJson = readFileAsJson(languagesJsonPath) as LionWebJsonChunk
60
57
  const languages = deserializeLanguages(languagesJson, lioncore)
61
58
  generateApiFromLanguages(languages, generationPath, options)
62
59
  }
@@ -15,22 +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 {
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"
18
+ import { allFeaturesOf, allSuperTypesOf, Annotation, Classifier, Concept, Feature, Interface, MultiRef, SingleRef } from "@lionweb/core"
19
+ import { uniquesAmong } from "@lionweb/ts-utils"
30
20
 
31
-
32
- export const isAbstract = (classifier: Classifier): boolean =>
33
- classifier instanceof Concept && classifier.abstract
21
+ export const isAbstract = (classifier: Classifier): boolean => classifier instanceof Concept && classifier.abstract
34
22
  /*
35
23
  * The logical inverse is: classifier instanceof Annotation || (classifier instanceof Concept && !classifier.abstract)
36
24
  */
@@ -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, 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"
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"
22
22
 
23
23
 
24
24
  /**
@@ -15,15 +15,9 @@
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
-
21
- type EntityMetaType =
22
- | "Annotation"
23
- | "Concept"
24
- | "Enumeration"
25
- | "Interface"
26
- | "PrimitiveType"
20
+ type EntityMetaType = "Annotation" | "Concept" | "Enumeration" | "Interface" | "PrimitiveType"
27
21
 
28
22
  export const entityMetaType = (entity: LanguageEntity): EntityMetaType => {
29
23
  if (entity instanceof Annotation) {
@@ -28,10 +28,10 @@ import {
28
28
  Link,
29
29
  PrimitiveType,
30
30
  Property,
31
- SingleRef
31
+ SingleRef,
32
+ unresolved
32
33
  } from "@lionweb/core"
33
- import {Imports, tsTypeForPrimitiveType} from "./index.js"
34
-
34
+ import { Imports, tsTypeForPrimitiveType } from "./index.js"
35
35
 
36
36
  export const typeOf = (feature: Feature): SingleRef<LanguageEntity> => {
37
37
  if (feature instanceof Property) {
@@ -59,8 +59,8 @@ export const tsTypeForDatatype = (datatype: SingleRef<Datatype>, imports: Import
59
59
 
60
60
 
61
61
  export const tsTypeForClassifier = (classifier: SingleRef<Classifier>, imports: Imports) => {
62
- if (classifier === null) {
63
- return `unknown /* [ERROR] can't compute a TS type for a null classifier */`
62
+ if (classifier === unresolved) {
63
+ return `unknown /* [ERROR] can't compute a TS type for an unresolved classifier */`
64
64
  }
65
65
  return classifier === builtinClassifiers.node ? imports.generic("INodeBase") : imports.entity(classifier)
66
66
  }
@@ -15,12 +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 {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
-
22
- export const importRenamingForLanguage = (language: Language) =>
23
- asJSIdentifier(language.name)
21
+ export const importRenamingForLanguage = (language: Language) => asJSIdentifier(language.name)
24
22
 
25
23
  export const nameOfBaseClassForLanguage = (language: Language) =>
26
24
  asJSIdentifier(language.name) + "Base"
@@ -42,6 +40,15 @@ export class Imports {
42
40
  return this.thisLanguageNameAsJsIdentifier + "Base"
43
41
  }
44
42
 
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
+
45
52
  private readonly _coreImports = new Set<string>()
46
53
  get coreImports() {
47
54
  return [...this._coreImports]
@@ -20,5 +20,4 @@ export * from "./dependencies.js"
20
20
  export * from "./entities.js"
21
21
  export * from "./features.js"
22
22
  export * from "./imports-tracking.js"
23
- export * from "./mps-annotations.js"
24
- export * from "./types.js"
23
+ export * from "./primitive-types.js"
@@ -15,15 +15,18 @@
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"
19
-
18
+ import { builtinPrimitives, PrimitiveType } from "@lionweb/core"
20
19
 
21
20
  export const tsTypeForPrimitiveType = (primitiveType: PrimitiveType): string => {
22
21
  switch (primitiveType) {
23
- case builtinPrimitives.booleanDatatype: return `boolean`
24
- case builtinPrimitives.stringDatatype: return `string`
25
- case builtinPrimitives.integerDatatype: return `number`
26
- case builtinPrimitives.jsonDatatype: return `unknown`
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`
27
30
  default:
28
31
  return `string`
29
32
  }