@emfts/codegen 0.0.1-next.8 → 0.0.2-next.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.
Files changed (152) hide show
  1. package/dist/cli/commands/generate.d.ts.map +1 -1
  2. package/dist/cli/commands/generate.js +12 -12
  3. package/dist/cli/commands/generate.js.map +1 -1
  4. package/dist/cli/commands/init.d.ts +6 -0
  5. package/dist/cli/commands/init.d.ts.map +1 -1
  6. package/dist/cli/commands/init.js +69 -16
  7. package/dist/cli/commands/init.js.map +1 -1
  8. package/dist/cli/import-mappings.d.ts +5 -0
  9. package/dist/cli/import-mappings.d.ts.map +1 -0
  10. package/dist/cli/import-mappings.js +16 -0
  11. package/dist/cli/import-mappings.js.map +1 -0
  12. package/dist/genconfig/GenConfig.d.ts +14 -0
  13. package/dist/genconfig/GenConfig.d.ts.map +1 -1
  14. package/dist/genconfig/GenConfig.js.map +1 -1
  15. package/dist/genconfig/GenConfigConverter.d.ts.map +1 -1
  16. package/dist/genconfig/GenConfigConverter.js +4 -1
  17. package/dist/genconfig/GenConfigConverter.js.map +1 -1
  18. package/dist/genconfig/GenConfigLoader.d.ts +4 -4
  19. package/dist/genconfig/GenConfigLoader.d.ts.map +1 -1
  20. package/dist/genconfig/GenConfigLoader.js +38 -27
  21. package/dist/genconfig/GenConfigLoader.js.map +1 -1
  22. package/dist/genconfig/model/ClassDefaults.d.ts +12 -0
  23. package/dist/genconfig/model/ClassDefaults.d.ts.map +1 -0
  24. package/dist/genconfig/model/ClassDefaults.js +8 -0
  25. package/dist/genconfig/model/ClassDefaults.js.map +1 -0
  26. package/dist/genconfig/model/ClassDefaultsImpl.d.ts +46 -0
  27. package/dist/genconfig/model/ClassDefaultsImpl.d.ts.map +1 -0
  28. package/dist/genconfig/model/ClassDefaultsImpl.js +205 -0
  29. package/dist/genconfig/model/ClassDefaultsImpl.js.map +1 -0
  30. package/dist/genconfig/model/ClassOverride.d.ts +15 -0
  31. package/dist/genconfig/model/ClassOverride.d.ts.map +1 -0
  32. package/dist/genconfig/model/ClassOverride.js +8 -0
  33. package/dist/genconfig/model/ClassOverride.js.map +1 -0
  34. package/dist/genconfig/model/ClassOverrideImpl.d.ts +53 -0
  35. package/dist/genconfig/model/ClassOverrideImpl.d.ts.map +1 -0
  36. package/dist/genconfig/model/ClassOverrideImpl.js +248 -0
  37. package/dist/genconfig/model/ClassOverrideImpl.js.map +1 -0
  38. package/dist/genconfig/model/FeatureDefaults.d.ts +11 -0
  39. package/dist/genconfig/model/FeatureDefaults.d.ts.map +1 -0
  40. package/dist/genconfig/model/FeatureDefaults.js +8 -0
  41. package/dist/genconfig/model/FeatureDefaults.js.map +1 -0
  42. package/dist/genconfig/model/FeatureDefaultsImpl.d.ts +39 -0
  43. package/dist/genconfig/model/FeatureDefaultsImpl.d.ts.map +1 -0
  44. package/dist/genconfig/model/FeatureDefaultsImpl.js +136 -0
  45. package/dist/genconfig/model/FeatureDefaultsImpl.js.map +1 -0
  46. package/dist/genconfig/model/FeatureOverride.d.ts +14 -0
  47. package/dist/genconfig/model/FeatureOverride.d.ts.map +1 -0
  48. package/dist/genconfig/model/FeatureOverride.js +8 -0
  49. package/dist/genconfig/model/FeatureOverride.js.map +1 -0
  50. package/dist/genconfig/model/FeatureOverrideImpl.d.ts +51 -0
  51. package/dist/genconfig/model/FeatureOverrideImpl.d.ts.map +1 -0
  52. package/dist/genconfig/model/FeatureOverrideImpl.js +241 -0
  53. package/dist/genconfig/model/FeatureOverrideImpl.js.map +1 -0
  54. package/dist/genconfig/model/GenConfig.d.ts +21 -0
  55. package/dist/genconfig/model/GenConfig.d.ts.map +1 -0
  56. package/dist/genconfig/model/GenConfig.js +8 -0
  57. package/dist/genconfig/model/GenConfig.js.map +1 -0
  58. package/dist/genconfig/model/GenConfigFactory.d.ts +56 -0
  59. package/dist/genconfig/model/GenConfigFactory.d.ts.map +1 -0
  60. package/dist/genconfig/model/GenConfigFactory.js +108 -0
  61. package/dist/genconfig/model/GenConfigFactory.js.map +1 -0
  62. package/dist/genconfig/model/GenConfigImpl.d.ts +62 -0
  63. package/dist/genconfig/model/GenConfigImpl.d.ts.map +1 -0
  64. package/dist/genconfig/model/GenConfigImpl.js +283 -0
  65. package/dist/genconfig/model/GenConfigImpl.js.map +1 -0
  66. package/dist/genconfig/model/GenConfigPackage.d.ts +68 -0
  67. package/dist/genconfig/model/GenConfigPackage.d.ts.map +1 -0
  68. package/dist/genconfig/model/GenConfigPackage.js +436 -0
  69. package/dist/genconfig/model/GenConfigPackage.js.map +1 -0
  70. package/dist/genconfig/model/GenerationMode.d.ts +19 -0
  71. package/dist/genconfig/model/GenerationMode.d.ts.map +1 -0
  72. package/dist/genconfig/model/GenerationMode.js +34 -0
  73. package/dist/genconfig/model/GenerationMode.js.map +1 -0
  74. package/dist/genconfig/model/GenerationSettings.d.ts +14 -0
  75. package/dist/genconfig/model/GenerationSettings.d.ts.map +1 -0
  76. package/dist/genconfig/model/GenerationSettings.js +8 -0
  77. package/dist/genconfig/model/GenerationSettings.js.map +1 -0
  78. package/dist/genconfig/model/GenerationSettingsImpl.d.ts +51 -0
  79. package/dist/genconfig/model/GenerationSettingsImpl.d.ts.map +1 -0
  80. package/dist/genconfig/model/GenerationSettingsImpl.js +241 -0
  81. package/dist/genconfig/model/GenerationSettingsImpl.js.map +1 -0
  82. package/dist/genconfig/model/PackageSettings.d.ts +13 -0
  83. package/dist/genconfig/model/PackageSettings.d.ts.map +1 -0
  84. package/dist/genconfig/model/PackageSettings.js +8 -0
  85. package/dist/genconfig/model/PackageSettings.js.map +1 -0
  86. package/dist/genconfig/model/PackageSettingsImpl.d.ts +50 -0
  87. package/dist/genconfig/model/PackageSettingsImpl.d.ts.map +1 -0
  88. package/dist/genconfig/model/PackageSettingsImpl.js +240 -0
  89. package/dist/genconfig/model/PackageSettingsImpl.js.map +1 -0
  90. package/dist/genconfig/model/PropertyMode.d.ts +19 -0
  91. package/dist/genconfig/model/PropertyMode.d.ts.map +1 -0
  92. package/dist/genconfig/model/PropertyMode.js +34 -0
  93. package/dist/genconfig/model/PropertyMode.js.map +1 -0
  94. package/dist/genconfig/model/ReferencedPackage.d.ts +10 -0
  95. package/dist/genconfig/model/ReferencedPackage.d.ts.map +1 -0
  96. package/dist/genconfig/model/ReferencedPackage.js +8 -0
  97. package/dist/genconfig/model/ReferencedPackage.js.map +1 -0
  98. package/dist/genconfig/model/ReferencedPackageImpl.d.ts +38 -0
  99. package/dist/genconfig/model/ReferencedPackageImpl.d.ts.map +1 -0
  100. package/dist/genconfig/model/ReferencedPackageImpl.js +135 -0
  101. package/dist/genconfig/model/ReferencedPackageImpl.js.map +1 -0
  102. package/dist/genconfig/model/index.d.ts +21 -0
  103. package/dist/genconfig/model/index.d.ts.map +1 -0
  104. package/dist/genconfig/model/index.js +22 -0
  105. package/dist/genconfig/model/index.js.map +1 -0
  106. package/dist/generator/CodeGenerator.d.ts.map +1 -1
  107. package/dist/generator/CodeGenerator.js +2 -1
  108. package/dist/generator/CodeGenerator.js.map +1 -1
  109. package/dist/generator/ImportResolver.d.ts.map +1 -1
  110. package/dist/generator/ImportResolver.js +28 -5
  111. package/dist/generator/ImportResolver.js.map +1 -1
  112. package/dist/generator/TypeMapper.d.ts +2 -0
  113. package/dist/generator/TypeMapper.d.ts.map +1 -1
  114. package/dist/generator/TypeMapper.js +48 -3
  115. package/dist/generator/TypeMapper.js.map +1 -1
  116. package/dist/generator/modes/BaseGenerator.d.ts +6 -0
  117. package/dist/generator/modes/BaseGenerator.d.ts.map +1 -1
  118. package/dist/generator/modes/BaseGenerator.js +21 -1
  119. package/dist/generator/modes/BaseGenerator.js.map +1 -1
  120. package/dist/generator/modes/DecoratorGenerator.d.ts +5 -0
  121. package/dist/generator/modes/DecoratorGenerator.d.ts.map +1 -1
  122. package/dist/generator/modes/DecoratorGenerator.js +11 -2
  123. package/dist/generator/modes/DecoratorGenerator.js.map +1 -1
  124. package/dist/generator/modes/EmfGenerator.d.ts +1 -0
  125. package/dist/generator/modes/EmfGenerator.d.ts.map +1 -1
  126. package/dist/generator/modes/EmfGenerator.js +6 -2
  127. package/dist/generator/modes/EmfGenerator.js.map +1 -1
  128. package/dist/genmodel/GenModel.d.ts +2 -0
  129. package/dist/genmodel/GenModel.d.ts.map +1 -1
  130. package/dist/genmodel/GenModel.js.map +1 -1
  131. package/dist/index.js +15 -2
  132. package/dist/index.js.map +1 -1
  133. package/dist/loader/EcoreLoader.d.ts +4 -0
  134. package/dist/loader/EcoreLoader.d.ts.map +1 -1
  135. package/dist/loader/EcoreLoader.js +20 -0
  136. package/dist/loader/EcoreLoader.js.map +1 -1
  137. package/dist/templates/partials/decorator/class-file.ejs +99 -27
  138. package/dist/templates/partials/decorator/enum-file.ejs +1 -1
  139. package/dist/templates/partials/decorator/interface-file.ejs +1 -7
  140. package/dist/templates/partials/decorator/model-annotations.ejs +7 -6
  141. package/dist/templates/partials/decorator/package-file.ejs +4 -2
  142. package/dist/templates/partials/emf/class-file.ejs +75 -10
  143. package/dist/templates/partials/emf/factory-file.ejs +3 -3
  144. package/dist/templates/partials/emf/index-file.ejs +5 -5
  145. package/dist/templates/partials/emf/interface-file.ejs +5 -0
  146. package/dist/templates/partials/emf/package-file.ejs +6 -0
  147. package/dist/templates/partials/plain/class-file.ejs +1 -7
  148. package/dist/templates/partials/plain/interface-file.ejs +1 -7
  149. package/dist/templates/partials/plain/package-file.ejs +1 -1
  150. package/model/genconfig.ecore +21 -0
  151. package/model/genconfig.genconfig.xmi +11 -0
  152. package/package.json +3 -2
@@ -83,10 +83,30 @@ export class BaseGenerator {
83
83
  getUpperBound: EObjectHelper.getUpperBound,
84
84
  isContainment: EObjectHelper.isContainment,
85
85
  getEOpposite: EObjectHelper.getEOpposite,
86
- getExtendedMetaDataName: EObjectHelper.getExtendedMetaDataName
86
+ getExtendedMetaDataName: EObjectHelper.getExtendedMetaDataName,
87
+ mapParams: (op) => this.mapOperationParams(op)
87
88
  };
88
89
  return template(fullData);
89
90
  }
91
+ /**
92
+ * Render an operation's parameter list. A lowerBound-0 parameter is
93
+ * optional, except when a required parameter follows (TS forbids
94
+ * required after optional)
95
+ */
96
+ mapOperationParams(op) {
97
+ const rawParams = [...(op.getEParameters?.() ?? [])];
98
+ let allowOptional = true;
99
+ const optionalFlags = [];
100
+ for (let i = rawParams.length - 1; i >= 0; i--) {
101
+ const isOptional = allowOptional && (rawParams[i].getLowerBound?.() ?? 0) === 0;
102
+ if (!isOptional)
103
+ allowOptional = false;
104
+ optionalFlags[i] = isOptional;
105
+ }
106
+ return rawParams
107
+ .map((param, i) => `${param.getName()}${optionalFlags[i] ? '?' : ''}: ${this.context.typeMapper.mapClassifier(param.getEType())}`)
108
+ .join(', ');
109
+ }
90
110
  /**
91
111
  * Create a generated file
92
112
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BaseGenerator.js","sourceRoot":"","sources":["../../../src/generator/modes/BaseGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseGenerator.js","sourceRoot":"","sources":["../../../src/generator/modes/BaseGenerator.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,11 @@ export declare class DecoratorGenerator extends BaseGenerator {
20
20
  */
21
21
  private getEnumLiterals;
22
22
  generatePackageFile(genPackage: GenPackage): Promise<GeneratedFile>;
23
+ /**
24
+ * Import source for the decorator annotations: the configured shared
25
+ * package (#26), or the generated per-model ModelAnnotations file
26
+ */
27
+ private getAnnotationsImport;
23
28
  /**
24
29
  * Generate ModelAnnotations file
25
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DecoratorGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/modes/DecoratorGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,SAAS,CAAC,cAAc,IAAI,MAAM;IAI5B,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBjF,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBrF,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAoBpF;;OAEG;IACH,OAAO,CAAC,WAAW;IAkBnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBjB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAkCzE;;OAEG;IACG,wBAAwB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;CAQ/E"}
1
+ {"version":3,"file":"DecoratorGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/modes/DecoratorGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,SAAS,CAAC,cAAc,IAAI,MAAM;IAI5B,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BjF,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBrF,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAoBpF;;OAEG;IACH,OAAO,CAAC,WAAW;IAkBnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBjB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAmCzE;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACG,wBAAwB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;CAQ/E"}
@@ -26,7 +26,8 @@ export class DecoratorGenerator extends BaseGenerator {
26
26
  superTypes: eClass.getESuperTypes(),
27
27
  features: genClass.genFeatures,
28
28
  operations: genClass.genOperations,
29
- typeParameters: eClass.getETypeParameters()
29
+ typeParameters: eClass.getETypeParameters(),
30
+ annotationsImport: this.getAnnotationsImport()
30
31
  });
31
32
  const path = this.getClassPath(genClass, genPackage);
32
33
  return this.createFile(path, content);
@@ -128,11 +129,19 @@ export class DecoratorGenerator extends BaseGenerator {
128
129
  genPackage,
129
130
  ePackage,
130
131
  packageName,
131
- exports
132
+ exports,
133
+ annotationsPackage: this.context.genModel.annotationsPackage
132
134
  });
133
135
  const packagePath = this.getPackagePath(genPackage);
134
136
  return this.createFile(join(packagePath, 'index.ts'), content);
135
137
  }
138
+ /**
139
+ * Import source for the decorator annotations: the configured shared
140
+ * package (#26), or the generated per-model ModelAnnotations file
141
+ */
142
+ getAnnotationsImport() {
143
+ return this.context.genModel.annotationsPackage ?? './ModelAnnotations.js';
144
+ }
136
145
  /**
137
146
  * Generate ModelAnnotations file
138
147
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DecoratorGenerator.js","sourceRoot":"","sources":["../../../src/generator/modes/DecoratorGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecoratorGenerator.js","sourceRoot":"","sources":["../../../src/generator/modes/DecoratorGenerator.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { GeneratedFile } from '../GeneratedFile.js';
7
7
  * Generator for EMF-conformant TypeScript classes
8
8
  */
9
9
  export declare class EmfGenerator extends BaseGenerator {
10
+ constructor(context: import('../GeneratorContext.js').GeneratorContext);
10
11
  protected getTemplateDir(): string;
11
12
  generateClass(genClass: GenClass, genPackage: GenPackage): Promise<GeneratedFile>;
12
13
  generateInterface(genClass: GenClass, genPackage: GenPackage): Promise<GeneratedFile>;
@@ -1 +1 @@
1
- {"version":3,"file":"EmfGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/modes/EmfGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC7C,SAAS,CAAC,cAAc,IAAI,MAAM;IAI5B,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAsGjF,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBrF,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAoB9E,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA4CnE,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAsB5E;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA0CnE;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAS1C,OAAO,CAAC,YAAY;CAGrB"}
1
+ {"version":3,"file":"EmfGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/modes/EmfGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa;gBACjC,OAAO,EAAE,OAAO,wBAAwB,EAAE,gBAAgB;IAKtE,SAAS,CAAC,cAAc,IAAI,MAAM;IAI5B,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAsGjF,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBrF,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAoB9E,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA4CnE,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAsB5E;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA0CnE;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAS1C,OAAO,CAAC,YAAY;CAGrB"}
@@ -8,6 +8,10 @@ const __dirname = dirname(__filename);
8
8
  * Generator for EMF-conformant TypeScript classes
9
9
  */
10
10
  export class EmfGenerator extends BaseGenerator {
11
+ constructor(context) {
12
+ super(context);
13
+ context.typeMapper.useEList = true;
14
+ }
11
15
  getTemplateDir() {
12
16
  return join(__dirname, '../../templates/partials/emf');
13
17
  }
@@ -42,11 +46,11 @@ export class EmfGenerator extends BaseGenerator {
42
46
  extendsImport = `${registeredPath}/${extendsClass}`;
43
47
  }
44
48
  else {
45
- extendsImport = `./${extendsClass}`;
49
+ extendsImport = `./${extendsClass}.js`;
46
50
  }
47
51
  }
48
52
  else {
49
- extendsImport = `./${extendsClass}`;
53
+ extendsImport = `./${extendsClass}.js`;
50
54
  }
51
55
  }
52
56
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"EmfGenerator.js","sourceRoot":"","sources":["../../../src/generator/modes/EmfGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmfGenerator.js","sourceRoot":"","sources":["../../../src/generator/modes/EmfGenerator.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export interface GenModel {
28
28
  boundedGenericTypeNames: boolean;
29
29
  /** File header comment */
30
30
  copyrightText?: string;
31
+ /** Decorator mode: import annotations from this package instead of generating ModelAnnotations */
32
+ annotationsPackage?: string;
31
33
  /** Packages to generate */
32
34
  genPackages: GenPackage[];
33
35
  /** Referenced packages (for cross-references) */
@@ -1 +1 @@
1
- {"version":3,"file":"GenModel.d.ts","sourceRoot":"","sources":["../../src/genmodel/GenModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IAEvB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,iDAAiD;IACjD,cAAc,EAAE,cAAc,CAAC;IAE/B,+BAA+B;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAE5B,sCAAsC;IACtC,eAAe,EAAE,OAAO,CAAC;IAEzB,+BAA+B;IAC/B,eAAe,EAAE,OAAO,CAAC;IAEzB,0CAA0C;IAC1C,eAAe,EAAE,OAAO,CAAC;IAEzB,uCAAuC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAE1B,6CAA6C;IAC7C,uBAAuB,EAAE,OAAO,CAAC;IAEjC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,2BAA2B;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B,iDAAiD;IACjD,eAAe,EAAE,UAAU,EAAE,CAAC;IAE9B,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,8BAA8B;IAC9B,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;IAErD,oCAAoC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wCAAwC;IACxC,oBAAoB,EAAE,MAAM,CAAC;IAE7B,gCAAgC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAC;IAE1B,2CAA2C;IAC3C,2BAA2B,EAAE,OAAO,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CAkBhD"}
1
+ {"version":3,"file":"GenModel.d.ts","sourceRoot":"","sources":["../../src/genmodel/GenModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IAEvB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,iDAAiD;IACjD,cAAc,EAAE,cAAc,CAAC;IAE/B,+BAA+B;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAE5B,sCAAsC;IACtC,eAAe,EAAE,OAAO,CAAC;IAEzB,+BAA+B;IAC/B,eAAe,EAAE,OAAO,CAAC;IAEzB,0CAA0C;IAC1C,eAAe,EAAE,OAAO,CAAC;IAEzB,uCAAuC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAE1B,6CAA6C;IAC7C,uBAAuB,EAAE,OAAO,CAAC;IAEjC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kGAAkG;IAClG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,2BAA2B;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B,iDAAiD;IACjD,eAAe,EAAE,UAAU,EAAE,CAAC;IAE9B,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,8BAA8B;IAC9B,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;IAErD,oCAAoC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wCAAwC;IACxC,oBAAoB,EAAE,MAAM,CAAC;IAE7B,gCAAgC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAC;IAE1B,2CAA2C;IAC3C,2BAA2B,EAAE,OAAO,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CAkBhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"GenModel.js","sourceRoot":"","sources":["../../src/genmodel/GenModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAsErD;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,cAAc,EAAE,aAAa;QAC7B,cAAc,EAAE,cAAc,CAAC,SAAS;QACxC,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,uBAAuB,EAAE,KAAK;QAC9B,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,MAAM;QACzB,gBAAgB,EAAE,cAAc;QAChC,oBAAoB,EAAE,SAAS;QAC/B,gBAAgB,EAAE,KAAK;QACvB,2BAA2B,EAAE,KAAK;KACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"GenModel.js","sourceRoot":"","sources":["../../src/genmodel/GenModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAyErD;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,cAAc,EAAE,aAAa;QAC7B,cAAc,EAAE,cAAc,CAAC,SAAS;QACxC,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,uBAAuB,EAAE,KAAK;QAC9B,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,MAAM;QACzB,gBAAgB,EAAE,cAAc;QAChC,oBAAoB,EAAE,SAAS;QAC/B,gBAAgB,EAAE,KAAK;QACvB,2BAA2B,EAAE,KAAK;KACnC,CAAC;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -60,7 +60,7 @@ export async function generate(options) {
60
60
  // Generate code
61
61
  const generator = new CodeGenerator(genModel, {
62
62
  outputDirectory: outputDir,
63
- referencedPackages: options.referencedPackages,
63
+ referencedPackages: mergeReferencedPackages(genConfig, options.referencedPackages),
64
64
  });
65
65
  const result = await generator.generate();
66
66
  // Write files if requested
@@ -106,10 +106,23 @@ export async function generateInMemory(options) {
106
106
  // Generate code
107
107
  const generator = new CodeGenerator(genModel, {
108
108
  outputDirectory: genConfig.generation.outputDir,
109
- referencedPackages: options.referencedPackages,
109
+ referencedPackages: mergeReferencedPackages(genConfig, options.referencedPackages),
110
110
  });
111
111
  return generator.generate();
112
112
  }
113
+ /**
114
+ * Merge referenced packages: GenConfig entries are the defaults, explicit options override
115
+ */
116
+ function mergeReferencedPackages(genConfig, override) {
117
+ const merged = new Map();
118
+ for (const ref of genConfig.referencedPackages ?? []) {
119
+ merged.set(ref.nsURI, ref.importPath);
120
+ }
121
+ for (const [nsURI, importPath] of override ?? []) {
122
+ merged.set(nsURI, importPath);
123
+ }
124
+ return merged.size > 0 ? merged : undefined;
125
+ }
113
126
  /**
114
127
  * Helper to write generated files to disk
115
128
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,cAAc,sBAAsB,CAAC;AAErC,YAAY;AACZ,cAAc,sBAAsB,CAAC;AAErC,SAAS;AACT,cAAc,mBAAmB,CAAC;AAElC,YAAY;AACZ,cAAc,iBAAiB,CAAC;AAEhC,yBAAyB;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAQ/D,sCAAsC;AACtC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAyB,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAoB7B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE7D,wCAAwC;IACxC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEnD,gEAAgE;IAChE,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEtD,+BAA+B;IAC/B,MAAM,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9C,4CAA4C;IAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;IAEtE,gBAAgB;IAChB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE;QAC5C,eAAe,EAAE,SAAS;QAC1B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAE1C,2BAA2B;IAC3B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA0D;IAC/F,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE1C,wCAAwC;IACxC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEnD,gEAAgE;IAChE,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEtD,+BAA+B;IAC/B,MAAM,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9C,gBAAgB;IAChB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE;QAC5C,eAAe,EAAE,SAAS,CAAC,UAAU,CAAC,SAAS;QAC/C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC,CAAC;IACH,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,KAA0C,EAAE,SAAiB;IAC9F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,10 @@ export declare class EcoreLoader {
13
13
  * Load an Ecore model from file
14
14
  */
15
15
  load(ecorePath: string): Promise<EPackage>;
16
+ /**
17
+ * Verify that all (transitive) eSubpackages references are resolved
18
+ */
19
+ private assertSubpackagesResolved;
16
20
  /**
17
21
  * Load multiple Ecore models
18
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EcoreLoader.d.ts","sourceRoot":"","sources":["../../src/loader/EcoreLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,aAAa,CAAC;AAEnE;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAAoC;IAE1D;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;OAEG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiDhD;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAOnE;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI/C;;OAEG;IACH,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAIvC;;OAEG;IACH,OAAO,CAAC,UAAU;CAMnB"}
1
+ {"version":3,"file":"EcoreLoader.d.ts","sourceRoot":"","sources":["../../src/loader/EcoreLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,aAAa,CAAC;AAEnE;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAAoC;IAE1D;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;OAEG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuDhD;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgBjC;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAOnE;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI/C;;OAEG;IACH,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAIvC;;OAEG;IACH,OAAO,CAAC,UAAU;CAMnB"}
@@ -49,6 +49,10 @@ export class EcoreLoader {
49
49
  throw new Error(`Root element is not an EPackage in ${ecorePath}`);
50
50
  }
51
51
  const ePackage = root;
52
+ // Registering a package with unresolved eSubpackages proxies would crash
53
+ // deep inside the registry (subPkg.getNsURI is not a function) — fail with
54
+ // a message that names the missing package instead
55
+ this.assertSubpackagesResolved(ePackage, ecorePath);
52
56
  const nsURI = ePackage.getNsURI();
53
57
  if (nsURI) {
54
58
  this.loadedPackages.set(nsURI, ePackage);
@@ -57,6 +61,22 @@ export class EcoreLoader {
57
61
  }
58
62
  return ePackage;
59
63
  }
64
+ /**
65
+ * Verify that all (transitive) eSubpackages references are resolved
66
+ */
67
+ assertSubpackagesResolved(ePackage, ecorePath) {
68
+ const subPackages = ePackage.getESubpackages?.() ?? [];
69
+ for (const subPkg of subPackages) {
70
+ if (typeof subPkg?.getNsURI !== 'function' || subPkg.eIsProxy?.()) {
71
+ const href = typeof subPkg?.eProxyURI === 'function'
72
+ ? subPkg.eProxyURI()?.toString?.()
73
+ : undefined;
74
+ throw new Error(`Unresolved eSubpackages reference${href ? ` '${href}'` : ''} in ${ecorePath}. ` +
75
+ `The referenced package is not loaded — pass its .ecore file via -d/--dependency.`);
76
+ }
77
+ this.assertSubpackagesResolved(subPkg, ecorePath);
78
+ }
79
+ }
60
80
  /**
61
81
  * Load multiple Ecore models
62
82
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EcoreLoader.js","sourceRoot":"","sources":["../../src/loader/EcoreLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EcoreLoader.js","sourceRoot":"","sources":["../../src/loader/EcoreLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC;;GAEG;AACH,MAAM,OAAO,WAAW;IACd,WAAW,GAAuB,IAAI,CAAC;IACvC,cAAc,GAA0B,IAAI,GAAG,EAAE,CAAC;IAE1D;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAExF,0BAA0B;QAC1B,eAAe,EAAE,CAAC;QAElB,sBAAsB;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAE1C,wBAAwB;QACxB,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAEzD,oBAAoB;QACpB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEnD,0BAA0B;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QAEtC,kCAAkC;QAClC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAY,CAAC,CAAC;QAE3C,mBAAmB;QACnB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEjC,mBAAmB;QACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,mBAAmB;QACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAgB,CAAC;QAElC,yEAAyE;QACzE,2EAA2E;QAC3E,mDAAmD;QACnD,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAEzC,sCAAsC;YACtC,IAAI,CAAC,WAAY,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,QAAkB,EAAE,SAAiB;QACrE,MAAM,WAAW,GAAI,QAAgB,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,IAAI,OAAO,MAAM,EAAE,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAClE,MAAM,IAAI,GAAG,OAAO,MAAM,EAAE,SAAS,KAAK,UAAU;oBAClD,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE;oBAClC,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,SAAS,IAAI;oBAChF,kFAAkF,CACnF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,yBAAyB,CAAC,MAAkB,EAAE,SAAS,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,UAAoB;QAChC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,GAAY;QAC7B,OAAO,GAAG,KAAK,IAAI;YACjB,OAAO,GAAG,KAAK,QAAQ;YACvB,iBAAiB,IAAI,GAAG;YACxB,UAAU,IAAI,GAAG,CAAC;IACtB,CAAC;CACF"}
@@ -2,17 +2,87 @@
2
2
 
3
3
  <%# Generate imports for referenced types -%>
4
4
  <%
5
+ // GenModel documentation of a model element (class, feature, ...)
6
+ function getDocumentation(element) {
7
+ const ann = element?.getEAnnotation?.('http://www.eclipse.org/emf/2002/GenModel');
8
+ const doc = ann?.getDetails?.()?.getByKey?.('documentation');
9
+ return typeof doc === 'string' && doc.length > 0 ? doc : null;
10
+ }
11
+ // Custom decorator annotations (#31): an eAnnotation source of the form
12
+ // '<importable-specifier>/<DecoratorName>' (not an EMF source URI) becomes an
13
+ // import plus a decorator application with the details as options object
14
+ function getCustomDecorators(element) {
15
+ const decorators = [];
16
+ for (const ann of element?.getEAnnotations?.() ?? []) {
17
+ const source = ann.getSource?.();
18
+ if (!source || source.startsWith('http://') || source.startsWith('https://')) continue;
19
+ const slashIdx = source.lastIndexOf('/');
20
+ if (slashIdx <= 0) continue;
21
+ const name = source.substring(slashIdx + 1);
22
+ if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name)) continue;
23
+ const options = [];
24
+ for (const entry of ann.getDetails?.() ?? []) {
25
+ const key = entry.eGet?.(entry.eClass().getEStructuralFeature('key'));
26
+ const value = entry.eGet?.(entry.eClass().getEStructuralFeature('value'));
27
+ if (key == null) continue;
28
+ const keyOut = /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(key) ? key : JSON.stringify(key);
29
+ options.push(`${keyOut}: ${JSON.stringify(value ?? '')}`);
30
+ }
31
+ decorators.push({ name, specifier: source.substring(0, slashIdx), options: `{${options.join(', ')}}` });
32
+ }
33
+ return decorators;
34
+ }
35
+ // Determine which of the annotation decorators the class actually uses (#32)
36
+ const classDoc = getDocumentation(eClass);
37
+ let usesDocumentation = !!classDoc;
38
+ let usesAttribute = false, usesReference = false, usesEnum = false;
39
+ for (const genFeature of features) {
40
+ const f = genFeature.ecoreFeature;
41
+ if (getDocumentation(f)) usesDocumentation = true;
42
+ if (f.getEType() && typeMapper.isEEnum(f.getEType())) usesEnum = true;
43
+ else if (typeMapper.isReference(f)) usesReference = true;
44
+ else usesAttribute = true;
45
+ }
46
+ for (const genOp of operations) {
47
+ if (getDocumentation(genOp.ecoreOperation)) usesDocumentation = true;
48
+ }
49
+ const annotationNames = [
50
+ ...(usesDocumentation ? ['Documentation'] : []),
51
+ ...(usesAttribute ? ['Attribute'] : []),
52
+ 'ModelClass',
53
+ ...(usesReference ? ['Reference'] : []),
54
+ ...(usesEnum ? ['Enum'] : [])
55
+ ];
56
+
57
+ // Merge all imports per module specifier: resolved type imports, the used
58
+ // annotation decorators, and custom decorator imports (#31, #32)
59
+ const mergedImports = new Map();
60
+ function addImport(specifier, name) {
61
+ if (!mergedImports.has(specifier)) mergedImports.set(specifier, new Set());
62
+ mergedImports.get(specifier).add(name);
63
+ }
5
64
  const imports = importResolver.resolveImportsForClass(eClass, genPackage, 'decorator');
6
65
  for (const imp of imports) {
7
66
  if (imp.typeName !== className && !imp.typeName.includes(',')) {
67
+ addImport(imp.importPath, imp.typeName);
68
+ }
69
+ }
70
+ for (const name of annotationNames) addImport(annotationsImport, name);
71
+ for (const genOp of operations) {
72
+ for (const dec of getCustomDecorators(genOp.ecoreOperation)) {
73
+ addImport(dec.specifier, dec.name);
74
+ }
75
+ }
76
+ for (const [specifier, names] of mergedImports) {
8
77
  -%>
9
- import { <%- imp.typeName %> } from '<%- imp.importPath %>';
78
+ import { <%- [...names].join(', ') %> } from '<%- specifier %>';
10
79
  <%
11
- }
12
80
  }
13
81
  -%>
14
- import { Documentation, Attribute, ModelClass, Reference, Enum } from './ModelAnnotations';
15
82
 
83
+ <% if (classDoc) { -%>
84
+ @Documentation(<%- JSON.stringify(classDoc) %>)
85
+ <% } -%>
16
86
  @ModelClass({ type: '<%- nsURI %>#//<%- className %>' })
17
87
  export <% if (isAbstract) { %>abstract <% } %>class <%- className %><%
18
88
  if (typeParameters && typeParameters.length > 0) {
@@ -25,8 +95,11 @@ if (typeParameters && typeParameters.length > 0) {
25
95
  if (superTypes && superTypes.length > 0) {
26
96
  const superNames = [];
27
97
  for (const st of superTypes) {
28
- if (st.getName) {
29
- superNames.push(st.getName());
98
+ // getName helper also resolves the name of an unresolved proxy from its
99
+ // URI fragment - a cross-package supertype must not lose its extends (#30)
100
+ const stName = getName(st);
101
+ if (stName) {
102
+ superNames.push(stName);
30
103
  }
31
104
  }
32
105
  if (superNames.length > 0) {
@@ -38,37 +111,31 @@ if (superTypes && superTypes.length > 0) {
38
111
  const feature = genFeature.ecoreFeature;
39
112
  const featureName = feature.getName();
40
113
  const featureType = typeMapper.mapFeatureBaseType(feature);
114
+ // Decorator argument is a runtime type NAME for metadata lookups -
115
+ // generic type arguments must not leak into it (#29). Derived from the
116
+ // mapped type, because an unresolved cross-package eType proxy has no getName
117
+ const decoratorTypeName = featureType.split('<')[0];
41
118
  const fullType = typeMapper.mapFeature(feature);
42
119
  const defaultValue = typeMapper.getDefaultValue(feature);
43
120
  const isMany = feature.isMany();
44
121
  const isRef = typeMapper.isReference(feature);
45
122
  const isEnum = feature.getEType() && typeMapper.isEEnum(feature.getEType());
46
123
 
47
- // Check for documentation annotation
48
- let doc = null;
49
- if (feature.getEAnnotations) {
50
- for (const ann of feature.getEAnnotations()) {
51
- const annSource = typeof ann.getSource === 'function' ? ann.getSource() : ann.source;
52
- if (annSource === 'http://www.eclipse.org/emf/2002/GenModel') {
53
- const details = typeof ann.getDetails === 'function' ? ann.getDetails() : ann.details;
54
- if (details && details.get) {
55
- doc = details.get('documentation');
56
- }
57
- }
58
- }
59
- }
124
+ // GenModel documentation as @Documentation decorator; JSON.stringify keeps
125
+ // multiline values and quotes a valid string literal
126
+ const doc = getDocumentation(feature);
60
127
  if (doc) {
61
128
  -%>
62
- @Documentation("<%- doc %>")
129
+ @Documentation(<%- JSON.stringify(doc) %>)
63
130
  <%
64
131
  }
65
132
  if (isEnum) {
66
133
  -%>
67
- @Enum('<%- featureType %>')
134
+ @Enum('<%- decoratorTypeName %>')
68
135
  <%
69
136
  } else if (isRef) {
70
137
  -%>
71
- @Reference('<%- featureType %>')
138
+ @Reference('<%- decoratorTypeName %>')
72
139
  <%
73
140
  } else {
74
141
  -%>
@@ -83,14 +150,19 @@ if (superTypes && superTypes.length > 0) {
83
150
  const op = genOp.ecoreOperation;
84
151
  const opName = op.getName();
85
152
  const returnType = op.getEType() ? typeMapper.mapClassifier(op.getEType()) : 'void';
86
- const params = [];
87
- for (const param of op.getEParameters()) {
88
- const paramName = param.getName();
89
- const paramType = typeMapper.mapClassifier(param.getEType());
90
- params.push(`${paramName}: ${paramType}`);
153
+ const opDoc = getDocumentation(op);
154
+ if (opDoc) {
155
+ -%>
156
+ @Documentation(<%- JSON.stringify(opDoc) %>)
157
+ <%
158
+ }
159
+ for (const dec of getCustomDecorators(op)) {
160
+ -%>
161
+ @<%- dec.name %>(<%- dec.options %>)
162
+ <%
91
163
  }
92
164
  -%>
93
- <%- opName %>(<%- params.join(', ') %>): <%- returnType %> {
165
+ <%- opName %>(<%- mapParams(op) %>): <%- returnType %> {
94
166
  throw new Error('<%- opName %> not implemented');
95
167
  }
96
168
 
@@ -28,7 +28,7 @@ export enum <%- enumName %> {
28
28
  const literal = literals[i];
29
29
  const literalName = getLiteralProp(literal, 'literal') || getLiteralProp(literal, 'name');
30
30
  const literalValue = getLiteralProp(literal, 'value');
31
- const value = useStringValues ? `'${literalName}'` : literalValue;
31
+ const value = useStringValues ? JSON.stringify(literalName) : literalValue;
32
32
  -%>
33
33
  <%- getLiteralProp(literal, 'name') %> = <%- value %><% if (i < literals.length - 1) { %>,<% } %>
34
34
  <% } -%>
@@ -49,13 +49,7 @@ if (superTypes && superTypes.length > 0) {
49
49
  const op = genOp.ecoreOperation;
50
50
  const opName = op.getName();
51
51
  const returnType = op.getEType() ? typeMapper.mapClassifier(op.getEType()) : 'void';
52
- const params = [];
53
- for (const param of op.getEParameters()) {
54
- const paramName = param.getName();
55
- const paramType = typeMapper.mapClassifier(param.getEType());
56
- params.push(`${paramName}: ${paramType}`);
57
- }
58
52
  -%>
59
- <%- opName %>(<%- params.join(', ') %>): <%- returnType %>;
53
+ <%- opName %>(<%- mapParams(op) %>): <%- returnType %>;
60
54
  <% } -%>
61
55
  }
@@ -2,12 +2,13 @@
2
2
 
3
3
  import 'reflect-metadata';
4
4
 
5
- // Metadata keys
6
- const MODEL_CLASS_KEY = Symbol('modelClass');
7
- const ATTRIBUTE_KEY = Symbol('attribute');
8
- const REFERENCE_KEY = Symbol('reference');
9
- const ENUM_KEY = Symbol('enum');
10
- const DOCUMENTATION_KEY = Symbol('documentation');
5
+ // Metadata keys: Symbol.for() so every generated copy of this file shares
6
+ // the same identities and cross-package metadata readers see all models (#26)
7
+ const MODEL_CLASS_KEY = Symbol.for('emfts.modelClass');
8
+ const ATTRIBUTE_KEY = Symbol.for('emfts.attribute');
9
+ const REFERENCE_KEY = Symbol.for('emfts.reference');
10
+ const ENUM_KEY = Symbol.for('emfts.enum');
11
+ const DOCUMENTATION_KEY = Symbol.for('emfts.documentation');
11
12
 
12
13
  /**
13
14
  * Decorator for model classes
@@ -2,6 +2,8 @@
2
2
 
3
3
  // Re-export all types from this package
4
4
  <% for (const exp of exports) { -%>
5
- export * from './<%- exp %>';
5
+ export * from './<%- exp %>.js';
6
+ <% } -%>
7
+ <% if (!annotationsPackage) { -%>
8
+ export * from './ModelAnnotations.js';
6
9
  <% } -%>
7
- export * from './ModelAnnotations';