@emfts/codegen 0.0.1-next.5 → 0.0.1-next.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/cli/commands/generate-service-interfaces.d.ts +3 -0
  2. package/dist/cli/commands/generate-service-interfaces.d.ts.map +1 -0
  3. package/dist/cli/commands/generate-service-interfaces.js +57 -0
  4. package/dist/cli/commands/generate-service-interfaces.js.map +1 -0
  5. package/dist/cli/commands/generate.d.ts.map +1 -1
  6. package/dist/cli/commands/generate.js +38 -3
  7. package/dist/cli/commands/generate.js.map +1 -1
  8. package/dist/cli/index.js +2 -0
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/generator/GeneratorContext.d.ts.map +1 -1
  11. package/dist/generator/GeneratorContext.js +6 -0
  12. package/dist/generator/GeneratorContext.js.map +1 -1
  13. package/dist/generator/GeneratorOptions.d.ts +2 -0
  14. package/dist/generator/GeneratorOptions.d.ts.map +1 -1
  15. package/dist/generator/GeneratorOptions.js.map +1 -1
  16. package/dist/generator/ImportResolver.d.ts +21 -1
  17. package/dist/generator/ImportResolver.d.ts.map +1 -1
  18. package/dist/generator/ImportResolver.js +111 -2
  19. package/dist/generator/ImportResolver.js.map +1 -1
  20. package/dist/generator/ServiceInterfaceGenerator.d.ts +93 -0
  21. package/dist/generator/ServiceInterfaceGenerator.d.ts.map +1 -0
  22. package/dist/generator/ServiceInterfaceGenerator.js +275 -0
  23. package/dist/generator/ServiceInterfaceGenerator.js.map +1 -0
  24. package/dist/generator/TypeMapper.d.ts.map +1 -1
  25. package/dist/generator/TypeMapper.js +11 -1
  26. package/dist/generator/TypeMapper.js.map +1 -1
  27. package/dist/generator/index.d.ts +1 -0
  28. package/dist/generator/index.d.ts.map +1 -1
  29. package/dist/generator/index.js +1 -0
  30. package/dist/generator/index.js.map +1 -1
  31. package/dist/generator/modes/EmfGenerator.d.ts +14 -0
  32. package/dist/generator/modes/EmfGenerator.d.ts.map +1 -1
  33. package/dist/generator/modes/EmfGenerator.js +89 -9
  34. package/dist/generator/modes/EmfGenerator.js.map +1 -1
  35. package/dist/index.d.ts +4 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +22 -6
  38. package/dist/index.js.map +1 -1
  39. package/dist/templates/partials/emf/class-file.ejs +78 -0
  40. package/dist/templates/partials/emf/factory-file.ejs +9 -2
  41. package/dist/templates/partials/emf/index-file.ejs +2 -2
  42. package/dist/templates/partials/emf/package-file.ejs +39 -15
  43. package/dist/util/EObjectHelper.d.ts.map +1 -1
  44. package/dist/util/EObjectHelper.js +8 -2
  45. package/dist/util/EObjectHelper.js.map +1 -1
  46. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -40,10 +40,15 @@ import * as path from 'path';
40
40
  */
41
41
  export async function generate(options) {
42
42
  const { ecorePath, configPath, writeFiles = true } = options;
43
- // Load ecore model
43
+ // Load ecore model (dependencies first)
44
44
  const ecoreLoader = new EcoreLoader();
45
+ if (options.dependencies) {
46
+ for (const dep of options.dependencies) {
47
+ await ecoreLoader.load(dep);
48
+ }
49
+ }
45
50
  const ePackage = await ecoreLoader.load(ecorePath);
46
- // Load genconfig
51
+ // Load genconfig (only register main package, not dependencies)
47
52
  const configLoader = new GenConfigLoader();
48
53
  configLoader.registerPackage(ePackage);
49
54
  const genConfig = await configLoader.load(configPath);
@@ -53,7 +58,10 @@ export async function generate(options) {
53
58
  // Use outputDir from options or from config
54
59
  const outputDir = options.outputDir || genConfig.generation.outputDir;
55
60
  // Generate code
56
- const generator = new CodeGenerator(genModel);
61
+ const generator = new CodeGenerator(genModel, {
62
+ outputDirectory: outputDir,
63
+ referencedPackages: options.referencedPackages,
64
+ });
57
65
  const result = await generator.generate();
58
66
  // Write files if requested
59
67
  if (writeFiles) {
@@ -80,10 +88,15 @@ export async function generate(options) {
80
88
  */
81
89
  export async function generateInMemory(options) {
82
90
  const { ecorePath, configPath } = options;
83
- // Load ecore model
91
+ // Load ecore model (dependencies first)
84
92
  const ecoreLoader = new EcoreLoader();
93
+ if (options.dependencies) {
94
+ for (const dep of options.dependencies) {
95
+ await ecoreLoader.load(dep);
96
+ }
97
+ }
85
98
  const ePackage = await ecoreLoader.load(ecorePath);
86
- // Load genconfig
99
+ // Load genconfig (only register main package, not dependencies)
87
100
  const configLoader = new GenConfigLoader();
88
101
  configLoader.registerPackage(ePackage);
89
102
  const genConfig = await configLoader.load(configPath);
@@ -91,7 +104,10 @@ export async function generateInMemory(options) {
91
104
  const converter = new GenConfigConverter();
92
105
  const genModel = converter.convert(genConfig);
93
106
  // Generate code
94
- const generator = new CodeGenerator(genModel);
107
+ const generator = new CodeGenerator(genModel, {
108
+ outputDirectory: genConfig.generation.outputDir,
109
+ referencedPackages: options.referencedPackages,
110
+ });
95
111
  return generator.generate();
96
112
  }
97
113
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const hardcodedCoreTypes = ['BasicEObject', 'EClass', 'EStructuralFeature'];
6
6
  const coreTypeImports = ['EClass', 'EStructuralFeature'];
7
7
  const typeOnlyImports = [];
8
8
  const valueImports = [];
9
+ const importedNames = new Set();
9
10
  for (const imp of imports) {
10
11
  if (imp.typeName === className || imp.typeName === interfaceName || imp.typeName === extendsClass) continue;
11
12
  if (hardcodedCoreTypes.includes(imp.typeName)) continue;
@@ -25,6 +26,21 @@ for (const imp of imports) {
25
26
  } else {
26
27
  typeOnlyImports.push(imp);
27
28
  }
29
+ importedNames.add(imp.typeName);
30
+ }
31
+ // Add mixin feature type imports (if not already imported)
32
+ for (const imp of (mixinImports || [])) {
33
+ if (imp.typeName === className || imp.typeName === interfaceName || imp.typeName === extendsClass) continue;
34
+ if (hardcodedCoreTypes.includes(imp.typeName)) continue;
35
+ if (importedNames.has(imp.typeName)) continue;
36
+ if (imp.importPath === '@emfts/core') {
37
+ if (!coreTypeImports.includes(imp.typeName)) {
38
+ coreTypeImports.push(imp.typeName);
39
+ }
40
+ continue;
41
+ }
42
+ typeOnlyImports.push(imp);
43
+ importedNames.add(imp.typeName);
28
44
  }
29
45
  -%>
30
46
  <% if (!extendsImport) { -%>
@@ -52,6 +68,9 @@ export <% if (isAbstract) { %>abstract <% } %>class <%- className %> extends <%-
52
68
  <% for (const fid of featureIds) { -%>
53
69
  static readonly <%- fid.name %>: number = <%- fid.id %>;
54
70
  <% } -%>
71
+ <% for (const mf of (mixinFeatures || [])) { -%>
72
+ static readonly <%- mf.upperName %>: number = <%- mf.id %>;
73
+ <% } -%>
55
74
 
56
75
  // Private fields
57
76
  <% for (const genFeature of features) {
@@ -63,6 +82,13 @@ export <% if (isAbstract) { %>abstract <% } %>class <%- className %> extends <%-
63
82
  -%>
64
83
  private _<%- featureName %><% if (!featureIsMany && defaultValue === null) { %>?<% } %>: <%- featureType %><% if (defaultValue !== null) { %> = <%- defaultValue %><% } %>;
65
84
  <% } -%>
85
+ <% for (const mf of (mixinFeatures || [])) {
86
+ const featureType = typeMapper.mapFeature(mf.feature);
87
+ const defaultValue = typeMapper.getDefaultValue(mf.feature);
88
+ const featureIsMany = isMany(mf.feature);
89
+ -%>
90
+ private _<%- mf.name %><% if (!featureIsMany && defaultValue === null) { %>?<% } %>: <%- featureType %><% if (defaultValue !== null) { %> = <%- defaultValue %><% } %>;
91
+ <% } -%>
66
92
 
67
93
  /**
68
94
  * Returns the EClass of this object
@@ -109,6 +135,19 @@ export <% if (isAbstract) { %>abstract <% } %>class <%- className %> extends <%-
109
135
  }
110
136
 
111
137
  <% } -%>
138
+ <% } -%>
139
+ <% for (const mf of (mixinFeatures || [])) {
140
+ const featureType = typeMapper.mapFeature(mf.feature);
141
+ const featureIsMany = isMany(mf.feature);
142
+ -%>
143
+ get <%- mf.name %>(): <%- featureType %> {
144
+ return this._<%- mf.name %><% if (!featureIsMany) { %>!<% } %>;
145
+ }
146
+
147
+ set <%- mf.name %>(value: <%- featureType %>) {
148
+ this._<%- mf.name %> = value;
149
+ }
150
+
112
151
  <% } -%>
113
152
  // Reflective API
114
153
 
@@ -121,6 +160,10 @@ export <% if (isAbstract) { %>abstract <% } %>class <%- className %> extends <%-
121
160
  <% for (const fid of featureIds) { -%>
122
161
  case <%- className %>.<%- fid.name %>:
123
162
  return this.<%- getName(fid.feature.ecoreFeature) %>;
163
+ <% } -%>
164
+ <% for (const mf of (mixinFeatures || [])) { -%>
165
+ case <%- className %>.<%- mf.upperName %>:
166
+ return this.<%- mf.name %>;
124
167
  <% } -%>
125
168
  default:
126
169
  return super.eGet(feature);
@@ -140,6 +183,14 @@ export <% if (isAbstract) { %>abstract <% } %>class <%- className %> extends <%-
140
183
  this.<%- getName(fid.feature.ecoreFeature) %> = newValue as <%- featureType %>;
141
184
  super.eSet(feature, newValue);
142
185
  break;
186
+ <% } -%>
187
+ <% for (const mf of (mixinFeatures || [])) {
188
+ const featureType = typeMapper.mapFeature(mf.feature);
189
+ -%>
190
+ case <%- className %>.<%- mf.upperName %>:
191
+ this.<%- mf.name %> = newValue as <%- featureType %>;
192
+ super.eSet(feature, newValue);
193
+ break;
143
194
  <% } -%>
144
195
  default:
145
196
  super.eSet(feature, newValue);
@@ -166,6 +217,19 @@ export <% if (isAbstract) { %>abstract <% } %>class <%- className %> extends <%-
166
217
  <% } else { -%>
167
218
  return this._<%- featureName %> !== undefined;
168
219
  <% } -%>
220
+ <% } -%>
221
+ <% for (const mf of (mixinFeatures || [])) {
222
+ const featureIsMany = isMany(mf.feature);
223
+ const defaultValue = typeMapper.getDefaultValue(mf.feature);
224
+ -%>
225
+ case <%- className %>.<%- mf.upperName %>:
226
+ <% if (featureIsMany) { -%>
227
+ return this._<%- mf.name %> !== undefined && this._<%- mf.name %>.length > 0;
228
+ <% } else if (defaultValue !== null) { -%>
229
+ return this._<%- mf.name %> !== <%- defaultValue %>;
230
+ <% } else { -%>
231
+ return this._<%- mf.name %> !== undefined;
232
+ <% } -%>
169
233
  <% } -%>
170
234
  default:
171
235
  return super.eIsSet(feature);
@@ -193,6 +257,20 @@ export <% if (isAbstract) { %>abstract <% } %>class <%- className %> extends <%-
193
257
  this._<%- featureName %> = undefined;
194
258
  <% } -%>
195
259
  return;
260
+ <% } -%>
261
+ <% for (const mf of (mixinFeatures || [])) {
262
+ const featureIsMany = isMany(mf.feature);
263
+ const defaultValue = typeMapper.getDefaultValue(mf.feature);
264
+ -%>
265
+ case <%- className %>.<%- mf.upperName %>:
266
+ <% if (featureIsMany) { -%>
267
+ this._<%- mf.name %> = [];
268
+ <% } else if (defaultValue !== null) { -%>
269
+ this._<%- mf.name %> = <%- defaultValue %>;
270
+ <% } else { -%>
271
+ this._<%- mf.name %> = undefined;
272
+ <% } -%>
273
+ return;
196
274
  <% } -%>
197
275
  default:
198
276
  super.eUnset(feature);
@@ -16,8 +16,15 @@ import { <%- implName %> } from './<%- implName %>';
16
16
  * @generated
17
17
  */
18
18
  export class <%- packageName %>Factory extends BasicEFactory {
19
- // Singleton instance
20
- static readonly eINSTANCE = new <%- packageName %>Factory();
19
+ // Lazy singleton instance
20
+ private static _instance: <%- packageName %>Factory;
21
+
22
+ static get eINSTANCE(): <%- packageName %>Factory {
23
+ if (!this._instance) {
24
+ this._instance = new <%- packageName %>Factory();
25
+ }
26
+ return this._instance;
27
+ }
21
28
 
22
29
  private constructor() {
23
30
  super();
@@ -11,9 +11,9 @@ export { <%- packageName %>Factory } from './<%- packageName %>Factory';
11
11
  export type { <%- name %> } from './<%- name %>';
12
12
  <% } -%>
13
13
 
14
- // Implementations
14
+ // Implementations (including abstract classes, as they're extended by subclasses)
15
15
  <% for (const genClass of genClasses) {
16
- if (!checkIsAbstract(genClass.ecoreClass) && !checkIsInterface(genClass.ecoreClass)) {
16
+ if (!checkIsInterface(genClass.ecoreClass)) {
17
17
  const implName = genClass.implClassName || (getName(genClass.ecoreClass) + 'Impl');
18
18
  -%>
19
19
  export { <%- implName %> } from './<%- implName %>';
@@ -33,42 +33,66 @@ function isEcoreClassifier(classifier) {
33
33
  return false;
34
34
  }
35
35
 
36
+ // Helper: get the nsURI of a classifier's package
37
+ function getClassifierNsURI(classifier) {
38
+ const pkg = getEPackage(classifier);
39
+ if (pkg) {
40
+ return pkg.getNsURI?.() ?? null;
41
+ }
42
+ if (typeof classifier.eIsProxy === 'function' && classifier.eIsProxy() && typeof classifier.eProxyURI === 'function') {
43
+ const proxyURI = classifier.eProxyURI()?.toString() ?? '';
44
+ const hashIdx = proxyURI.indexOf('#//');
45
+ if (hashIdx > 0) return proxyURI.substring(0, hashIdx);
46
+ }
47
+ return null;
48
+ }
49
+
36
50
  // Helper: generate the right expression for a type reference
37
- function typeRefExpr(classifier) {
51
+ // castTo: optional cast suffix (e.g., ' as EClass' for supertype assignments)
52
+ function typeRefExpr(classifier, castTo) {
38
53
  const typeName = getName(classifier);
54
+ const cast = castTo || '';
39
55
  if (isLocalClassifier(classifier)) {
40
56
  const typeUpperName = typeName.replace(/([A-Z])/g, '_$1').toUpperCase().replace(/^_/, '');
41
57
  return packageName + 'Package.Literals.' + typeUpperName;
42
58
  }
43
59
  if (isEcoreClassifier(classifier)) {
44
- return "getEcorePackage().getEClassifier('" + typeName + "')!";
60
+ return "getEcorePackage().getEClassifier('" + typeName + "')!" + cast;
61
+ }
62
+ // External dependency package — resolve via EPackageRegistry
63
+ const depNsURI = getClassifierNsURI(classifier);
64
+ if (depNsURI) {
65
+ return "EPackageRegistry.INSTANCE.getEPackage('" + depNsURI + "')!.getEClassifier('" + typeName + "')!" + cast;
45
66
  }
46
- // Fallback for other external packages
47
- return "getEcorePackage().getEClassifier('" + typeName + "')!";
67
+ return "getEcorePackage().getEClassifier('" + typeName + "')!" + cast;
48
68
  }
49
69
 
50
- // Pre-scan: check if any cross-package Ecore references exist
70
+ // Pre-scan: check if any cross-package references exist
51
71
  let needsEcoreImport = false;
72
+ let needsRegistryImport = false;
52
73
  for (const genClass of genClasses) {
53
74
  const eClass = genClass.ecoreClass;
54
75
  for (const superType of getESuperTypes(eClass)) {
55
- if (!isLocalClassifier(superType)) { needsEcoreImport = true; break; }
76
+ if (!isLocalClassifier(superType)) {
77
+ if (isEcoreClassifier(superType)) { needsEcoreImport = true; }
78
+ else { needsRegistryImport = true; }
79
+ }
56
80
  }
57
- if (needsEcoreImport) break;
58
81
  for (const genFeature of genClass.genFeatures) {
59
82
  const eType = getEType(genFeature.ecoreFeature);
60
83
  if (eType && typeMapper.isReference(genFeature.ecoreFeature) && !isLocalClassifier(eType)) {
61
- needsEcoreImport = true; break;
84
+ if (isEcoreClassifier(eType)) { needsEcoreImport = true; }
85
+ else { needsRegistryImport = true; }
62
86
  }
63
87
  }
64
- if (needsEcoreImport) break;
65
88
  }
66
89
  -%>
67
- <% if (needsEcoreImport) { -%>
68
- import { BasicEPackage, BasicEClass, BasicEAttribute, BasicEReference, getEcorePackage } from '@emfts/core';
69
- <% } else { -%>
70
- import { BasicEPackage, BasicEClass, BasicEAttribute, BasicEReference } from '@emfts/core';
71
- <% } -%>
90
+ <%
91
+ const coreImports = ['BasicEPackage', 'BasicEClass', 'BasicEAttribute', 'BasicEReference'];
92
+ if (needsEcoreImport) coreImports.push('getEcorePackage');
93
+ if (needsRegistryImport) coreImports.push('EPackageRegistry');
94
+ -%>
95
+ import { <%- coreImports.join(', ') %> } from '@emfts/core';
72
96
  import type { EClass, EAttribute, EReference, EEnum } from '@emfts/core';
73
97
 
74
98
  /**
@@ -165,7 +189,7 @@ export class <%- packageName %>Package extends BasicEPackage {
165
189
  const superTypeName = getName(superType);
166
190
  if (superTypeName) {
167
191
  -%>
168
- (<%- packageName %>Package.Literals.<%- upperName %> as BasicEClass).getESuperTypes().push(<%- typeRefExpr(superType) %>);
192
+ (<%- packageName %>Package.Literals.<%- upperName %> as BasicEClass).getESuperTypes().push(<%- typeRefExpr(superType, ' as EClass') %>);
169
193
  <% }
170
194
  }
171
195
  } -%>
@@ -1 +1 @@
1
- {"version":3,"file":"EObjectHelper.d.ts","sourceRoot":"","sources":["../../src/util/EObjectHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAgD/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CA4BlE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQlD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CASzC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAS5C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAqB/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAqBhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAQ1C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAQjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAQzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAQjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE,CAQzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAQpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,CAQ9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAuBhD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CASlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CASlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAQnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAQ9C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAiBnE"}
1
+ {"version":3,"file":"EObjectHelper.d.ts","sourceRoot":"","sources":["../../src/util/EObjectHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAgD/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CA4BlE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQlD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CASzC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAS5C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAqB/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAqBhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAa1C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAQjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAQzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAQjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE,CAQzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAQpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,CAQ9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAuBhD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CASlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CASlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAQnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAQ9C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAiBnE"}
@@ -172,9 +172,15 @@ export function getEType(feature) {
172
172
  if (!feature)
173
173
  return null;
174
174
  if (typeof feature.getEType === 'function') {
175
- return feature.getEType();
175
+ try {
176
+ return feature.getEType();
177
+ }
178
+ catch {
179
+ // getEType may throw on unresolved proxies (e.g., EBooleanObject)
180
+ }
176
181
  }
177
- return getFeatureValue(feature, 'eType');
182
+ // Fallback for dynamic objects or when getEType throws
183
+ return getFeatureValue(feature, 'eType') ?? null;
178
184
  }
179
185
  /**
180
186
  * Get super types of an EClass
@@ -1 +1 @@
1
- {"version":3,"file":"EObjectHelper.js","sourceRoot":"","sources":["../../src/util/EObjectHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EObjectHelper.js","sourceRoot":"","sources":["../../src/util/EObjectHelper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emfts/codegen",
3
- "version": "0.0.1-next.5",
3
+ "version": "0.0.1-next.7",
4
4
  "description": "TypeScript code generator for Ecore models using emfts",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,7 +15,7 @@
15
15
  }
16
16
  },
17
17
  "scripts": {
18
- "build": "tsc && cp -r src/templates dist/templates",
18
+ "build": "tsc && rm -rf dist/templates && cp -r src/templates dist/templates",
19
19
  "watch": "tsc --watch",
20
20
  "test": "vitest",
21
21
  "test:run": "vitest run",