@lionweb/class-core-generator 0.7.0-alpha.1 → 0.7.0-alpha.3

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 (36) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/api/entity-types.templates.d.ts +2 -3
  3. package/dist/api/entity-types.templates.d.ts.map +1 -1
  4. package/dist/api/entity-types.templates.js +8 -7
  5. package/dist/api/entity-types.templates.js.map +1 -1
  6. package/dist/api/generator.d.ts +0 -2
  7. package/dist/api/generator.d.ts.map +1 -1
  8. package/dist/api/generator.js +0 -1
  9. package/dist/api/generator.js.map +1 -1
  10. package/dist/api/helpers/index.d.ts +0 -1
  11. package/dist/api/helpers/index.d.ts.map +1 -1
  12. package/dist/api/helpers/index.js +0 -1
  13. package/dist/api/helpers/index.js.map +1 -1
  14. package/dist/api/index.d.ts +0 -1
  15. package/dist/api/index.d.ts.map +1 -1
  16. package/dist/api/index.js +0 -1
  17. package/dist/api/index.js.map +1 -1
  18. package/dist/api/language-file.templates.d.ts.map +1 -1
  19. package/dist/api/language-file.templates.js +2 -3
  20. package/dist/api/language-file.templates.js.map +1 -1
  21. package/dist/api/mega-factory.templates.d.ts +1 -2
  22. package/dist/api/mega-factory.templates.d.ts.map +1 -1
  23. package/dist/api/mega-factory.templates.js +3 -3
  24. package/dist/api/mega-factory.templates.js.map +1 -1
  25. package/package.json +6 -5
  26. package/src/api/entity-types.templates.ts +7 -10
  27. package/src/api/generator.ts +0 -3
  28. package/src/api/helpers/index.ts +0 -1
  29. package/src/api/index.ts +1 -2
  30. package/src/api/language-file.templates.ts +2 -4
  31. package/src/api/mega-factory.templates.ts +3 -3
  32. package/dist/api/helpers/mps-annotations.d.ts +0 -19
  33. package/dist/api/helpers/mps-annotations.d.ts.map +0 -1
  34. package/dist/api/helpers/mps-annotations.js +0 -65
  35. package/dist/api/helpers/mps-annotations.js.map +0 -1
  36. package/src/api/helpers/mps-annotations.ts +0 -67
package/CHANGELOG.md CHANGED
@@ -2,3 +2,6 @@
2
2
 
3
3
  ## 0.7.0
4
4
 
5
+ * Removed everything specific to annotations coming from the `io.lionweb.mps.specific` language, in favor of using the types and functionality provided by the `@lionweb/io-lionweb-mps-specific` package.
6
+ **Note**: this slightly breaks the API of the generator, but in such a trivial way (because of the use of defaults) that it doesn't warrant an increment in major version, IOHO.
7
+
@@ -1,5 +1,4 @@
1
1
  import { LanguageEntity } from "@lionweb/core";
2
- import { LionWebId } from "@lionweb/json";
3
- import { Imports, MpsAnnotation } from "./helpers/index.js";
4
- export declare const typeForLanguageEntity: (imports: Imports, mpsAnnotationsPerId: Record<LionWebId, MpsAnnotation[]>) => (entity: LanguageEntity) => import("littoral-templates").Template[];
2
+ import { Imports } from "./helpers/index.js";
3
+ export declare const typeForLanguageEntity: (imports: Imports) => (entity: LanguageEntity) => import("littoral-templates").Template[];
5
4
  //# sourceMappingURL=entity-types.templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-types.templates.d.ts","sourceRoot":"","sources":["../../src/api/entity-types.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAUH,cAAc,EAOjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC,OAAO,EAOH,OAAO,EAEP,aAAa,EAOhB,MAAM,oBAAoB,CAAA;AAc3B,eAAO,MAAM,qBAAqB,YAAa,OAAO,uBAAuB,OAAO,SAAS,EAAE,aAAa,EAAE,CAAC,cAqK3F,cAAc,4CAoBjC,CAAA"}
1
+ {"version":3,"file":"entity-types.templates.d.ts","sourceRoot":"","sources":["../../src/api/entity-types.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAUH,cAAc,EAOjB,MAAM,eAAe,CAAA;AAKtB,OAAO,EAKH,OAAO,EAQV,MAAM,oBAAoB,CAAA;AAc3B,eAAO,MAAM,qBAAqB,YAAa,OAAO,cAqKlC,cAAc,4CAoBjC,CAAA"}
@@ -15,9 +15,10 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
  import { builtinClassifiers, Classifier, Enumeration, featureMetaType, Interface, isContainment, isProperty, isReference, Link, nameSorted, PrimitiveType, Property, Reference } from "@lionweb/core";
18
+ import { ConceptDescription, Deprecated, ioLionWebMpsSpecificAnnotationsFrom } from "@lionweb/io-lionweb-mps-specific";
18
19
  import { commaSeparated, when, withNewlineAppended } from "littoral-templates";
19
20
  import { indent, switchOrIf, withFirstUpper, wrapInIf } from "../utils/textgen.js";
20
- import { ConceptDescription, Deprecated, entityMetaType, extendsFrom, featuresToConcretelyImplementOf, implementsFrom, isAbstract, optionalityPostfix, tsFieldTypeForFeature, tsTypeForClassifier, tsTypeForDatatype, tsTypeForPrimitiveType, tsTypeForValueManager } from "./helpers/index.js";
21
+ import { entityMetaType, extendsFrom, featuresToConcretelyImplementOf, implementsFrom, isAbstract, optionalityPostfix, tsFieldTypeForFeature, tsTypeForClassifier, tsTypeForDatatype, tsTypeForPrimitiveType, tsTypeForValueManager } from "./helpers/index.js";
21
22
  const cardinalityPrefix = (feature) => {
22
23
  if (feature instanceof Property) {
23
24
  return feature.optional ? "Optional" : "Required";
@@ -27,7 +28,7 @@ const cardinalityPrefix = (feature) => {
27
28
  }
28
29
  };
29
30
  const valueManagerFor = (feature) => `${cardinalityPrefix(feature)}${featureMetaType(feature)}ValueManager`;
30
- export const typeForLanguageEntity = (imports, mpsAnnotationsPerId) => {
31
+ export const typeForLanguageEntity = (imports) => {
31
32
  const sortedSuperTypesCond = (ts, prefix) => ts.length === 0 ? `` : `${prefix}${nameSorted(ts).map((t) => imports.entity(t)).join(", ")}`;
32
33
  const extendsCond = (ref) => ` extends ${ref === builtinClassifiers.node ? imports.generic("NodeBase") : imports.entity(ref)}`;
33
34
  const classMembersForProperty = (property) => {
@@ -138,13 +139,13 @@ export const typeForLanguageEntity = (imports, mpsAnnotationsPerId) => {
138
139
  ];
139
140
  const typeForPrimitiveType = (primitiveType) => `export type ${primitiveType.name} = ${tsTypeForPrimitiveType(primitiveType)};`;
140
141
  const jsDocFor = (entity) => {
141
- const mpsAnnotationsForEntity = mpsAnnotationsPerId[entity.id] ?? [];
142
- const conceptDescription = mpsAnnotationsForEntity.find((mpsAnnotation) => mpsAnnotation instanceof ConceptDescription);
143
- const hasShortConceptDescription = !!(conceptDescription?.shortDescription);
144
- const deprecated = mpsAnnotationsForEntity.find((mpsAnnotation) => mpsAnnotation instanceof Deprecated);
142
+ const annotations = ioLionWebMpsSpecificAnnotationsFrom(entity);
143
+ const conceptDescription = annotations.find((annotation) => annotation instanceof ConceptDescription);
144
+ const hasShortConceptDescription = !!(conceptDescription?.conceptShortDescription);
145
+ const deprecated = annotations.find((annotation) => annotation instanceof Deprecated);
145
146
  return when(hasShortConceptDescription || deprecated !== undefined)([
146
147
  `/**`,
147
- when(hasShortConceptDescription)(() => ` * ${conceptDescription.shortDescription}`),
148
+ when(hasShortConceptDescription)(() => ` * ${conceptDescription.conceptShortDescription}`),
148
149
  when(deprecated !== undefined)(() => ` * @deprecated ${deprecated.comment ?? ""}${deprecated.build === null ? "" : ` (build: ${deprecated.build})`}`),
149
150
  ` */`
150
151
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"entity-types.templates.js","sourceRoot":"","sources":["../../src/api/entity-types.templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-types.templates.js","sourceRoot":"","sources":["../../src/api/entity-types.templates.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  import { Language } from "@lionweb/core";
2
- import { MpsAnnotation } from "./helpers/index.js";
3
2
  export type GeneratorOptions = {
4
- mpsAnnotations: MpsAnnotation[];
5
3
  genericImportLocation: string;
6
4
  header?: string;
7
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/api/generator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,QAAQ,EAAY,MAAM,eAAe,CAAA;AAMxE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQlD,MAAM,MAAM,gBAAgB,GAAG;IAC3B,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAUD,eAAO,MAAM,gBAAgB,aAAc,QAAQ,kBAAkB,MAAM,YAAY,QAAQ,gBAAgB,CAAC,KAAG,MAKlH,CAAA;AAGD,eAAO,MAAM,4BAA4B,sBAAuB,MAAM,kBAAkB,MAAM,YAAY,QAAQ,gBAAgB,CAAC,SAQlI,CAAA;AAGD,eAAO,MAAM,wBAAwB,cAAe,QAAQ,EAAE,kBAAkB,MAAM,iBAAiB,QAAQ,gBAAgB,CAAC,SAkB/H,CAAA"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/api/generator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,QAAQ,EAAY,MAAM,eAAe,CAAA;AAaxE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AASD,eAAO,MAAM,gBAAgB,aAAc,QAAQ,kBAAkB,MAAM,YAAY,QAAQ,gBAAgB,CAAC,KAAG,MAKlH,CAAA;AAGD,eAAO,MAAM,4BAA4B,sBAAuB,MAAM,kBAAkB,MAAM,YAAY,QAAQ,gBAAgB,CAAC,SAQlI,CAAA;AAGD,eAAO,MAAM,wBAAwB,cAAe,QAAQ,EAAE,kBAAkB,MAAM,iBAAiB,QAAQ,gBAAgB,CAAC,SAkB/H,CAAA"}
@@ -23,7 +23,6 @@ import { indexTsFor } from "./index-ts.js";
23
23
  import { languageFileFor } from "./language-file.templates.js";
24
24
  const properGenericImportLocation = "@lionweb/class-core";
25
25
  const withDefaults = (options) => ({
26
- mpsAnnotations: options?.mpsAnnotations ?? [],
27
26
  genericImportLocation: options?.genericImportLocation ?? properGenericImportLocation,
28
27
  header: options?.header
29
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/api/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/api/generator.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,5 @@ export * from "./dependencies.js";
3
3
  export * from "./entities.js";
4
4
  export * from "./features.js";
5
5
  export * from "./imports-tracking.js";
6
- export * from "./mps-annotations.js";
7
6
  export * from "./primitive-types.js";
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/helpers/index.ts"],"names":[],"mappings":"AAiBA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/helpers/index.ts"],"names":[],"mappings":"AAiBA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
@@ -19,6 +19,5 @@ export * from "./dependencies.js";
19
19
  export * from "./entities.js";
20
20
  export * from "./features.js";
21
21
  export * from "./imports-tracking.js";
22
- export * from "./mps-annotations.js";
23
22
  export * from "./primitive-types.js";
24
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/helpers/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/helpers/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
@@ -1,5 +1,4 @@
1
1
  export { generateLanguage, generateApiFromLanguages, generateApiFromLanguagesJson } from "./generator.js";
2
2
  export * from "./generation-headers.js";
3
- export * from "./helpers/mps-annotations.js";
4
3
  export * from "./mega-factory.templates.js";
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,gBAAgB,EAAE,wBAAwB,EAAE,4BAA4B,EAAC,MAAM,gBAAgB,CAAA;AACvG,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AACzG,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA"}
package/dist/api/index.js CHANGED
@@ -16,6 +16,5 @@
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
  export { generateLanguage, generateApiFromLanguages, generateApiFromLanguagesJson } from "./generator.js";
18
18
  export * from "./generation-headers.js";
19
- export * from "./helpers/mps-annotations.js";
20
19
  export * from "./mega-factory.templates.js";
21
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/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,gBAAgB,EAAE,wBAAwB,EAAE,4BAA4B,EAAC,MAAM,gBAAgB,CAAA;AACvG,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AACzG,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"language-file.templates.d.ts","sourceRoot":"","sources":["../../src/api/language-file.templates.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAW,QAAQ,EAAE,MAAM,eAAe,CAAA;AAMjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAQjD,eAAO,MAAM,eAAe,aAAc,QAAQ,WAAW,gBAAgB,WAwC5E,CAAA"}
1
+ {"version":3,"file":"language-file.templates.d.ts","sourceRoot":"","sources":["../../src/api/language-file.templates.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAW,QAAQ,EAAE,MAAM,eAAe,CAAA;AAMjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAQjD,eAAO,MAAM,eAAe,aAAc,QAAQ,WAAW,gBAAgB,WAsC5E,CAAA"}
@@ -16,7 +16,7 @@
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
  import { sortedStringsByUppercase } from "@lionweb/ts-utils";
18
18
  import { Concept } from "@lionweb/core";
19
- import { dependencyOrderOf, groupBy } from "@lionweb/ts-utils";
19
+ import { dependencyOrderOf } from "@lionweb/ts-utils";
20
20
  import { asString, commaSeparated, when, withNewlineAppended } from "littoral-templates";
21
21
  import { indent } from "../utils/textgen.js";
22
22
  import { typeForLanguageEntity } from "./entity-types.templates.js";
@@ -30,7 +30,6 @@ export const languageFileFor = (language, options) => {
30
30
  if (typeof orderedEntities === "boolean") {
31
31
  throw new Error(`language ${name} has a cycle among the graph of entities with edges formed by the inheritance dependency`);
32
32
  }
33
- const mpsAnnotationsPerId = groupBy(options.mpsAnnotations, ({ annotatedNodeId }) => annotatedNodeId);
34
33
  const postImportsPart = [
35
34
  ``,
36
35
  reflectiveClassFor(imports)(language),
@@ -38,7 +37,7 @@ export const languageFileFor = (language, options) => {
38
37
  ``,
39
38
  orderedEntities
40
39
  .filter((entity) => entity.language === language)
41
- .map(withNewlineAppended(typeForLanguageEntity(imports, mpsAnnotationsPerId)))
40
+ .map(withNewlineAppended(typeForLanguageEntity(imports)))
42
41
  ];
43
42
  return asString([
44
43
  options?.header ?? [],
@@ -1 +1 @@
1
- {"version":3,"file":"language-file.templates.js","sourceRoot":"","sources":["../../src/api/language-file.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,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAY,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,KAAe,EAAE,EAAE,CACrD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;AAGzH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,OAAyB,EAAE,EAAE;IAE7E,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAA;IAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAA;IAErC,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,YAAY,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACxI,IAAI,OAAO,eAAe,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,0FAA0F,CAAC,CAAA;IAC/H,CAAC;IAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAC,eAAe,EAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAA;IAEnG,MAAM,eAAe,GAAG;QACpB,EAAE;QACF,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QACrC,EAAE;QACF,EAAE;QACF,eAAe;aACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;aAChD,GAAG,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;KACrF,CAAA;IAED,OAAO,QAAQ,CAAC;QACZ,OAAO,EAAE,MAAM,IAAI,EAAE;QACrB;;kBAEU,IAAI;kBACJ,OAAO;kBACP,GAAG;kBACH,EAAE;IAChB;QACI,EAAE;QACF,EAAE;QACF,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC;QACrD,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC;QACrD,eAAe,CAAC,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC,cAAc,CAAC;QACtE,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC;QACxD,eAAe;KAClB,CAAC,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"language-file.templates.js","sourceRoot":"","sources":["../../src/api/language-file.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,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAY,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,KAAe,EAAE,EAAE,CACrD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;AAGzH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,OAAyB,EAAE,EAAE;IAE7E,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAA;IAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAA;IAErC,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,YAAY,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACxI,IAAI,OAAO,eAAe,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,0FAA0F,CAAC,CAAA;IAC/H,CAAC;IAED,MAAM,eAAe,GAAG;QACpB,EAAE;QACF,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QACrC,EAAE;QACF,EAAE;QACF,eAAe;aACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;aAChD,GAAG,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;KAChE,CAAA;IAED,OAAO,QAAQ,CAAC;QACZ,OAAO,EAAE,MAAM,IAAI,EAAE;QACrB;;kBAEU,IAAI;kBACJ,OAAO;kBACP,GAAG;kBACH,EAAE;IAChB;QACI,EAAE;QACF,EAAE;QACF,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC;QACrD,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC;QACrD,eAAe,CAAC,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC,cAAc,CAAC;QACtE,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC;QACxD,eAAe;KAClB,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -1,4 +1,3 @@
1
1
  import { Language } from "@lionweb/core";
2
- import { MpsAnnotation } from "./helpers/index.js";
3
- export declare const megaFactoryFor: (megaFactoryName: string, languages: Language[], mpsAnnotations?: MpsAnnotation[], header?: string) => string;
2
+ export declare const megaFactoryFor: (megaFactoryName: string, languages: Language[], header?: string) => string;
4
3
  //# sourceMappingURL=mega-factory.templates.d.ts.map
@@ -1 +1 @@
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;AAIpE,OAAO,EAAc,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAE9D,eAAO,MAAM,cAAc,oBAAqB,MAAM,aAAa,QAAQ,EAAE,mBAAkB,aAAa,EAAE,WAAgB,MAAM,WAgDnI,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,9 +17,9 @@
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 = {`,
@@ -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,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,EAAiB,MAAM,oBAAoB,CAAA;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,eAAuB,EAAE,SAAqB,EAAE,iBAAkC,EAAE,EAAE,MAAe,EAAE,EAAE;IACpI,MAAM,eAAe,GAAG,CAAC,MAAsB,EAAE,EAAE,CAC/C,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,KAAK,MAAM,CAAC,EAAE,IAAI,aAAa,YAAY,UAAU,CAAC,CAAA;IAE7H,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
+ {"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/class-core-generator",
3
- "version": "0.7.0-alpha.1",
3
+ "version": "0.7.0-alpha.3",
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,10 +27,11 @@
27
27
  "release": "npm publish"
28
28
  },
29
29
  "devDependencies": {
30
- "@lionweb/core": "0.7.0-alpha.1",
31
- "@lionweb/json": "0.7.0-alpha.1",
32
- "@lionweb/ts-utils": "0.7.0-alpha.1",
33
- "@lionweb/utilities": "0.7.0-alpha.1",
30
+ "@lionweb/core": "0.7.0-alpha.3",
31
+ "@lionweb/io-lionweb-mps-specific": "0.7.0-alpha.3",
32
+ "@lionweb/json": "0.7.0-alpha.3",
33
+ "@lionweb/ts-utils": "0.7.0-alpha.3",
34
+ "@lionweb/utilities": "0.7.0-alpha.3",
34
35
  "@types/node": "22.15.21",
35
36
  "littoral-templates": "0.3.0",
36
37
  "typescript": "5.3.3"
@@ -33,20 +33,17 @@ import {
33
33
  Reference,
34
34
  SingleRef
35
35
  } from "@lionweb/core"
36
- import { LionWebId } from "@lionweb/json"
36
+ import { ConceptDescription, Deprecated, ioLionWebMpsSpecificAnnotationsFrom } from "@lionweb/io-lionweb-mps-specific"
37
37
  import { commaSeparated, when, withNewlineAppended } from "littoral-templates"
38
38
 
39
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,
@@ -67,7 +64,7 @@ const cardinalityPrefix = (feature: Feature) => {
67
64
  const valueManagerFor = (feature: Feature) =>
68
65
  `${cardinalityPrefix(feature)}${featureMetaType(feature)}ValueManager`
69
66
 
70
- export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Record<LionWebId, MpsAnnotation[]>) => {
67
+ export const typeForLanguageEntity = (imports: Imports) => {
71
68
 
72
69
  const sortedSuperTypesCond = <T extends Classifier>(ts: T[], prefix: string): string =>
73
70
  ts.length === 0 ? `` : `${prefix}${nameSorted(ts).map((t) => imports.entity(t)).join(", ")}`
@@ -216,14 +213,14 @@ export const typeForLanguageEntity = (imports: Imports, mpsAnnotationsPerId: Rec
216
213
  `export type ${primitiveType.name} = ${tsTypeForPrimitiveType(primitiveType)};`
217
214
 
218
215
  const jsDocFor = (entity: LanguageEntity) => {
219
- const mpsAnnotationsForEntity = mpsAnnotationsPerId[entity.id] ?? []
220
- const conceptDescription = mpsAnnotationsForEntity.find((mpsAnnotation) => mpsAnnotation instanceof ConceptDescription) as ConceptDescription
221
- const hasShortConceptDescription = !!(conceptDescription?.shortDescription)
222
- 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
223
220
  return when(hasShortConceptDescription || deprecated !== undefined)([
224
221
  `/**`,
225
222
  when(hasShortConceptDescription)(
226
- () => ` * ${conceptDescription.shortDescription}`
223
+ () => ` * ${conceptDescription.conceptShortDescription}`
227
224
  ),
228
225
  when(deprecated !== undefined)(
229
226
  () => ` * @deprecated ${deprecated.comment ?? ""}${deprecated.build === null ? "" : ` (build: ${deprecated.build})`}`
@@ -21,7 +21,6 @@ import { readFileAsJson } from "@lionweb/utilities"
21
21
  import { writeFileSync } from "fs"
22
22
  import { join } from "path"
23
23
  import { cwd } from "process"
24
- import { MpsAnnotation } from "./helpers/index.js"
25
24
 
26
25
  import { indexTsFor } from "./index-ts.js"
27
26
  import { languageFileFor } from "./language-file.templates.js"
@@ -30,14 +29,12 @@ 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
  })
@@ -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
23
  export * from "./primitive-types.js"
package/src/api/index.ts CHANGED
@@ -15,7 +15,6 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
 
18
- export {generateLanguage, generateApiFromLanguages, generateApiFromLanguagesJson} from "./generator.js"
18
+ export { generateLanguage, generateApiFromLanguages, generateApiFromLanguagesJson } from "./generator.js"
19
19
  export * from "./generation-headers.js"
20
- export * from "./helpers/mps-annotations.js"
21
20
  export * from "./mega-factory.templates.js"
@@ -17,7 +17,7 @@
17
17
 
18
18
  import { sortedStringsByUppercase } from "@lionweb/ts-utils"
19
19
  import { Concept, Language } from "@lionweb/core"
20
- import { dependencyOrderOf, groupBy } from "@lionweb/ts-utils"
20
+ import { dependencyOrderOf } from "@lionweb/ts-utils"
21
21
  import { asString, commaSeparated, when, withNewlineAppended } from "littoral-templates"
22
22
  import { indent } from "../utils/textgen.js"
23
23
 
@@ -41,8 +41,6 @@ export const languageFileFor = (language: Language, options: GeneratorOptions) =
41
41
  throw new Error(`language ${name} has a cycle among the graph of entities with edges formed by the inheritance dependency`)
42
42
  }
43
43
 
44
- const mpsAnnotationsPerId = groupBy(options.mpsAnnotations, ({annotatedNodeId}) => annotatedNodeId)
45
-
46
44
  const postImportsPart = [
47
45
  ``,
48
46
  reflectiveClassFor(imports)(language),
@@ -50,7 +48,7 @@ export const languageFileFor = (language: Language, options: GeneratorOptions) =
50
48
  ``,
51
49
  orderedEntities
52
50
  .filter((entity) => entity.language === language)
53
- .map(withNewlineAppended(typeForLanguageEntity(imports, mpsAnnotationsPerId)))
51
+ .map(withNewlineAppended(typeForLanguageEntity(imports)))
54
52
  ]
55
53
 
56
54
  return asString([
@@ -19,11 +19,11 @@ import { isConcrete, Language, LanguageEntity } from "@lionweb/core"
19
19
  import { asString, commaSeparated } from "littoral-templates"
20
20
 
21
21
  import { asJSIdentifier, indent } from "../utils/textgen.js"
22
- import { Deprecated, MpsAnnotation } from "./helpers/index.js"
22
+ import { Deprecated, ioLionWebMpsSpecificAnnotationsFrom } from "@lionweb/io-lionweb-mps-specific"
23
23
 
24
- export const megaFactoryFor = (megaFactoryName: string, languages: Language[], mpsAnnotations: MpsAnnotation[] = [], header?: string) => {
24
+ export const megaFactoryFor = (megaFactoryName: string, languages: Language[], header?: string) => {
25
25
  const isNotDeprecated = (entity: LanguageEntity) =>
26
- !mpsAnnotations.some(mpsAnnotation => mpsAnnotation.annotatedNodeId === entity.id && mpsAnnotation instanceof Deprecated)
26
+ !ioLionWebMpsSpecificAnnotationsFrom(entity).some((annotation) => annotation instanceof Deprecated)
27
27
 
28
28
  const requiresFactoryMethod = (entity: LanguageEntity) => isConcrete(entity) && isNotDeprecated(entity)
29
29
 
@@ -1,19 +0,0 @@
1
- import { LionWebId, LionWebJsonChunk } from "@lionweb/json";
2
- export declare abstract class MpsAnnotation {
3
- readonly annotatedNodeId: LionWebId;
4
- constructor(annotatedNodeId: LionWebId);
5
- }
6
- export declare class ConceptDescription extends MpsAnnotation {
7
- readonly shortDescription: string | null;
8
- readonly alias: string | null;
9
- constructor(annotatedNodeId: LionWebId, shortDescription: string | null, alias: string | null);
10
- toString(): string;
11
- }
12
- export declare class Deprecated extends MpsAnnotation {
13
- readonly comment: string | null;
14
- readonly build: string | null;
15
- constructor(annotatedNodeId: LionWebId, comment: string | null, build: string | null);
16
- toString(): string;
17
- }
18
- export declare const extractedMpsAnnotations: ({ nodes }: LionWebJsonChunk) => MpsAnnotation[];
19
- //# sourceMappingURL=mps-annotations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mps-annotations.d.ts","sourceRoot":"","sources":["../../../src/api/helpers/mps-annotations.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAc,MAAM,eAAe,CAAA;AAEvE,8BAAsB,aAAa;aACH,eAAe,EAAE,SAAS;gBAA1B,eAAe,EAAE,SAAS;CACzD;AAED,qBAAa,kBAAmB,SAAQ,aAAa;aACO,gBAAgB,EAAE,MAAM,GAAG,IAAI;aAAkB,KAAK,EAAE,MAAM,GAAG,IAAI;gBAAjH,eAAe,EAAE,SAAS,EAAkB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAAkB,KAAK,EAAE,MAAM,GAAG,IAAI;IAG7H,QAAQ;CAGX;AAED,qBAAa,UAAW,SAAQ,aAAa;aACe,OAAO,EAAE,MAAM,GAAG,IAAI;aAAkB,KAAK,EAAE,MAAM,GAAG,IAAI;gBAAxG,eAAe,EAAE,SAAS,EAAkB,OAAO,EAAE,MAAM,GAAG,IAAI,EAAkB,KAAK,EAAE,MAAM,GAAG,IAAI;IAGpH,QAAQ;CAGX;AAGD,eAAO,MAAM,uBAAuB,cAAa,gBAAgB,KAAG,aAAa,EAuB3E,CAAA"}
@@ -1,65 +0,0 @@
1
- // Copyright 2025 TRUMPF Laser SE and other contributors
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License")
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- //
15
- // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
- // SPDX-License-Identifier: Apache-2.0
17
- export class MpsAnnotation {
18
- constructor(annotatedNodeId) {
19
- this.annotatedNodeId = annotatedNodeId;
20
- }
21
- }
22
- export class ConceptDescription extends MpsAnnotation {
23
- constructor(annotatedNodeId, shortDescription, alias) {
24
- super(annotatedNodeId);
25
- this.shortDescription = shortDescription;
26
- this.alias = alias;
27
- }
28
- toString() {
29
- return `<ConceptDescription> annotatedNodeId=${this.annotatedNodeId}, shortDescription="${this.shortDescription}"`;
30
- }
31
- }
32
- export class Deprecated extends MpsAnnotation {
33
- constructor(annotatedNodeId, comment, build) {
34
- super(annotatedNodeId);
35
- this.comment = comment;
36
- this.build = build;
37
- }
38
- toString() {
39
- return `<Deprecated> annotatedNodeId=${this.annotatedNodeId}, comment="${this.comment}", build="${this.build}"`;
40
- }
41
- }
42
- export const extractedMpsAnnotations = ({ nodes }) => nodes.flatMap(({ classifier, properties, parent }) => {
43
- const propertyValue = (key) => {
44
- const property = properties.find(({ property }) => property.key === key);
45
- return property === undefined
46
- ? null
47
- : property.value;
48
- };
49
- if (classifier.language !== "io-lionweb-mps-specific" || classifier.version !== "0") {
50
- return [];
51
- }
52
- switch (classifier.key) {
53
- case "ConceptDescription": {
54
- return [new ConceptDescription(parent, propertyValue("ConceptDescription-conceptShortDescription"), propertyValue("ConceptDescription-conceptAlias"))];
55
- }
56
- case "Deprecated": {
57
- return [new Deprecated(parent, propertyValue("Deprecated-comment"), propertyValue("Deprecated-build"))];
58
- }
59
- default: {
60
- console.log(`couldn't handle MPS annotation with key ${classifier.key}`);
61
- return [];
62
- }
63
- }
64
- });
65
- //# sourceMappingURL=mps-annotations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mps-annotations.js","sourceRoot":"","sources":["../../../src/api/helpers/mps-annotations.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;AAItC,MAAM,OAAgB,aAAa;IAC/B,YAA4B,eAA0B;QAA1B,oBAAe,GAAf,eAAe,CAAW;IAAG,CAAC;CAC7D;AAED,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IACjD,YAAY,eAA0B,EAAkB,gBAA+B,EAAkB,KAAoB;QACzH,KAAK,CAAC,eAAe,CAAC,CAAA;QAD8B,qBAAgB,GAAhB,gBAAgB,CAAe;QAAkB,UAAK,GAAL,KAAK,CAAe;IAE7H,CAAC;IACD,QAAQ;QACJ,OAAO,wCAAwC,IAAI,CAAC,eAAe,uBAAuB,IAAI,CAAC,gBAAgB,GAAG,CAAA;IACtH,CAAC;CACJ;AAED,MAAM,OAAO,UAAW,SAAQ,aAAa;IACzC,YAAY,eAA0B,EAAkB,OAAsB,EAAkB,KAAoB;QAChH,KAAK,CAAC,eAAe,CAAC,CAAA;QAD8B,YAAO,GAAP,OAAO,CAAe;QAAkB,UAAK,GAAL,KAAK,CAAe;IAEpH,CAAC;IACD,QAAQ;QACJ,OAAO,gCAAgC,IAAI,CAAC,eAAe,cAAc,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,KAAK,GAAG,CAAA;IACnH,CAAC;CACJ;AAGD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAAmB,EAAmB,EAAE,CAClF,KAAK,CAAC,OAAO,CAAgB,CAAC,EAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAC,EAAE,EAAE;IAC9D,MAAM,aAAa,GAAG,CAAC,GAAe,EAAiB,EAAE;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;QACtE,OAAO,QAAQ,KAAK,SAAS;YACzB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAA;IACxB,CAAC,CAAA;IACD,IAAI,UAAU,CAAC,QAAQ,KAAK,yBAAyB,IAAI,UAAU,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;QAClF,OAAO,EAAE,CAAA;IACb,CAAC;IACD,QAAQ,UAAU,CAAC,GAAG,EAAE,CAAC;QACrB,KAAK,oBAAoB,CAAC,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,kBAAkB,CAAC,MAAO,EAAE,aAAa,CAAC,4CAA4C,CAAC,EAAE,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAA;QAC3J,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,IAAI,UAAU,CAAC,MAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;QAC5G,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2CAA2C,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;YACxE,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;AACL,CAAC,CAAC,CAAA"}
@@ -1,67 +0,0 @@
1
- // Copyright 2025 TRUMPF Laser SE and other contributors
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License")
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- //
15
- // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
- // SPDX-License-Identifier: Apache-2.0
17
-
18
- import { LionWebId, LionWebJsonChunk, LionWebKey } from "@lionweb/json"
19
-
20
- export abstract class MpsAnnotation {
21
- constructor(public readonly annotatedNodeId: LionWebId) {}
22
- }
23
-
24
- export class ConceptDescription extends MpsAnnotation {
25
- constructor(annotatedNodeId: LionWebId, public readonly shortDescription: string | null, public readonly alias: string | null) {
26
- super(annotatedNodeId)
27
- }
28
- toString() {
29
- return `<ConceptDescription> annotatedNodeId=${this.annotatedNodeId}, shortDescription="${this.shortDescription}"`
30
- }
31
- }
32
-
33
- export class Deprecated extends MpsAnnotation {
34
- constructor(annotatedNodeId: LionWebId, public readonly comment: string | null, public readonly build: string | null) {
35
- super(annotatedNodeId)
36
- }
37
- toString() {
38
- return `<Deprecated> annotatedNodeId=${this.annotatedNodeId}, comment="${this.comment}", build="${this.build}"`
39
- }
40
- }
41
-
42
-
43
- export const extractedMpsAnnotations = ({nodes}: LionWebJsonChunk): MpsAnnotation[] =>
44
- nodes.flatMap<MpsAnnotation>(({classifier, properties, parent}) => {
45
- const propertyValue = (key: LionWebKey): string | null => {
46
- const property = properties.find(({property}) => property.key === key)
47
- return property === undefined
48
- ? null
49
- : property.value
50
- }
51
- if (classifier.language !== "io-lionweb-mps-specific" || classifier.version !== "0") {
52
- return []
53
- }
54
- switch (classifier.key) {
55
- case "ConceptDescription": {
56
- return [new ConceptDescription(parent!, propertyValue("ConceptDescription-conceptShortDescription"), propertyValue("ConceptDescription-conceptAlias"))]
57
- }
58
- case "Deprecated": {
59
- return [new Deprecated(parent!, propertyValue("Deprecated-comment"), propertyValue("Deprecated-build"))]
60
- }
61
- default: {
62
- console.log(`couldn't handle MPS annotation with key ${classifier.key}`)
63
- return []
64
- }
65
- }
66
- })
67
-