@lionweb/class-core-generator 0.10.0-beta.8 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # Changelog
2
2
 
3
- ## 0.10.0 — not yet released
3
+ ## 0.10.1
4
+
5
+ * Put proper `override` markers on `get{Property|Containment|Reference}ValueManager` methods on classes generated for concrete classifiers.
6
+
7
+
8
+ ## 0.10.0
4
9
 
5
10
  * Use a literal of `ConceptModifier` for the 5th of `new Concept(...)` in generated code.
6
11
  * Expose `move[AndReplace]<Name of containment>OffsetBased` methods for all multi-valued containments in generated code.
@@ -14,7 +14,7 @@
14
14
  //
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
- import { Classifier, Containment, Enumeration, featureMetaType, Interface, isBuiltinNodeConcept, isContainment, isProperty, isRef, isReference, isReferenceToSet, isUnresolvedReference, LanguageEntity, Link, nameSorted, PrimitiveType, Property, Reference } from "@lionweb/core";
17
+ import { Classifier, Containment, Enumeration, featureMetaType, Interface, isBuiltinNodeConcept, isContainment, isProperty, isReference, isReferenceToSet, isResolvedReference, isUnresolvedReference, LanguageEntity, Link, nameSorted, PrimitiveType, Property, Reference } from "@lionweb/core";
18
18
  import { ConceptDescription, Deprecated, ioLionWebMpsSpecificAnnotationsFrom, KeyedDescription, ShortDescription, VirtualPackage } from "@lionweb/io-lionweb-mps-specific";
19
19
  import { indent, switchOrIf, withFirstUpper } from "@lionweb/textgen-utils";
20
20
  import { commaSeparated, when, withNewlineAppended } from "littoral-templates";
@@ -118,7 +118,7 @@ export const typeForLanguageEntity = (imports) => {
118
118
  })();
119
119
  return [
120
120
  ``,
121
- `get${featureMetaType_}ValueManager(${argumentName}: ${imports.core(featureMetaType_)}): ${imports.generic(featureMetaType_ + "ValueManager")}<${typeParameter}> {`,
121
+ `override get${featureMetaType_}ValueManager(${argumentName}: ${imports.core(featureMetaType_)}): ${imports.generic(featureMetaType_ + "ValueManager")}<${typeParameter}> {`,
122
122
  indent(switchOrIf(`${argumentName}.key`, features.map((feature) => [`${imports.language(feature.classifier.language)}.INSTANCE.${feature.classifier.name}_${feature.name}.key`, `this._${feature.name}`]), `return super.get${featureMetaType_}ValueManager(${argumentName});`)),
123
123
  `}`
124
124
  ];
@@ -170,7 +170,7 @@ export const typeForLanguageEntity = (imports) => {
170
170
  `}`
171
171
  ];
172
172
  const interfaceFor = (interface_) => [
173
- `export interface ${interface_.name} extends ${interface_.extends.length > 0 ? interface_.extends.filter(isRef).map((superInterface) => imports.entity(superInterface)).join(", ") : imports.generic("INodeBase")} {`,
173
+ `export interface ${interface_.name} extends ${interface_.extends.length > 0 ? interface_.extends.filter(isResolvedReference).map((superInterface) => imports.entity(superInterface)).join(", ") : imports.generic("INodeBase")} {`,
174
174
  indent(interface_.features.map((feature) => `${feature.name}: ${tsFieldTypeForFeature(feature, imports)};`)),
175
175
  `}`
176
176
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"entity-types.templates.js","sourceRoot":"","sources":["../src/entity-types.templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-types.templates.js","sourceRoot":"","sources":["../src/entity-types.templates.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  //
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
- import { allFeaturesOf, allSuperTypesOf, Annotation, Concept, Interface, isRef } from "@lionweb/core";
17
+ import { allFeaturesOf, allSuperTypesOf, Annotation, Concept, Interface, isResolvedReference } from "@lionweb/core";
18
18
  import { uniquesAmong } from "@lionweb/ts-utils";
19
19
  export const isAbstract = (classifier) => classifier instanceof Concept && classifier.abstract;
20
20
  /*
@@ -31,10 +31,10 @@ export const extendsFrom = (classifier) => {
31
31
  };
32
32
  export const implementsFrom = (classifier) => {
33
33
  if (classifier instanceof Annotation) {
34
- return classifier.implements.filter(isRef);
34
+ return classifier.implements.filter(isResolvedReference);
35
35
  }
36
36
  if (classifier instanceof Concept) {
37
- return classifier.implements.filter(isRef);
37
+ return classifier.implements.filter(isResolvedReference);
38
38
  }
39
39
  return [];
40
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"classifiers.js","sourceRoot":"","sources":["../../src/helpers/classifiers.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EACH,aAAa,EACb,eAAe,EACf,UAAU,EAEV,OAAO,EAEP,SAAS,EACT,KAAK,EAER,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAsB,EAAW,EAAE,CAAC,UAAU,YAAY,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAA;AACnH;;GAEG;AAGH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAqC,EAAE;IACrF,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,OAAO,CAAA;IAC7B,CAAC;IACD,IAAI,UAAU,YAAY,OAAO,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,OAAO,CAAA;IAC7B,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAgB,EAAE;IACnE,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IACD,IAAI,UAAU,YAAY,OAAO,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,EAAE,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,UAAsB,EAAa,EAAE;IACjF,IAAI,UAAU,YAAY,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,CAAA;IACb,CAAC;IACD,MAAM,mBAAmB,GAAG,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAA;IAC9G,OAAO,aAAa,CAAC,UAAU,CAAC;SAC3B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACzE,CAAC,CAAA"}
1
+ {"version":3,"file":"classifiers.js","sourceRoot":"","sources":["../../src/helpers/classifiers.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EACH,aAAa,EACb,eAAe,EACf,UAAU,EAEV,OAAO,EAEP,SAAS,EACT,mBAAmB,EAEtB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAsB,EAAW,EAAE,CAAC,UAAU,YAAY,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAA;AACnH;;GAEG;AAGH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAqC,EAAE;IACrF,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,OAAO,CAAA;IAC7B,CAAC;IACD,IAAI,UAAU,YAAY,OAAO,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,OAAO,CAAA;IAC7B,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAgB,EAAE;IACnE,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,UAAU,YAAY,OAAO,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,EAAE,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,UAAsB,EAAa,EAAE;IACjF,IAAI,UAAU,YAAY,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,CAAA;IACb,CAAC;IACD,MAAM,mBAAmB,GAAG,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAA;IAC9G,OAAO,aAAa,CAAC,UAAU,CAAC;SAC3B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACzE,CAAC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Language, LanguageEntity, LionCoreBuiltinsFacade } from "@lionweb/core";
2
2
  export declare const importRenamingForLanguage: (language: Language) => string;
3
3
  export declare const nameOfBaseClassForLanguage: (language: Language) => string;
4
+ export type LibName = "class-core" | "core" | "json";
4
5
  export declare class Imports {
5
6
  readonly thisLanguage: Language;
6
7
  readonly lioncoreBuiltinsFacade: LionCoreBuiltinsFacade;
@@ -8,7 +9,7 @@ export declare class Imports {
8
9
  private lioncoreBuiltinsIdentifier;
9
10
  get thisLanguageNameAsJsIdentifier(): string;
10
11
  get thisBaseClassName(): string;
11
- static importAlias: (libName: string) => string;
12
+ static importAlias: (libName: LibName) => string;
12
13
  private aliased;
13
14
  private readonly _jsonImports;
14
15
  json(identifier: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"imports-tracking.d.ts","sourceRoot":"","sources":["../../src/helpers/imports-tracking.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAGhF,eAAO,MAAM,yBAAyB,GAAI,UAAU,QAAQ,WAAkC,CAAA;AAE9F,eAAO,MAAM,0BAA0B,GAAI,UAAU,QAAQ,WACnB,CAAA;AAG1C,qBAAa,OAAO;aAEY,YAAY,EAAE,QAAQ;aAAkB,sBAAsB,EAAE,sBAAsB;gBAAtF,YAAY,EAAE,QAAQ,EAAkB,sBAAsB,EAAE,sBAAsB;IAGlH,OAAO,CAAC,0BAA0B,CAAmE;IAErG,IAAI,8BAA8B,WAEjC;IAED,IAAI,iBAAiB,WAEpB;IAED,OAAc,WAAW,GAAI,SAAS,MAAM,YACT;IACnC,OAAO,CAAC,OAAO,CACoC;IAEnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,IAAI,CAAC,UAAU,EAAE,MAAM;IAKvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,IAAI,CAAC,UAAU,EAAE,MAAM;IAKvB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,UAAU,EAAE,MAAM;IAK1B,MAAM,CAAC,MAAM,EAAE,cAAc;IAW7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IACrD,IAAI,eAAe,aAElB;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ;CAW9B"}
1
+ {"version":3,"file":"imports-tracking.d.ts","sourceRoot":"","sources":["../../src/helpers/imports-tracking.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAGhF,eAAO,MAAM,yBAAyB,GAAI,UAAU,QAAQ,WAAkC,CAAA;AAE9F,eAAO,MAAM,0BAA0B,GAAI,UAAU,QAAQ,WACnB,CAAA;AAG1C,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAA;AAIpD,qBAAa,OAAO;aAEY,YAAY,EAAE,QAAQ;aAAkB,sBAAsB,EAAE,sBAAsB;gBAAtF,YAAY,EAAE,QAAQ,EAAkB,sBAAsB,EAAE,sBAAsB;IAGlH,OAAO,CAAC,0BAA0B,CAAmE;IAErG,IAAI,8BAA8B,WAEjC;IAED,IAAI,iBAAiB,WAEpB;IAED,OAAc,WAAW,GAAI,SAAS,OAAO,YACW;IACxD,OAAO,CAAC,OAAO,CACoC;IAEnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,IAAI,CAAC,UAAU,EAAE,MAAM;IAKvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,IAAI,CAAC,UAAU,EAAE,MAAM;IAKvB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,UAAU,EAAE,MAAM;IAK1B,MAAM,CAAC,MAAM,EAAE,cAAc;IAW7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IACrD,IAAI,eAAe,aAElB;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ;CAW9B"}
@@ -17,6 +17,7 @@
17
17
  import { asJSIdentifier, withFirstUpper } from "@lionweb/textgen-utils";
18
18
  export const importRenamingForLanguage = (language) => asJSIdentifier(language.name);
19
19
  export const nameOfBaseClassForLanguage = (language) => asJSIdentifier(language.name) + "Base";
20
+ const libNameAsIdentifier = (libName) => libName === "class-core" ? "classCore" : libName;
20
21
  export class Imports {
21
22
  constructor(thisLanguage, lioncoreBuiltinsFacade) {
22
23
  this.thisLanguage = thisLanguage;
@@ -44,7 +45,7 @@ export class Imports {
44
45
  }
45
46
  generic(identifier) {
46
47
  this._genericImports.add(identifier);
47
- return this.aliased("classCore", identifier);
48
+ return this.aliased("class-core", identifier);
48
49
  }
49
50
  entity(entity) {
50
51
  if (entity.language === this.lioncoreBuiltinsFacade.language) {
@@ -71,5 +72,5 @@ export class Imports {
71
72
  return `${externalName}.${nameOfBaseClassForLanguage(language)}`;
72
73
  }
73
74
  }
74
- Imports.importAlias = (libName) => `$lw${withFirstUpper(libName)}`;
75
+ Imports.importAlias = (libName) => `$lw${withFirstUpper(libNameAsIdentifier(libName))}`;
75
76
  //# sourceMappingURL=imports-tracking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imports-tracking.js","sourceRoot":"","sources":["../../src/helpers/imports-tracking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imports-tracking.js","sourceRoot":"","sources":["../../src/helpers/imports-tracking.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export const languageFileFor = (language, lionWebVersion, options) => {
30
30
  }
31
31
  const postImportsPart = [
32
32
  ``,
33
- reflectiveClassFor(imports)(language),
33
+ reflectiveClassFor(language, imports),
34
34
  ``,
35
35
  ``,
36
36
  orderedEntities
@@ -48,7 +48,7 @@ export const languageFileFor = (language, lionWebVersion, options) => {
48
48
  */`,
49
49
  ``,
50
50
  ``,
51
- `import * as ${Imports.importAlias("classCore")} from "${options.genericImportLocation}";`,
51
+ `import * as ${Imports.importAlias("class-core")} from "${options.genericImportLocation}";`,
52
52
  `import * as ${Imports.importAlias("core")} from "@lionweb/core";`,
53
53
  `import * as ${Imports.importAlias("json")} from "@lionweb/json";`,
54
54
  when(imports.languageImports.length > 0)(`import {`, indent(commaSeparated(sortedStringsByUppercase(imports.languageImports))), `} from "${`./index.g.js`}";`),
@@ -1 +1 @@
1
- {"version":3,"file":"language-file.templates.js","sourceRoot":"","sources":["../src/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,OAAO,EAAE,mBAAmB,EAA4B,MAAM,eAAe,CAAA;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExF,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,CAAC,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,cAA8B,EAAE,OAAyB,EAAE,EAAE;IAE7G,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAA;IAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAEpE,MAAM,eAAe,GAAG,iBAAiB,CACrC,QAAQ,EACR,CAAC,MAAM,EAAE,EAAE,CACP,CAAC,MAAM,YAAY,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CACjG,CAAA;IACD,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,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,OAAO,CAAC,qBAAqB,IAAI;QAC1F,eAAe,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,wBAAwB;QAClE,eAAe,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,wBAAwB;QAClE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CACpC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,cAAc,IAAI,CACvH;QACD,eAAe;KAClB,CAAC,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"language-file.templates.js","sourceRoot":"","sources":["../src/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,OAAO,EAAE,mBAAmB,EAA4B,MAAM,eAAe,CAAA;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExF,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,CAAC,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,cAA8B,EAAE,OAAyB,EAAE,EAAE;IAE7G,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAA;IAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAEpE,MAAM,eAAe,GAAG,iBAAiB,CACrC,QAAQ,EACR,CAAC,MAAM,EAAE,EAAE,CACP,CAAC,MAAM,YAAY,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CACjG,CAAA;IACD,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,QAAQ,EAAE,OAAO,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,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,OAAO,CAAC,qBAAqB,IAAI;QAC3F,eAAe,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,wBAAwB;QAClE,eAAe,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,wBAAwB;QAClE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CACpC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,cAAc,IAAI,CACvH;QACD,eAAe;KAClB,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { Language } from "@lionweb/core";
2
2
  import { Imports } from "./helpers/index.js";
3
- export declare const reflectiveClassFor: (imports: Imports) => (language: Language) => (string | string[])[];
3
+ export declare const reflectiveClassFor: (language: Language, imports: Imports) => (string | string[])[];
4
4
  //# sourceMappingURL=reflective-layer.templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reflective-layer.templates.d.ts","sourceRoot":"","sources":["../src/reflective-layer.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAcH,QAAQ,EAOX,MAAM,eAAe,CAAA;AAKtB,OAAO,EAA+B,OAAO,EAA8B,MAAM,oBAAoB,CAAA;AAErG,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,MAmIvC,UAAU,QAAQ,0BAuE7B,CAAA"}
1
+ {"version":3,"file":"reflective-layer.templates.d.ts","sourceRoot":"","sources":["../src/reflective-layer.templates.ts"],"names":[],"mappings":"AAiBA,OAAO,EAcH,QAAQ,EAOX,MAAM,eAAe,CAAA;AAKtB,OAAO,EAA+B,OAAO,EAA8B,MAAM,oBAAoB,CAAA;AAErG,eAAO,MAAM,kBAAkB,GAAI,UAAU,QAAQ,EAAE,SAAS,OAAO,0BA0MtE,CAAA"}
@@ -19,7 +19,7 @@ import { indent, switchOrIf } from "@lionweb/textgen-utils";
19
19
  import { asArray } from "@lionweb/ts-utils";
20
20
  import { when, withNewlineAppended } from "littoral-templates";
21
21
  import { entityMetaType, extendsFrom, nameOfBaseClassForLanguage } from "./helpers/index.js";
22
- export const reflectiveClassFor = (imports) => {
22
+ export const reflectiveClassFor = (language, imports) => {
23
23
  // classifier:
24
24
  const reflectiveMembersForFeature = (feature) => {
25
25
  const { classifier, name, key, id, optional } = feature;
@@ -128,66 +128,64 @@ export const reflectiveClassFor = (imports) => {
128
128
  }
129
129
  return `// unhandled language entity <${entityMetaType(entity)}>"${name}"`;
130
130
  };
131
- return (language) => {
132
- const { version, id, key, entities } = language;
133
- const enumerations = entities.filter(isEnumeration);
134
- const concreteClassifiers = entities.filter(isConcrete);
135
- const parameterPrefix = concreteClassifiers.length === 0 ? "_" : "";
136
- const thisLocalName = (localName) => `this._${localName}`;
137
- return [
138
- `export class ${imports.thisBaseClassName} implements ${imports.generic("ILanguageBase")} {`,
131
+ const { version, id, key, entities } = language;
132
+ const enumerations = entities.filter(isEnumeration);
133
+ const concreteClassifiers = entities.filter(isConcrete);
134
+ const parameterPrefix = concreteClassifiers.length === 0 ? "_" : "";
135
+ const thisLocalName = (localName) => `this._${localName}`;
136
+ return [
137
+ `export class ${imports.thisBaseClassName} implements ${imports.generic("ILanguageBase")} {`,
138
+ ``,
139
+ indent([
140
+ `private readonly _language: ${imports.core("Language")} = new ${imports.core("Language")}("${imports.thisLanguageNameAsJsIdentifier}", "${version}", "${id}", "${key}");`,
141
+ `get language(): ${imports.core("Language")} {`,
142
+ indent([`this.ensureWiredUp();`, `return this._language;`]),
143
+ `}`,
139
144
  ``,
145
+ entities.map(withNewlineAppended(reflectiveMembersForEntity)),
146
+ `private _wiredUp: boolean = false;`,
147
+ `private ensureWiredUp() {`,
140
148
  indent([
141
- `private readonly _language: ${imports.core("Language")} = new ${imports.core("Language")}("${imports.thisLanguageNameAsJsIdentifier}", "${version}", "${id}", "${key}");`,
142
- `get language(): ${imports.core("Language")} {`,
143
- indent([`this.ensureWiredUp();`, `return this._language;`]),
144
- `}`,
145
- ``,
146
- entities.map(withNewlineAppended(reflectiveMembersForEntity)),
147
- `private _wiredUp: boolean = false;`,
148
- `private ensureWiredUp() {`,
149
- indent([
150
- `if (this._wiredUp) {`,
151
- indent(`return;`),
152
- `}`,
153
- `this._language.havingEntities(${entities.map(nameOf).map(thisLocalName).join(", ")});`,
154
- entities.map(wireUpStatementsForEntity),
155
- `this._wiredUp = true;`
156
- ]),
157
- `}`,
158
- ``,
159
- `factory(${parameterPrefix}receiveDelta?: ${imports.generic("DeltaReceiver")}): ${imports.generic("NodeBaseFactory")} {`,
160
- indent([
161
- `return (classifier: ${imports.core("Classifier")}, ${parameterPrefix}id: ${imports.json("LionWebId")}) => {`,
162
- indent(switchOrIf("classifier.key", concreteClassifiers
163
- .map((classifier) => [
164
- // case's key:
165
- `this._${classifier.name}.key`,
166
- // return value:
167
- `${classifier.name}.create(id, ${parameterPrefix}receiveDelta)`
168
- ]), [
169
- `const {language} = classifier;`,
170
- `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})\`);`
171
- ])),
172
- `}`
173
- ]),
174
- `}`,
175
- ``,
176
- `enumLiteralFrom<EnumType>(enumerationLiteral: ${imports.core("EnumerationLiteral")}): EnumType {`,
177
- // (Why can this work?! EnumType is an unsatisfied generic parameter!)
178
- indent([
179
- `const {enumeration} = enumerationLiteral;`,
180
- switchOrIf("enumeration.key", enumerations.map(nameOf).map(name => [`this._${name}.key`, "enumerationLiteral.key as EnumType"]), [
181
- `const {language} = enumeration;`,
182
- `throw new Error(\`enumeration with key \${enumeration.key} is not known in language \${language.name} (key=\${language.key}, version=\${language.version})\`);`
183
- ])
184
- ]),
149
+ `if (this._wiredUp) {`,
150
+ indent(`return;`),
185
151
  `}`,
186
- ``,
187
- `public static readonly INSTANCE = new ${nameOfBaseClassForLanguage(language)}();`
152
+ `this._language.havingEntities(${entities.map(nameOf).map(thisLocalName).join(", ")});`,
153
+ entities.map(wireUpStatementsForEntity),
154
+ `this._wiredUp = true;`
188
155
  ]),
189
- `}`
190
- ];
191
- };
156
+ `}`,
157
+ ``,
158
+ `factory(${parameterPrefix}receiveDelta?: ${imports.generic("DeltaReceiver")}): ${imports.generic("NodeBaseFactory")} {`,
159
+ indent([
160
+ `return (classifier: ${imports.core("Classifier")}, ${parameterPrefix}id: ${imports.json("LionWebId")}) => {`,
161
+ indent(switchOrIf("classifier.key", concreteClassifiers
162
+ .map((classifier) => [
163
+ // case's key:
164
+ `this._${classifier.name}.key`,
165
+ // return value:
166
+ `${classifier.name}.create(id, ${parameterPrefix}receiveDelta)`
167
+ ]), [
168
+ `const {language} = classifier;`,
169
+ `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})\`);`
170
+ ])),
171
+ `}`
172
+ ]),
173
+ `}`,
174
+ ``,
175
+ `enumLiteralFrom<EnumType>(enumerationLiteral: ${imports.core("EnumerationLiteral")}): EnumType {`,
176
+ // (Why can this work?! EnumType is an unsatisfied generic parameter!)
177
+ indent([
178
+ `const {enumeration} = enumerationLiteral;`,
179
+ switchOrIf("enumeration.key", enumerations.map(nameOf).map(name => [`this._${name}.key`, "enumerationLiteral.key as EnumType"]), [
180
+ `const {language} = enumeration;`,
181
+ `throw new Error(\`enumeration with key \${enumeration.key} is not known in language \${language.name} (key=\${language.key}, version=\${language.version})\`);`
182
+ ])
183
+ ]),
184
+ `}`,
185
+ ``,
186
+ `public static readonly INSTANCE = new ${nameOfBaseClassForLanguage(language)}();`,
187
+ ]),
188
+ `}`
189
+ ];
192
190
  };
193
191
  //# sourceMappingURL=reflective-layer.templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reflective-layer.templates.js","sourceRoot":"","sources":["../src/reflective-layer.templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflective-layer.templates.js","sourceRoot":"","sources":["../src/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,EACV,WAAW,EACX,mBAAmB,EAGnB,IAAI,EACJ,MAAM,EACN,aAAa,EACb,QAAQ,EAEX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE9D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAW,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;AAErG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAkB,EAAE,OAAgB,EAAE,EAAE;IAEvE,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,OAAO,KAAK,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;YAC7C,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,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG;YACjS,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;YAC5C,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,OAAO,KAAK,OAAO,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI;YACzD,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,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI;QACjD,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,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI;QACnD,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,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,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,EAAwC,EAAE,CAC1F,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,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;IAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACnD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACvD,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACnE,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,SAAS,EAAE,CAAA;IACjE,OAAO;QACH,gBAAgB,OAAO,CAAC,iBAAiB,eAAe,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI;QAC5F,EAAE;QACF,MAAM,CAAC;YACH,+BAA+B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,8BAA8B,OAAO,OAAO,OAAO,EAAE,OAAO,GAAG,KAAK;YAC1K,mBAAmB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;YAC/C,MAAM,CAAC,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;YAC3D,GAAG;YACH,EAAE;YACF,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;YAC7D,oCAAoC;YACpC,2BAA2B;YAC3B,MAAM,CAAC;gBACH,sBAAsB;gBACtB,MAAM,CAAC,SAAS,CAAC;gBACjB,GAAG;gBACH,iCAAiC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACvF,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC;gBACvC,uBAAuB;aAC1B,CAAC;YACF,GAAG;YACH,EAAE;YACF,WAAW,eAAe,kBAAkB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI;YACxH,MAAM,CAAC;gBACH,uBAAuB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,eAAe,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ;gBAC7G,MAAM,CACF,UAAU,CACN,gBAAgB,EAChB,mBAAmB;qBACd,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;oBACjB,cAAc;oBACd,SAAS,UAAU,CAAC,IAAI,MAAM;oBAC9B,gBAAgB;oBAChB,GAAG,UAAU,CAAC,IAAI,eAAe,eAAe,eAAe;iBAClE,CAAC,EACN;oBACI,gCAAgC;oBAChC,kMAAkM;iBACrM,CACJ,CACJ;gBACD,GAAG;aACN,CAAC;YACF,GAAG;YACH,EAAE;YACF,iDAAiD,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe;YAClG,sEAAsE;YACtE,MAAM,CAAC;gBACH,2CAA2C;gBAC3C,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;oBACI,iCAAiC;oBACjC,gKAAgK;iBACnK,CACJ;aACJ,CAAC;YACF,GAAG;YACH,EAAE;YACF,yCAAyC,0BAA0B,CAAC,QAAQ,CAAC,KAAK;SACrF,CAAC;QACF,GAAG;KACN,CAAA;AAEL,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/class-core-generator",
3
- "version": "0.10.0-beta.8",
3
+ "version": "0.10.1",
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,13 +27,13 @@
27
27
  "release": "npm publish"
28
28
  },
29
29
  "dependencies": {
30
- "@lionweb/core": "0.10.0-beta.8",
31
- "@lionweb/io-lionweb-mps-specific": "0.10.0-beta.8",
32
- "@lionweb/json": "0.10.0-beta.8",
33
- "@lionweb/node-utils": "0.10.0-beta.8",
34
- "@lionweb/textgen-utils": "0.10.0-beta.8",
35
- "@lionweb/ts-utils": "0.10.0-beta.8",
36
- "@lionweb/utilities": "0.10.0-beta.8",
30
+ "@lionweb/core": "0.10.1",
31
+ "@lionweb/io-lionweb-mps-specific": "0.10.1",
32
+ "@lionweb/json": "0.10.1",
33
+ "@lionweb/node-utils": "0.10.1",
34
+ "@lionweb/textgen-utils": "0.10.1",
35
+ "@lionweb/ts-utils": "0.10.1",
36
+ "@lionweb/utilities": "0.10.1",
37
37
  "@types/node": "25.2.2",
38
38
  "littoral-templates": "0.5.1"
39
39
  },
@@ -25,9 +25,9 @@ import {
25
25
  isBuiltinNodeConcept,
26
26
  isContainment,
27
27
  isProperty,
28
- isRef,
29
28
  isReference,
30
29
  isReferenceToSet,
30
+ isResolvedReference,
31
31
  isUnresolvedReference,
32
32
  LanguageEntity,
33
33
  Link,
@@ -172,7 +172,7 @@ export const typeForLanguageEntity = (imports: Imports) => {
172
172
  })()
173
173
  return [
174
174
  ``,
175
- `get${featureMetaType_}ValueManager(${argumentName}: ${imports.core(featureMetaType_)}): ${imports.generic(featureMetaType_ + "ValueManager")}<${typeParameter}> {`,
175
+ `override get${featureMetaType_}ValueManager(${argumentName}: ${imports.core(featureMetaType_)}): ${imports.generic(featureMetaType_ + "ValueManager")}<${typeParameter}> {`,
176
176
  indent(
177
177
  switchOrIf(
178
178
  `${argumentName}.key`,
@@ -246,7 +246,7 @@ export const typeForLanguageEntity = (imports: Imports) => {
246
246
 
247
247
  const interfaceFor = (interface_: Interface) =>
248
248
  [
249
- `export interface ${interface_.name} extends ${interface_.extends.length > 0 ? interface_.extends.filter(isRef).map((superInterface) => imports.entity(superInterface)).join(", ") : imports.generic("INodeBase")} {`,
249
+ `export interface ${interface_.name} extends ${interface_.extends.length > 0 ? interface_.extends.filter(isResolvedReference).map((superInterface) => imports.entity(superInterface)).join(", ") : imports.generic("INodeBase")} {`,
250
250
  indent(
251
251
  interface_.features.map((feature) => `${feature.name}: ${tsFieldTypeForFeature(feature, imports)};`)
252
252
  ),
@@ -23,7 +23,7 @@ import {
23
23
  Concept,
24
24
  Feature,
25
25
  Interface,
26
- isRef,
26
+ isResolvedReference,
27
27
  SingleRef
28
28
  } from "@lionweb/core"
29
29
  import { uniquesAmong } from "@lionweb/ts-utils"
@@ -46,10 +46,10 @@ export const extendsFrom = (classifier: Classifier): SingleRef<Classifier> | und
46
46
 
47
47
  export const implementsFrom = (classifier: Classifier): Classifier[] => {
48
48
  if (classifier instanceof Annotation) {
49
- return classifier.implements.filter(isRef)
49
+ return classifier.implements.filter(isResolvedReference)
50
50
  }
51
51
  if (classifier instanceof Concept) {
52
- return classifier.implements.filter(isRef)
52
+ return classifier.implements.filter(isResolvedReference)
53
53
  }
54
54
  return []
55
55
  }
@@ -24,6 +24,10 @@ export const nameOfBaseClassForLanguage = (language: Language) =>
24
24
  asJSIdentifier(language.name) + "Base"
25
25
 
26
26
 
27
+ export type LibName = "class-core" | "core" | "json"
28
+ const libNameAsIdentifier = (libName: LibName) =>
29
+ libName === "class-core" ? "classCore" : libName
30
+
27
31
  export class Imports {
28
32
 
29
33
  constructor(public readonly thisLanguage: Language, public readonly lioncoreBuiltinsFacade: LionCoreBuiltinsFacade) {
@@ -39,9 +43,9 @@ export class Imports {
39
43
  return this.thisLanguageNameAsJsIdentifier + "Base"
40
44
  }
41
45
 
42
- public static importAlias = (libName: string) =>
43
- `$lw${withFirstUpper(libName)}`
44
- private aliased = (libName: string, identifier: string) =>
46
+ public static importAlias = (libName: LibName) =>
47
+ `$lw${withFirstUpper(libNameAsIdentifier(libName))}`
48
+ private aliased = (libName: LibName, identifier: string) =>
45
49
  `${Imports.importAlias(libName)}.${identifier}`
46
50
 
47
51
  private readonly _jsonImports = new Set<string>()
@@ -59,7 +63,7 @@ export class Imports {
59
63
  private readonly _genericImports = new Set<string>()
60
64
  generic(identifier: string) {
61
65
  this._genericImports.add(identifier)
62
- return this.aliased("classCore", identifier)
66
+ return this.aliased("class-core", identifier)
63
67
  }
64
68
 
65
69
  entity(entity: LanguageEntity) {
@@ -42,7 +42,7 @@ export const languageFileFor = (language: Language, lionWebVersion: LionWebVersi
42
42
 
43
43
  const postImportsPart = [
44
44
  ``,
45
- reflectiveClassFor(imports)(language),
45
+ reflectiveClassFor(language, imports),
46
46
  ``,
47
47
  ``,
48
48
  orderedEntities
@@ -61,7 +61,7 @@ export const languageFileFor = (language: Language, lionWebVersion: LionWebVersi
61
61
  */`,
62
62
  ``,
63
63
  ``,
64
- `import * as ${Imports.importAlias("classCore")} from "${options.genericImportLocation}";`,
64
+ `import * as ${Imports.importAlias("class-core")} from "${options.genericImportLocation}";`,
65
65
  `import * as ${Imports.importAlias("core")} from "@lionweb/core";`,
66
66
  `import * as ${Imports.importAlias("json")} from "@lionweb/json";`,
67
67
  when(imports.languageImports.length > 0)(
@@ -43,7 +43,8 @@ import { when, withNewlineAppended } from "littoral-templates"
43
43
 
44
44
  import { entityMetaType, extendsFrom, Imports, nameOfBaseClassForLanguage } from "./helpers/index.js"
45
45
 
46
- export const reflectiveClassFor = (imports: Imports) => {
46
+ export const reflectiveClassFor = (language: Language, imports: Imports) => {
47
+
47
48
  // classifier:
48
49
 
49
50
  const reflectiveMembersForFeature = (feature: Feature) => {
@@ -174,76 +175,75 @@ export const reflectiveClassFor = (imports: Imports) => {
174
175
  return `// unhandled language entity <${entityMetaType(entity)}>"${name}"`
175
176
  }
176
177
 
177
- return (language: Language) => {
178
- const { version, id, key, entities } = language
179
- const enumerations = entities.filter(isEnumeration)
180
- const concreteClassifiers = entities.filter(isConcrete)
181
- const parameterPrefix = concreteClassifiers.length === 0 ? "_" : ""
182
- const thisLocalName = (localName: string) => `this._${localName}`
183
- return [
184
- `export class ${imports.thisBaseClassName} implements ${imports.generic("ILanguageBase")} {`,
178
+ const { version, id, key, entities } = language
179
+ const enumerations = entities.filter(isEnumeration)
180
+ const concreteClassifiers = entities.filter(isConcrete)
181
+ const parameterPrefix = concreteClassifiers.length === 0 ? "_" : ""
182
+ const thisLocalName = (localName: string) => `this._${localName}`
183
+ return [
184
+ `export class ${imports.thisBaseClassName} implements ${imports.generic("ILanguageBase")} {`,
185
+ ``,
186
+ indent([
187
+ `private readonly _language: ${imports.core("Language")} = new ${imports.core("Language")}("${imports.thisLanguageNameAsJsIdentifier}", "${version}", "${id}", "${key}");`,
188
+ `get language(): ${imports.core("Language")} {`,
189
+ indent([`this.ensureWiredUp();`, `return this._language;`]),
190
+ `}`,
185
191
  ``,
192
+ entities.map(withNewlineAppended(reflectiveMembersForEntity)),
193
+ `private _wiredUp: boolean = false;`,
194
+ `private ensureWiredUp() {`,
186
195
  indent([
187
- `private readonly _language: ${imports.core("Language")} = new ${imports.core("Language")}("${imports.thisLanguageNameAsJsIdentifier}", "${version}", "${id}", "${key}");`,
188
- `get language(): ${imports.core("Language")} {`,
189
- indent([`this.ensureWiredUp();`, `return this._language;`]),
196
+ `if (this._wiredUp) {`,
197
+ indent(`return;`),
190
198
  `}`,
191
- ``,
192
- entities.map(withNewlineAppended(reflectiveMembersForEntity)),
193
- `private _wiredUp: boolean = false;`,
194
- `private ensureWiredUp() {`,
195
- indent([
196
- `if (this._wiredUp) {`,
197
- indent(`return;`),
198
- `}`,
199
- `this._language.havingEntities(${entities.map(nameOf).map(thisLocalName).join(", ")});`,
200
- entities.map(wireUpStatementsForEntity),
201
- `this._wiredUp = true;`
202
- ]),
203
- `}`,
204
- ``,
205
- `factory(${parameterPrefix}receiveDelta?: ${imports.generic("DeltaReceiver")}): ${imports.generic("NodeBaseFactory")} {`,
206
- indent([
207
- `return (classifier: ${imports.core("Classifier")}, ${parameterPrefix}id: ${imports.json("LionWebId")}) => {`,
208
- indent(
209
- switchOrIf(
210
- "classifier.key",
211
- concreteClassifiers
212
- .map((classifier) => [
213
- // case's key:
214
- `this._${classifier.name}.key`,
215
- // return value:
216
- `${classifier.name}.create(id, ${parameterPrefix}receiveDelta)`
217
- ]),
218
- [
219
- `const {language} = classifier;`,
220
- `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})\`);`
221
- ]
222
- )
223
- ),
224
- `}`
225
- ]),
226
- `}`,
227
- ``,
228
- `enumLiteralFrom<EnumType>(enumerationLiteral: ${imports.core("EnumerationLiteral")}): EnumType {`,
229
- // (Why can this work?! EnumType is an unsatisfied generic parameter!)
230
- indent([
231
- `const {enumeration} = enumerationLiteral;`,
199
+ `this._language.havingEntities(${entities.map(nameOf).map(thisLocalName).join(", ")});`,
200
+ entities.map(wireUpStatementsForEntity),
201
+ `this._wiredUp = true;`
202
+ ]),
203
+ `}`,
204
+ ``,
205
+ `factory(${parameterPrefix}receiveDelta?: ${imports.generic("DeltaReceiver")}): ${imports.generic("NodeBaseFactory")} {`,
206
+ indent([
207
+ `return (classifier: ${imports.core("Classifier")}, ${parameterPrefix}id: ${imports.json("LionWebId")}) => {`,
208
+ indent(
232
209
  switchOrIf(
233
- "enumeration.key",
234
- enumerations.map(nameOf).map(name => [`this._${name}.key`, "enumerationLiteral.key as EnumType"]),
210
+ "classifier.key",
211
+ concreteClassifiers
212
+ .map((classifier) => [
213
+ // case's key:
214
+ `this._${classifier.name}.key`,
215
+ // return value:
216
+ `${classifier.name}.create(id, ${parameterPrefix}receiveDelta)`
217
+ ]),
235
218
  [
236
- `const {language} = enumeration;`,
237
- `throw new Error(\`enumeration with key \${enumeration.key} is not known in language \${language.name} (key=\${language.key}, version=\${language.version})\`);`
219
+ `const {language} = classifier;`,
220
+ `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})\`);`
238
221
  ]
239
222
  )
240
- ]),
241
- `}`,
242
- ``,
243
- `public static readonly INSTANCE = new ${nameOfBaseClassForLanguage(language)}();`
223
+ ),
224
+ `}`
244
225
  ]),
245
- `}`
246
- ]
247
- }
226
+ `}`,
227
+ ``,
228
+ `enumLiteralFrom<EnumType>(enumerationLiteral: ${imports.core("EnumerationLiteral")}): EnumType {`,
229
+ // (Why can this work?! EnumType is an unsatisfied generic parameter!)
230
+ indent([
231
+ `const {enumeration} = enumerationLiteral;`,
232
+ switchOrIf(
233
+ "enumeration.key",
234
+ enumerations.map(nameOf).map(name => [`this._${name}.key`, "enumerationLiteral.key as EnumType"]),
235
+ [
236
+ `const {language} = enumeration;`,
237
+ `throw new Error(\`enumeration with key \${enumeration.key} is not known in language \${language.name} (key=\${language.key}, version=\${language.version})\`);`
238
+ ]
239
+ )
240
+ ]),
241
+ `}`,
242
+ ``,
243
+ `public static readonly INSTANCE = new ${nameOfBaseClassForLanguage(language)}();`,
244
+ ]),
245
+ `}`
246
+ ]
247
+
248
248
  }
249
249