@notjustcoders/ioc-arise 1.0.8 → 1.0.9

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 (27) hide show
  1. package/dist/analyser/class-analyzer.d.ts.map +1 -1
  2. package/dist/analyser/class-analyzer.js +3 -6
  3. package/dist/analyser/class-analyzer.js.map +1 -1
  4. package/dist/generator/container-generator-factory.d.ts.map +1 -1
  5. package/dist/generator/container-generator-factory.js +1 -1
  6. package/dist/generator/container-generator-factory.js.map +1 -1
  7. package/dist/generator/import-generator.d.ts +21 -0
  8. package/dist/generator/import-generator.d.ts.map +1 -1
  9. package/dist/generator/import-generator.js +77 -2
  10. package/dist/generator/import-generator.js.map +1 -1
  11. package/dist/generator/modular/module-container-function-generator.d.ts +2 -1
  12. package/dist/generator/modular/module-container-function-generator.d.ts.map +1 -1
  13. package/dist/generator/modular/module-container-function-generator.js +3 -2
  14. package/dist/generator/modular/module-container-function-generator.js.map +1 -1
  15. package/dist/generator/modular/module-dependency-resolver.d.ts +1 -1
  16. package/dist/generator/modular/module-dependency-resolver.d.ts.map +1 -1
  17. package/dist/generator/modular/module-dependency-resolver.js +6 -4
  18. package/dist/generator/modular/module-dependency-resolver.js.map +1 -1
  19. package/dist/generator/modular/module-function-body-generator.d.ts +1 -1
  20. package/dist/generator/modular/module-function-body-generator.d.ts.map +1 -1
  21. package/dist/generator/modular/module-function-body-generator.js +3 -3
  22. package/dist/generator/modular/module-function-body-generator.js.map +1 -1
  23. package/dist/generator/shared/instantiation-utils.d.ts +16 -12
  24. package/dist/generator/shared/instantiation-utils.d.ts.map +1 -1
  25. package/dist/generator/shared/instantiation-utils.js +112 -51
  26. package/dist/generator/shared/instantiation-utils.js.map +1 -1
  27. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"class-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwC,MAAM,UAAU,CAAC;AAK3E,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAMlD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA4CvD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAWnG,kBAAkB;IA2FhC,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,mBAAmB;IAuC3B,OAAO,CAAC,kBAAkB;CAM3B"}
1
+ {"version":3,"file":"class-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwC,MAAM,UAAU,CAAC;AAK3E,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAMlD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA4CvD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAWnG,kBAAkB;IA2FhC,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,kBAAkB;CAM3B"}
@@ -153,9 +153,6 @@ class ClassAnalyzer {
153
153
  return result;
154
154
  }
155
155
  filterUnusedClasses(classes) {
156
- // Create sets of all class names and interface names for quick lookup
157
- const allClassNames = new Set(classes.map(c => c.name));
158
- const allInterfaceNames = new Set(classes.map(c => c.interfaceName).filter(Boolean));
159
156
  // Create a set of all dependencies (class names and interface names referenced by others)
160
157
  const referencedTypes = new Set();
161
158
  classes.forEach(classInfo => {
@@ -166,14 +163,14 @@ class ClassAnalyzer {
166
163
  // Filter out classes that:
167
164
  // 1. Have zero dependencies AND
168
165
  // 2. Are not referenced by any other class (neither their class name nor interface name)
166
+ // Note: Controllers and other entry points should be kept even if not referenced
169
167
  const filteredClasses = classes.filter(classInfo => {
170
- const hasNoDependencies = classInfo.dependencies.length === 0;
171
168
  const isClassReferenced = referencedTypes.has(classInfo.name);
172
169
  const isInterfaceReferenced = classInfo.interfaceName ? referencedTypes.has(classInfo.interfaceName) : false;
173
170
  // Keep the class if:
174
- // - It has dependencies, OR
171
+ // - It has dependencies (including controllers that inject services), OR
175
172
  // - It is referenced by others (either by class name or interface name)
176
- const shouldKeep = !hasNoDependencies || isClassReferenced || isInterfaceReferenced;
173
+ const shouldKeep = classInfo.dependencies.length > 0 || isClassReferenced || isInterfaceReferenced;
177
174
  if (!shouldKeep) {
178
175
  one_logger_client_sdk_1.logger.log(`Filtering out unused class: ${classInfo.name} (no dependencies and not referenced by others)`);
179
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"class-analyzer.js","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class-analyzer.js","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAGhC,4CAAyC;AACzC,gFAA2D;AAE3D,MAAa,aAAa;IAKxB,YAAY,SAAiB,EAAE,gBAAyB;QACtD,IAAI,CAAC,SAAS,GAAI,qBAAS,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAmB;QACpC,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAe,CAAC;QAE1C,oEAAoE;QACpE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAChD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAE/B,qBAAqB;gBACrB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC1D,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;gBAEtE,sBAAsB;gBACtB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACvD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAC7D,IAAI,SAAS,EAAE,CAAC;wBACd,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,8BAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;gBAC5F,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,kFAAkF;QAClF,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE7D,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,aAA0B,EAAE,aAA0B;QACxF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8BAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;YAE9D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,IAAS,EAAE,aAA0B,EAAE,aAA0B;QAClH,MAAM,OAAO,GAAgB,EAAE,CAAC;QAEhC,IAAI,CAAC;YACH,6CAA6C;YAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE5D,uEAAuE;YACvE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC9D,8BAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAC,QAAQ,EAAE,WAAW,EAAC,CAAC,CAAA;YAE5D,qDAAqD;YACrD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;YACxF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;YAE9C,wCAAwC;YACxC,KAAK,MAAM,SAAS,IAAI,wBAAwB,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAErE,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa;oBAAE,SAAS;gBAE3C,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;wBAAE,SAAS;gBAC7C,CAAC;gBAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;gBACjF,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;gBAC5G,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAE3E,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEnC,8BAAM,CAAC,GAAG,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;gBAC5D,8BAAM,CAAC,GAAG,CAAC,iBAAiB,SAAS,GAAG,EAAE,EAAC,aAAa,EAAC,CAAC,CAAC;gBAC3D,8BAAM,CAAC,GAAG,CAAC,0BAA0B,SAAS,GAAG,EAAE,EAAC,iBAAiB,EAAC,CAAC,CAAC;gBACxE,8BAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAC,KAAK,EAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;gBAC7E,8BAAM,CAAC,GAAG,CAAC,oBAAoB,SAAS,GAAG,EAAE,EAAC,YAAY,EAAC,CAAC,CAAC;gBAC7D,8BAAM,CAAC,GAAG,CAAC,aAAa,SAAS,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;gBAE/C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,QAAQ;oBACR,YAAY;oBACZ,iBAAiB;oBACjB,aAAa;oBACb,UAAU;oBACV,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;YAED,+CAA+C;YAC/C,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAE7D,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAE/D,uEAAuE;gBACvE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAAE,SAAS;gBAE/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;gBACjF,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;gBAC5G,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAE3E,8BAAM,CAAC,GAAG,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC;gBAC/D,8BAAM,CAAC,GAAG,CAAC,0BAA0B,SAAS,GAAG,EAAE,EAAC,iBAAiB,EAAC,CAAC,CAAC;gBACxE,8BAAM,CAAC,GAAG,CAAC,oBAAoB,SAAS,GAAG,EAAE,EAAC,YAAY,EAAC,CAAC,CAAC;gBAC7D,8BAAM,CAAC,GAAG,CAAC,aAAa,SAAS,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;gBAE/C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,QAAQ;oBACR,YAAY;oBACZ,iBAAiB;oBACjB,aAAa,EAAE,SAAS,EAAE,iCAAiC;oBAC3D,UAAU;oBACV,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,mBAAmB,CACzB,iBAAyC,EACzC,WAAgC,EAChC,aAA0B,EAC1B,aAA0B;QAG1B,MAAM,MAAM,GAAG,iBAAiB;aAC7B,GAAG,CAAC,KAAK,CAAC,EAAE;YACX,iDAAiD;YACjD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;YAC/D,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;aACD,MAAM,CAAC,IAAI,CAAC,EAAE;YAEb,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,aAAa,CAAC,CAAA;YAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,aAAa,CAAC,CAAA;YAExC,MAAM,gBAAgB,GAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAE;YACnD,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAO,YAAY,IAAI,gBAAgB,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAA;IAEjB,CAAC;IAEO,mBAAmB,CAAC,OAAoB;QAE9C,0FAA0F;QAC1F,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC1B,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACnC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,gCAAgC;QAChC,yFAAyF;QACzF,iFAAiF;QACjF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACjD,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,qBAAqB,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE7G,qBAAqB;YACrB,yEAAyE;YACzE,wEAAwE;YACxE,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,IAAI,qBAAqB,CAAC;YAEnG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,8BAAM,CAAC,GAAG,CAAC,+BAA+B,SAAS,CAAC,IAAI,iDAAiD,CAAC,CAAC;YAC7G,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,8BAAM,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,MAAM,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/E,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,kBAAkB,CAAC,QAAgB,EAAE,SAAiB;QAC5D,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,KAAK,oBAAoB,EAAE,CAAC;IACrC,CAAC;CACF;AAlOD,sCAkOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"container-generator-factory.d.ts","sourceRoot":"","sources":["../../src/generator/container-generator-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAKpE,OAAO,EAAG,SAAS,EAAE,MAAM,UAAU,CAAC;AAQtC;;;;GAIG;AACH,qBAAa,yBAAyB;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CACX,gBAAgB,EAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC3C,UAAU,EAAE,MAAM,GACjB,sBAAsB;IAgCzB;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO;IAInF;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM;IAQtF;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM;CAG3E"}
1
+ {"version":3,"file":"container-generator-factory.d.ts","sourceRoot":"","sources":["../../src/generator/container-generator-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAKpE,OAAO,EAAG,SAAS,EAAE,MAAM,UAAU,CAAC;AAQtC;;;;GAIG;AACH,qBAAa,yBAAyB;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CACX,gBAAgB,EAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC3C,UAAU,EAAE,MAAM,GACjB,sBAAsB;IAiCzB;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO;IAInF;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM;IAQtF;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM;CAG3E"}
@@ -35,7 +35,7 @@ class ContainerGeneratorFactory {
35
35
  const moduleFunctionSignatureGenerator = new module_function_signature_generator_1.ModuleFunctionSignatureGenerator();
36
36
  const modularModuleDependencyResolver = new module_dependency_resolver_2.ModuleDependencyResolver(classesOrModules);
37
37
  const moduleFunctionBodyGenerator = new module_function_body_generator_1.ModuleFunctionBodyGenerator(modularModuleDependencyResolver);
38
- const moduleContainerFunctionGenerator = new module_container_function_generator_1.ModuleContainerFunctionGenerator(classesOrModules, moduleFunctionSignatureGenerator, modularModuleDependencyResolver, moduleFunctionBodyGenerator);
38
+ const moduleContainerFunctionGenerator = new module_container_function_generator_1.ModuleContainerFunctionGenerator(classesOrModules, moduleFunctionSignatureGenerator, modularModuleDependencyResolver, moduleFunctionBodyGenerator, importGenerator);
39
39
  const moduleInstantiationGenerator = new module_instantiation_generator_1.ModuleInstantiationGenerator();
40
40
  const containerAggregator = new container_aggregator_1.ContainerAggregator();
41
41
  return new modular_container_generator_1.ModularContainerGenerator(fileWriter, classesOrModules, moduleDependencyResolver, importGenerator, moduleContainerFunctionGenerator, moduleInstantiationGenerator, containerAggregator);
@@ -1 +1 @@
1
- {"version":3,"file":"container-generator-factory.js","sourceRoot":"","sources":["../../src/generator/container-generator-factory.ts"],"names":[],"mappings":";;;AACA,uFAAkF;AAClF,uFAAkF;AAClF,yDAAqD;AACrD,+CAA2C;AAE3C,uGAAiG;AACjG,uGAAiG;AACjG,qFAAmH;AACnH,6FAAuF;AACvF,6FAAwF;AACxF,yEAAqE;AAErE;;;;GAIG;AACH,MAAa,yBAAyB;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CACX,gBAA2C,EAC3C,UAAkB;QAElB,mEAAmE;QACnE,MAAM,UAAU,GAAG,IAAI,wBAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,0EAA0E;QAC1E,MAAM,wBAAwB,GAAG,IAAI,qDAAwB,CAAC,gBAAgB,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,kCAAe,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,gCAAgC,GAAG,IAAI,sEAAgC,EAAE,CAAC;QAChF,MAAM,+BAA+B,GAAG,IAAI,qDAA+B,CAAC,gBAAgB,CAAC,CAAC;QAC9F,MAAM,2BAA2B,GAAG,IAAI,4DAA2B,CAAC,+BAA+B,CAAC,CAAC;QACrG,MAAM,gCAAgC,GAAG,IAAI,sEAAgC,CAC3E,gBAAgB,EAChB,gCAAgC,EAChC,+BAA+B,EAC/B,2BAA2B,CAC5B,CAAC;QACF,MAAM,4BAA4B,GAAG,IAAI,6DAA4B,EAAE,CAAC;QACxE,MAAM,mBAAmB,GAAG,IAAI,0CAAmB,EAAE,CAAC;QAEtD,OAAO,IAAI,uDAAyB,CAClC,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,gCAAgC,EAChC,4BAA4B,EAC5B,mBAAmB,CACpB,CAAC;IAEN,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,gBAAwD;QACvE,OAAO,gBAAgB,YAAY,GAAG,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,gBAAwD;QAC3E,IAAI,gBAAgB,YAAY,GAAG,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,gBAAgB,CAAC,MAAM,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,gBAA2C;QAC7D,OAAO,gBAAgB,CAAC,IAAI,CAAC;IACjC,CAAC;CACF;AA7ED,8DA6EC"}
1
+ {"version":3,"file":"container-generator-factory.js","sourceRoot":"","sources":["../../src/generator/container-generator-factory.ts"],"names":[],"mappings":";;;AACA,uFAAkF;AAClF,uFAAkF;AAClF,yDAAqD;AACrD,+CAA2C;AAE3C,uGAAiG;AACjG,uGAAiG;AACjG,qFAAmH;AACnH,6FAAuF;AACvF,6FAAwF;AACxF,yEAAqE;AAErE;;;;GAIG;AACH,MAAa,yBAAyB;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CACX,gBAA2C,EAC3C,UAAkB;QAElB,mEAAmE;QACnE,MAAM,UAAU,GAAG,IAAI,wBAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,0EAA0E;QAC1E,MAAM,wBAAwB,GAAG,IAAI,qDAAwB,CAAC,gBAAgB,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,kCAAe,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,gCAAgC,GAAG,IAAI,sEAAgC,EAAE,CAAC;QAChF,MAAM,+BAA+B,GAAG,IAAI,qDAA+B,CAAC,gBAAgB,CAAC,CAAC;QAC9F,MAAM,2BAA2B,GAAG,IAAI,4DAA2B,CAAC,+BAA+B,CAAC,CAAC;QACrG,MAAM,gCAAgC,GAAG,IAAI,sEAAgC,CAC3E,gBAAgB,EAChB,gCAAgC,EAChC,+BAA+B,EAC/B,2BAA2B,EAC3B,eAAe,CAChB,CAAC;QACF,MAAM,4BAA4B,GAAG,IAAI,6DAA4B,EAAE,CAAC;QACxE,MAAM,mBAAmB,GAAG,IAAI,0CAAmB,EAAE,CAAC;QAEtD,OAAO,IAAI,uDAAyB,CAClC,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,gCAAgC,EAChC,4BAA4B,EAC5B,mBAAmB,CACpB,CAAC;IAEN,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,gBAAwD;QACvE,OAAO,gBAAgB,YAAY,GAAG,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,gBAAwD;QAC3E,IAAI,gBAAgB,YAAY,GAAG,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,gBAAgB,CAAC,MAAM,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,gBAA2C;QAC7D,OAAO,gBAAgB,CAAC,IAAI,CAAC;IACjC,CAAC;CACF;AA9ED,8DA8EC"}
@@ -1,7 +1,28 @@
1
1
  import { ClassInfo } from '../types';
2
2
  export declare class ImportGenerator {
3
3
  private classes;
4
+ private aliasMap;
4
5
  constructor(classes: ClassInfo[]);
6
+ /**
7
+ * Detects name collisions and generates unique aliases for colliding class names.
8
+ */
9
+ private generateAliases;
10
+ /**
11
+ * Generates a unique alias based on the class name and its module path.
12
+ */
13
+ private generateUniqueAlias;
14
+ /**
15
+ * Gets the alias for a class, or returns the original name if no alias exists.
16
+ */
17
+ getClassAlias(classInfo: ClassInfo): string;
18
+ /**
19
+ * Gets the alias for a class by its import path.
20
+ */
21
+ getClassAliasByPath(importPath: string): string;
22
+ /**
23
+ * Checks if a class has an alias (i.e., was involved in a name collision).
24
+ */
25
+ hasAlias(classInfo: ClassInfo): boolean;
5
26
  generateImports(): string;
6
27
  }
7
28
  //# sourceMappingURL=import-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-generator.d.ts","sourceRoot":"","sources":["../../src/generator/import-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAc;gBAEjB,OAAO,EAAE,SAAS,EAAE;IAIhC,eAAe,IAAI,MAAM;CAsB1B"}
1
+ {"version":3,"file":"import-generator.d.ts","sourceRoot":"","sources":["../../src/generator/import-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,OAAO,EAAE,SAAS,EAAE;IAKhC;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAI3C;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI/C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAIvC,eAAe,IAAI,MAAM;CA6B1B"}
@@ -3,14 +3,89 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImportGenerator = void 0;
4
4
  class ImportGenerator {
5
5
  constructor(classes) {
6
+ this.aliasMap = new Map();
6
7
  this.classes = classes;
8
+ this.generateAliases();
9
+ }
10
+ /**
11
+ * Detects name collisions and generates unique aliases for colliding class names.
12
+ */
13
+ generateAliases() {
14
+ const nameToClasses = new Map();
15
+ // Group classes by name to detect collisions
16
+ for (const classInfo of this.classes) {
17
+ if (!nameToClasses.has(classInfo.name)) {
18
+ nameToClasses.set(classInfo.name, []);
19
+ }
20
+ nameToClasses.get(classInfo.name).push(classInfo);
21
+ }
22
+ // Generate aliases for colliding names
23
+ for (const [className, classList] of nameToClasses) {
24
+ if (classList.length > 1) {
25
+ // Name collision detected - generate unique aliases
26
+ for (let i = 1; i < classList.length; i++) {
27
+ const classInfo = classList[i];
28
+ if (classInfo) {
29
+ const alias = this.generateUniqueAlias(className, classInfo.importPath, i);
30
+ this.aliasMap.set(classInfo.importPath, alias);
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+ /**
37
+ * Generates a unique alias based on the class name and its module path.
38
+ */
39
+ generateUniqueAlias(className, importPath, index) {
40
+ // Extract module name from import path (e.g., './user/CreateItemUseCase' -> 'User')
41
+ const pathParts = importPath.split('/');
42
+ let moduleName = '';
43
+ // Find the module directory name (the part before the class file)
44
+ for (let i = pathParts.length - 2; i >= 0; i--) {
45
+ const part = pathParts[i];
46
+ if (part && part !== '.' && part !== '..') {
47
+ moduleName = part.charAt(0).toUpperCase() + part.slice(1);
48
+ break;
49
+ }
50
+ }
51
+ // If we couldn't extract a meaningful module name, use index
52
+ if (!moduleName) {
53
+ moduleName = `Module${index + 1}`;
54
+ }
55
+ return `${moduleName}${className}`;
56
+ }
57
+ /**
58
+ * Gets the alias for a class, or returns the original name if no alias exists.
59
+ */
60
+ getClassAlias(classInfo) {
61
+ return this.aliasMap.get(classInfo.importPath) || classInfo.name;
62
+ }
63
+ /**
64
+ * Gets the alias for a class by its import path.
65
+ */
66
+ getClassAliasByPath(importPath) {
67
+ return this.aliasMap.get(importPath) || '';
68
+ }
69
+ /**
70
+ * Checks if a class has an alias (i.e., was involved in a name collision).
71
+ */
72
+ hasAlias(classInfo) {
73
+ return this.aliasMap.has(classInfo.importPath);
7
74
  }
8
75
  generateImports() {
9
76
  const importSet = new Set();
10
77
  const classMap = new Map(this.classes.map(c => [c.name, c]));
11
- // Add imports for all managed classes
78
+ // Add imports for all managed classes with aliases if needed
12
79
  for (const classInfo of this.classes) {
13
- importSet.add(`import { ${classInfo.name} } from '${classInfo.importPath}';`);
80
+ const alias = this.getClassAlias(classInfo);
81
+ if (alias !== classInfo.name) {
82
+ // Use alias for colliding imports
83
+ importSet.add(`import { ${classInfo.name} as ${alias} } from '${classInfo.importPath}';`);
84
+ }
85
+ else {
86
+ // No collision, use original name
87
+ importSet.add(`import { ${classInfo.name} } from '${classInfo.importPath}';`);
88
+ }
14
89
  }
15
90
  // Add imports for unmanaged dependencies
16
91
  for (const classInfo of this.classes) {
@@ -1 +1 @@
1
- {"version":3,"file":"import-generator.js","sourceRoot":"","sources":["../../src/generator/import-generator.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAG1B,YAAY,OAAoB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,eAAe;QACb,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7D,sCAAsC;QACtC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,SAAS,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,IAAI,YAAY,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC;QAChF,CAAC;QAED,yCAAyC;QACzC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;gBACzC,6DAA6D;gBAC7D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,wBAAwB;oBACxB,sEAAsE;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF;AA7BD,0CA6BC"}
1
+ {"version":3,"file":"import-generator.js","sourceRoot":"","sources":["../../src/generator/import-generator.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@ export declare class ModuleContainerFunctionGenerator {
11
11
  private signatureGenerator;
12
12
  private dependencyResolver;
13
13
  private bodyGenerator;
14
- constructor(moduleGroupedClasses: Map<string, ClassInfo[]>, signatureGenerator: ModuleFunctionSignatureGenerator, dependencyResolver: ModuleDependencyResolver, bodyGenerator: ModuleFunctionBodyGenerator);
14
+ private importGenerator;
15
+ constructor(moduleGroupedClasses: Map<string, ClassInfo[]>, signatureGenerator: ModuleFunctionSignatureGenerator, dependencyResolver: ModuleDependencyResolver, bodyGenerator: ModuleFunctionBodyGenerator, importGenerator: any);
15
16
  /**
16
17
  * Generates container functions for all modules.
17
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"module-container-function-generator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/module-container-function-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E;;;GAGG;AACH,qBAAa,gCAAgC;IAC3C,OAAO,CAAC,oBAAoB,CAA2B;IACvD,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,aAAa,CAA8B;gBAGjD,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,kBAAkB,EAAE,gCAAgC,EACpD,kBAAkB,EAAE,wBAAwB,EAC5C,aAAa,EAAE,2BAA2B;IAQ5C;;OAEG;IACH,gCAAgC,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE;IAcjH;;OAEG;IACH,OAAO,CAAC,6BAA6B;CAYtC"}
1
+ {"version":3,"file":"module-container-function-generator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/module-container-function-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E;;;GAGG;AACH,qBAAa,gCAAgC;IAC3C,OAAO,CAAC,oBAAoB,CAA2B;IACvD,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,eAAe,CAAM;gBAG3B,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,kBAAkB,EAAE,gCAAgC,EACpD,kBAAkB,EAAE,wBAAwB,EAC5C,aAAa,EAAE,2BAA2B,EAC1C,eAAe,EAAE,GAAG;IAStB;;OAEG;IACH,gCAAgC,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE;IAcjH;;OAEG;IACH,OAAO,CAAC,6BAA6B;CAYtC"}
@@ -6,11 +6,12 @@ exports.ModuleContainerFunctionGenerator = void 0;
6
6
  * Delegates specific responsibilities to specialized generators.
7
7
  */
8
8
  class ModuleContainerFunctionGenerator {
9
- constructor(moduleGroupedClasses, signatureGenerator, dependencyResolver, bodyGenerator) {
9
+ constructor(moduleGroupedClasses, signatureGenerator, dependencyResolver, bodyGenerator, importGenerator) {
10
10
  this.moduleGroupedClasses = moduleGroupedClasses;
11
11
  this.signatureGenerator = signatureGenerator;
12
12
  this.dependencyResolver = dependencyResolver;
13
13
  this.bodyGenerator = bodyGenerator;
14
+ this.importGenerator = importGenerator;
14
15
  }
15
16
  /**
16
17
  * Generates container functions for all modules.
@@ -34,7 +35,7 @@ class ModuleContainerFunctionGenerator {
34
35
  const moduleDeps = moduleDependencies.get(moduleName) || new Set();
35
36
  const functionParams = this.signatureGenerator.generateFunctionParameters(moduleDeps);
36
37
  const functionSignature = this.signatureGenerator.createFunctionSignature(moduleFunctionName, functionParams);
37
- const functionBody = this.bodyGenerator.generateModuleFunctionBody(moduleClasses, moduleDeps);
38
+ const functionBody = this.bodyGenerator.generateModuleFunctionBody(moduleClasses, moduleDeps, this.importGenerator);
38
39
  return `${functionSignature} {\n${functionBody}\n}`;
39
40
  }
40
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module-container-function-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/module-container-function-generator.ts"],"names":[],"mappings":";;;AAKA;;;GAGG;AACH,MAAa,gCAAgC;IAM3C,YACE,oBAA8C,EAC9C,kBAAoD,EACpD,kBAA4C,EAC5C,aAA0C;QAE1C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,gCAAgC,CAAC,aAAuB,EAAE,kBAA4C;QACpG,MAAM,wBAAwB,GAAa,EAAE,CAAC;QAE9C,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa;gBAAE,SAAS;YAE7B,MAAM,uBAAuB,GAAG,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;YAClH,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,6BAA6B,CAAC,UAAkB,EAAE,aAA0B,EAAE,kBAA4C;QAChI,MAAM,kBAAkB,GAAG,SAAS,UAAU,WAAW,CAAC;QAC1D,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEnE,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QACtF,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAC9G,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAE9F,OAAO,GAAG,iBAAiB,OAAO,YAAY,KAAK,CAAC;IACtD,CAAC;CAGF;AAlDD,4EAkDC"}
1
+ {"version":3,"file":"module-container-function-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/module-container-function-generator.ts"],"names":[],"mappings":";;;AAKA;;;GAGG;AACH,MAAa,gCAAgC;IAO3C,YACE,oBAA8C,EAC9C,kBAAoD,EACpD,kBAA4C,EAC5C,aAA0C,EAC1C,eAAoB;QAEpB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,gCAAgC,CAAC,aAAuB,EAAE,kBAA4C;QACpG,MAAM,wBAAwB,GAAa,EAAE,CAAC;QAE9C,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa;gBAAE,SAAS;YAE7B,MAAM,uBAAuB,GAAG,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;YAClH,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,6BAA6B,CAAC,UAAkB,EAAE,aAA0B,EAAE,kBAA4C;QAChI,MAAM,kBAAkB,GAAG,SAAS,UAAU,WAAW,CAAC;QAC1D,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEnE,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QACtF,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAC9G,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEpH,OAAO,GAAG,iBAAiB,OAAO,YAAY,KAAK,CAAC;IACtD,CAAC;CAGF;AArDD,4EAqDC"}
@@ -9,7 +9,7 @@ export declare class ModuleDependencyResolver {
9
9
  /**
10
10
  * Builds constructor arguments for a class.
11
11
  */
12
- buildConstructorArguments(classInfo: ClassInfo, moduleClasses: ClassInfo[], moduleDeps: Set<string>): string[];
12
+ buildConstructorArguments(classInfo: ClassInfo, moduleClasses: ClassInfo[], moduleDeps: Set<string>, importGenerator?: any): string[];
13
13
  /**
14
14
  * Resolves a dependency argument.
15
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"module-dependency-resolver.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/module-dependency-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,oBAAoB,CAA2B;gBAE3C,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAI1D;;OAEG;IACH,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;IAa9G;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;CAerC"}
1
+ {"version":3,"file":"module-dependency-resolver.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/module-dependency-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,oBAAoB,CAA2B;gBAE3C,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAI1D;;OAEG;IACH,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE;IAarI;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;CAerC"}
@@ -13,10 +13,10 @@ class ModuleDependencyResolver {
13
13
  /**
14
14
  * Builds constructor arguments for a class.
15
15
  */
16
- buildConstructorArguments(classInfo, moduleClasses, moduleDeps) {
16
+ buildConstructorArguments(classInfo, moduleClasses, moduleDeps, importGenerator) {
17
17
  const constructorArgs = [];
18
18
  for (const dep of classInfo.dependencies) {
19
- const arg = this.resolveDependencyArgument(dep, moduleClasses, moduleDeps);
19
+ const arg = this.resolveDependencyArgument(dep, moduleClasses, moduleDeps, importGenerator, classInfo);
20
20
  if (arg) {
21
21
  constructorArgs.push(arg);
22
22
  }
@@ -26,14 +26,16 @@ class ModuleDependencyResolver {
26
26
  /**
27
27
  * Resolves a dependency argument.
28
28
  */
29
- resolveDependencyArgument(dependency, moduleClasses, moduleDeps) {
29
+ resolveDependencyArgument(dependency, moduleClasses, moduleDeps, importGenerator, requestingClass) {
30
30
  // Check if dependency is from another module
31
31
  const externalModuleArg = this.findExternalModuleDependency(dependency, moduleDeps);
32
32
  if (externalModuleArg) {
33
33
  return externalModuleArg;
34
34
  }
35
+ // Create interface mapping for the current module with aliases
36
+ const interfaceToClassMap = shared_1.InstantiationUtils.createInterfaceToClassMap(moduleClasses, importGenerator);
35
37
  // Check if dependency is from the same module
36
- return shared_1.InstantiationUtils.resolveBasicDependency(dependency, moduleClasses);
38
+ return shared_1.InstantiationUtils.resolveBasicDependency(dependency, moduleClasses, interfaceToClassMap, importGenerator, requestingClass);
37
39
  }
38
40
  /**
39
41
  * Finds a dependency from an external module.
@@ -1 +1 @@
1
- {"version":3,"file":"module-dependency-resolver.js","sourceRoot":"","sources":["../../../src/generator/modular/module-dependency-resolver.ts"],"names":[],"mappings":";;;AACA,sCAA+C;AAE/C;;;GAGG;AACH,MAAa,wBAAwB;IAGnC,YAAY,oBAA8C;QACxD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,SAAoB,EAAE,aAA0B,EAAE,UAAuB;QACjG,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;YAC3E,IAAI,GAAG,EAAE,CAAC;gBACR,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,UAAkB,EAAE,aAA0B,EAAE,UAAuB;QACvG,6CAA6C;QAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,8CAA8C;QAC9C,OAAO,2BAAkB,CAAC,sBAAsB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACK,4BAA4B,CAAC,UAAkB,EAAE,UAAuB;QAC9E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC;gBAC5E,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,gBAAgB,GAAG,2BAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;oBACjF,OAAO,GAAG,gBAAgB,IAAI,UAAU,EAAE,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAGF;AAvDD,4DAuDC"}
1
+ {"version":3,"file":"module-dependency-resolver.js","sourceRoot":"","sources":["../../../src/generator/modular/module-dependency-resolver.ts"],"names":[],"mappings":";;;AACA,sCAA+C;AAE/C;;;GAGG;AACH,MAAa,wBAAwB;IAGnC,YAAY,oBAA8C;QACxD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,SAAoB,EAAE,aAA0B,EAAE,UAAuB,EAAE,eAAqB;QACxH,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;YACvG,IAAI,GAAG,EAAE,CAAC;gBACR,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,UAAkB,EAAE,aAA0B,EAAE,UAAuB,EAAE,eAAqB,EAAE,eAA2B;QAC3J,6CAA6C;QAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,+DAA+D;QAC/D,MAAM,mBAAmB,GAAG,2BAAkB,CAAC,yBAAyB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAEzG,8CAA8C;QAC9C,OAAO,2BAAkB,CAAC,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IACrI,CAAC;IAED;;OAEG;IACK,4BAA4B,CAAC,UAAkB,EAAE,UAAuB;QAC9E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC;gBAC5E,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,gBAAgB,GAAG,2BAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;oBACjF,OAAO,GAAG,gBAAgB,IAAI,UAAU,EAAE,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAGF;AA1DD,4DA0DC"}
@@ -10,6 +10,6 @@ export declare class ModuleFunctionBodyGenerator {
10
10
  /**
11
11
  * Generates the function body for a module container.
12
12
  */
13
- generateModuleFunctionBody(moduleClasses: ClassInfo[], moduleDeps: Set<string>): string;
13
+ generateModuleFunctionBody(moduleClasses: ClassInfo[], moduleDeps: Set<string>, importGenerator?: any): string;
14
14
  }
15
15
  //# sourceMappingURL=module-function-body-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-function-body-generator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/module-function-body-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;GAGG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,kBAAkB,CAA2B;gBAEzC,kBAAkB,EAAE,wBAAwB;IAIxD;;OAEG;IACH,0BAA0B,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;CAUxF"}
1
+ {"version":3,"file":"module-function-body-generator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/module-function-body-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;GAGG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,kBAAkB,CAA2B;gBAEzC,kBAAkB,EAAE,wBAAwB;IAIxD;;OAEG;IACH,0BAA0B,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,EAAE,GAAG,GAAG,MAAM;CAU/G"}
@@ -13,12 +13,12 @@ class ModuleFunctionBodyGenerator {
13
13
  /**
14
14
  * Generates the function body for a module container.
15
15
  */
16
- generateModuleFunctionBody(moduleClasses, moduleDeps) {
16
+ generateModuleFunctionBody(moduleClasses, moduleDeps, importGenerator) {
17
17
  const constructorArgsResolver = (classInfo) => {
18
- const constructorArgs = this.dependencyResolver.buildConstructorArguments(classInfo, moduleClasses, moduleDeps);
18
+ const constructorArgs = this.dependencyResolver.buildConstructorArguments(classInfo, moduleClasses, moduleDeps, importGenerator);
19
19
  return constructorArgs.length > 0 ? constructorArgs.join(', ') : '';
20
20
  };
21
- return shared_1.InstantiationUtils.generateModuleFunctionBody(moduleClasses, constructorArgsResolver);
21
+ return shared_1.InstantiationUtils.generateModuleFunctionBody(moduleClasses, constructorArgsResolver, importGenerator);
22
22
  }
23
23
  }
24
24
  exports.ModuleFunctionBodyGenerator = ModuleFunctionBodyGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"module-function-body-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/module-function-body-generator.ts"],"names":[],"mappings":";;;AACA,sCAA+C;AAG/C;;;GAGG;AACH,MAAa,2BAA2B;IAGtC,YAAY,kBAA4C;QACtD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,aAA0B,EAAE,UAAuB;QAC5E,MAAM,uBAAuB,GAAG,CAAC,SAAoB,EAAE,EAAE;YACvD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;YAChH,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,CAAC,CAAC;QAEF,OAAO,2BAAkB,CAAC,0BAA0B,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;IAC/F,CAAC;CAGF;AApBD,kEAoBC"}
1
+ {"version":3,"file":"module-function-body-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/module-function-body-generator.ts"],"names":[],"mappings":";;;AACA,sCAA+C;AAG/C;;;GAGG;AACH,MAAa,2BAA2B;IAGtC,YAAY,kBAA4C;QACtD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,aAA0B,EAAE,UAAuB,EAAE,eAAqB;QACnG,MAAM,uBAAuB,GAAG,CAAC,SAAoB,EAAE,EAAE;YACvD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YACjI,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,CAAC,CAAC;QAEF,OAAO,2BAAkB,CAAC,0BAA0B,CAAC,aAAa,EAAE,uBAAuB,EAAE,eAAe,CAAC,CAAC;IAChH,CAAC;CAGF;AApBD,kEAoBC"}
@@ -27,7 +27,7 @@ export declare class InstantiationUtils {
27
27
  /**
28
28
  * Creates a map of interface names to their implementing class names.
29
29
  */
30
- static createInterfaceToClassMap(classes: ClassInfo[]): Map<string, string>;
30
+ static createInterfaceToClassMap(classes: ClassInfo[], importGenerator?: any): Map<string, string>;
31
31
  /**
32
32
  * Gets default value for a type when no implementation is found.
33
33
  */
@@ -56,6 +56,10 @@ export declare class InstantiationUtils {
56
56
  * Generates a constructor instantiation expression.
57
57
  */
58
58
  static generateConstructorCall(className: string, constructorArgs?: string): string;
59
+ /**
60
+ * Generates a constructor instantiation expression with alias support.
61
+ */
62
+ static generateConstructorCallWithAlias(classInfo: any, constructorArgs?: string, importGenerator?: any): string;
59
63
  /**
60
64
  * Generates a function call expression with optional arguments.
61
65
  */
@@ -95,15 +99,15 @@ export declare class InstantiationUtils {
95
99
  /**
96
100
  * Generates factory functions for transient classes.
97
101
  */
98
- static generateTransientFactory(classInfo: ClassInfo, constructorArgs?: string): string;
102
+ static generateTransientFactory(classInfo: ClassInfo, constructorArgs?: string, importGenerator?: any): string;
99
103
  /**
100
104
  * Generates a singleton variable declaration.
101
105
  */
102
- static generateSingletonVariable(classInfo: ClassInfo): string;
106
+ static generateSingletonVariable(classInfo: ClassInfo, importGenerator?: any): string;
103
107
  /**
104
108
  * Generates a singleton getter function.
105
109
  */
106
- static generateSingletonGetter(classInfo: ClassInfo, constructorArgs?: string): string;
110
+ static generateSingletonGetter(classInfo: ClassInfo, constructorArgs?: string, importGenerator?: any): string;
107
111
  /**
108
112
  * Filters classes by scope.
109
113
  */
@@ -114,7 +118,7 @@ export declare class InstantiationUtils {
114
118
  /**
115
119
  * Creates a managed dependency call based on class scope.
116
120
  */
117
- static createManagedDependencyCall(classInfo: ClassInfo, implementingClass: string): string;
121
+ static createManagedDependencyCall(classInfo: ClassInfo, implementingClass: string, importGenerator?: any): string;
118
122
  /**
119
123
  * Creates a function signature with parameters.
120
124
  */
@@ -122,7 +126,7 @@ export declare class InstantiationUtils {
122
126
  /**
123
127
  * Creates a module export getter.
124
128
  */
125
- static createModuleExportGetter(classInfo: ClassInfo): string;
129
+ static createModuleExportGetter(classInfo: ClassInfo, importGenerator?: any): string;
126
130
  /**
127
131
  * Sorts classes by their dependencies using topological sorting.
128
132
  */
@@ -131,7 +135,7 @@ export declare class InstantiationUtils {
131
135
  * Resolves a basic dependency by finding the implementing class and creating the appropriate call.
132
136
  * This is the common pattern used by both flat and modular generators.
133
137
  */
134
- static resolveBasicDependency(dependency: string, availableClasses: ClassInfo[], interfaceToClassMap?: Map<string, string>): string | null;
138
+ static resolveBasicDependency(dependency: string, availableClasses: ClassInfo[], interfaceToClassMap?: Map<string, string>, importGenerator?: any, requestingClass?: ClassInfo): string | null;
135
139
  /**
136
140
  * Generates constructor arguments string from an array of argument strings.
137
141
  * Common pattern used by both generators.
@@ -141,22 +145,22 @@ export declare class InstantiationUtils {
141
145
  * Generates a section of transient factory functions with optional indentation.
142
146
  * Used by both flat and modular generators.
143
147
  */
144
- static generateTransientFactoriesSection(classes: ClassInfo[], constructorArgsResolver: (classInfo: ClassInfo) => string, indentation?: string): string[];
148
+ static generateTransientFactoriesSection(classes: ClassInfo[], constructorArgsResolver: (classInfo: ClassInfo) => string, indentation?: string, importGenerator?: any): string[];
145
149
  /**
146
150
  * Generates a section of singleton variable declarations with optional indentation.
147
151
  * Used by both flat and modular generators.
148
152
  */
149
- static generateSingletonVariablesSection(classes: ClassInfo[], indentation?: string): string[];
153
+ static generateSingletonVariablesSection(classes: ClassInfo[], indentation?: string, importGenerator?: any): string[];
150
154
  /**
151
155
  * Generates a section of singleton getter functions with optional indentation.
152
156
  * Used by both flat and modular generators.
153
157
  */
154
- static generateSingletonGettersSection(classes: ClassInfo[], constructorArgsResolver: (classInfo: ClassInfo) => string, indentation?: string): string[];
158
+ static generateSingletonGettersSection(classes: ClassInfo[], constructorArgsResolver: (classInfo: ClassInfo) => string, indentation?: string, importGenerator?: any): string[];
155
159
  /**
156
160
  * Generates a section of module exports with optional indentation.
157
161
  * Used by modular generators.
158
162
  */
159
- static generateModuleExportsSection(classes: ClassInfo[], indentation?: string): string[];
163
+ static generateModuleExportsSection(classes: ClassInfo[], indentation?: string, importGenerator?: any): string[];
160
164
  /**
161
165
  * Generates a container property getter for singleton classes.
162
166
  * Used by flat container generators.
@@ -231,6 +235,6 @@ export declare class InstantiationUtils {
231
235
  * Generates the complete module function body.
232
236
  * Used by module function body generators.
233
237
  */
234
- static generateModuleFunctionBody(moduleClasses: ClassInfo[], constructorArgsResolver: (classInfo: ClassInfo) => string): string;
238
+ static generateModuleFunctionBody(moduleClasses: ClassInfo[], constructorArgsResolver: (classInfo: ClassInfo) => string, importGenerator?: any): string;
235
239
  }
236
240
  //# sourceMappingURL=instantiation-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instantiation-utils.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/instantiation-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instantiation-utils.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/instantiation-utils.ts"],"names":[],"mappings":"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"}
@@ -42,11 +42,33 @@ class InstantiationUtils {
42
42
  /**
43
43
  * Creates a map of interface names to their implementing class names.
44
44
  */
45
- static createInterfaceToClassMap(classes) {
45
+ static createInterfaceToClassMap(classes, importGenerator) {
46
46
  const interfaceToClassMap = new Map();
47
+ const classNameCounts = new Map();
48
+ // First pass: count occurrences of each class name
47
49
  for (const classInfo of classes) {
50
+ const count = classNameCounts.get(classInfo.name) || 0;
51
+ classNameCounts.set(classInfo.name, count + 1);
52
+ }
53
+ const classNameIndices = new Map();
54
+ for (const classInfo of classes) {
55
+ const className = importGenerator ? importGenerator.getClassAlias(classInfo) : classInfo.name;
48
56
  if (classInfo.interfaceName) {
49
- interfaceToClassMap.set(classInfo.interfaceName, classInfo.name);
57
+ // Map interface name to class name
58
+ interfaceToClassMap.set(classInfo.interfaceName, className);
59
+ }
60
+ else {
61
+ // For classes without interfaces, map class name to itself
62
+ // If there are multiple classes with the same name, use the aliased name
63
+ const baseClassName = classInfo.name;
64
+ if (classNameCounts.get(baseClassName) > 1) {
65
+ // Use the aliased name for disambiguation
66
+ interfaceToClassMap.set(baseClassName, className);
67
+ }
68
+ else {
69
+ // Single occurrence, use the original name
70
+ interfaceToClassMap.set(baseClassName, className);
71
+ }
50
72
  }
51
73
  }
52
74
  return interfaceToClassMap;
@@ -121,6 +143,15 @@ class InstantiationUtils {
121
143
  ? `new ${className}(${constructorArgs})`
122
144
  : `new ${className}()`;
123
145
  }
146
+ /**
147
+ * Generates a constructor instantiation expression with alias support.
148
+ */
149
+ static generateConstructorCallWithAlias(classInfo, constructorArgs, importGenerator) {
150
+ const className = importGenerator ? importGenerator.getClassAlias(classInfo) : classInfo.name;
151
+ return constructorArgs
152
+ ? `new ${className}(${constructorArgs})`
153
+ : `new ${className}()`;
154
+ }
124
155
  /**
125
156
  * Generates a function call expression with optional arguments.
126
157
  */
@@ -190,26 +221,29 @@ class InstantiationUtils {
190
221
  /**
191
222
  * Generates factory functions for transient classes.
192
223
  */
193
- static generateTransientFactory(classInfo, constructorArgs) {
194
- const factoryName = this.generateFactoryName(classInfo.name);
195
- const constructorCall = this.generateConstructorCall(classInfo.name, constructorArgs);
196
- return `const ${factoryName} = (): ${classInfo.name} => ${constructorCall};`;
224
+ static generateTransientFactory(classInfo, constructorArgs, importGenerator) {
225
+ const className = importGenerator ? importGenerator.getClassAlias(classInfo) : classInfo.name;
226
+ const factoryName = this.generateFactoryName(className);
227
+ const constructorCall = this.generateConstructorCallWithAlias(classInfo, constructorArgs, importGenerator);
228
+ return `const ${factoryName} = (): ${className} => ${constructorCall};`;
197
229
  }
198
230
  /**
199
231
  * Generates a singleton variable declaration.
200
232
  */
201
- static generateSingletonVariable(classInfo) {
202
- const instanceName = this.generateInstanceName(classInfo.name);
203
- return `let ${instanceName}: ${classInfo.name} | undefined;`;
233
+ static generateSingletonVariable(classInfo, importGenerator) {
234
+ const className = importGenerator ? importGenerator.getClassAlias(classInfo) : classInfo.name;
235
+ const instanceName = this.generateInstanceName(className);
236
+ return `let ${instanceName}: ${className} | undefined;`;
204
237
  }
205
238
  /**
206
239
  * Generates a singleton getter function.
207
240
  */
208
- static generateSingletonGetter(classInfo, constructorArgs) {
209
- const instanceName = this.generateInstanceName(classInfo.name);
210
- const getterName = this.generateGetterName(classInfo.name);
211
- const instantiation = this.generateConstructorCall(classInfo.name, constructorArgs);
212
- return `const ${getterName} = (): ${classInfo.name} => {\n if (!${instanceName}) {\n ${instanceName} = ${instantiation};\n }\n return ${instanceName};\n};`;
241
+ static generateSingletonGetter(classInfo, constructorArgs, importGenerator) {
242
+ const className = importGenerator ? importGenerator.getClassAlias(classInfo) : classInfo.name;
243
+ const instanceName = this.generateInstanceName(className);
244
+ const getterName = this.generateGetterName(className);
245
+ const instantiation = this.generateConstructorCallWithAlias(classInfo, constructorArgs, importGenerator);
246
+ return `const ${getterName} = (): ${className} => {\n if (!${instanceName}) {\n ${instanceName} = ${instantiation};\n }\n return ${instanceName};\n};`;
213
247
  }
214
248
  /**
215
249
  * Filters classes by scope.
@@ -223,12 +257,14 @@ class InstantiationUtils {
223
257
  /**
224
258
  * Creates a managed dependency call based on class scope.
225
259
  */
226
- static createManagedDependencyCall(classInfo, implementingClass) {
260
+ static createManagedDependencyCall(classInfo, implementingClass, importGenerator) {
261
+ // Use aliased class name if available
262
+ const aliasedClassName = importGenerator ? importGenerator.getClassAlias(classInfo) : implementingClass;
227
263
  if (this.isTransient(classInfo)) {
228
- const factoryName = this.generateFactoryName(implementingClass);
264
+ const factoryName = this.generateFactoryName(aliasedClassName);
229
265
  return this.generateFunctionCall(factoryName);
230
266
  }
231
- const getterName = this.generateGetterName(implementingClass);
267
+ const getterName = this.generateGetterName(aliasedClassName);
232
268
  return this.generateFunctionCall(getterName);
233
269
  }
234
270
  /**
@@ -242,15 +278,21 @@ class InstantiationUtils {
242
278
  /**
243
279
  * Creates a module export getter.
244
280
  */
245
- static createModuleExportGetter(classInfo) {
281
+ static createModuleExportGetter(classInfo, importGenerator) {
246
282
  const interfaceName = this.getInterfaceOrClassName(classInfo);
283
+ // Use alias if available, otherwise use class name
284
+ const className = importGenerator && importGenerator.getClassAlias
285
+ ? importGenerator.getClassAlias(classInfo)
286
+ : classInfo.name;
287
+ // Use aliased class name for property name to avoid duplicates
288
+ const propertyName = className;
247
289
  if (this.isTransient(classInfo)) {
248
- const factoryCall = this.generateFunctionCall(this.generateFactoryName(classInfo.name));
249
- return this.generateGetterProperty(interfaceName, classInfo.name, factoryCall, ' ');
290
+ const factoryCall = this.generateFunctionCall(this.generateFactoryName(className));
291
+ return this.generateGetterProperty(propertyName, className, factoryCall, ' ');
250
292
  }
251
293
  else {
252
- const getterCall = this.generateFunctionCall(this.generateGetterName(classInfo.name));
253
- return this.generateGetterProperty(interfaceName, classInfo.name, getterCall, ' ');
294
+ const getterCall = this.generateFunctionCall(this.generateGetterName(className));
295
+ return this.generateGetterProperty(propertyName, className, getterCall, ' ');
254
296
  }
255
297
  }
256
298
  /**
@@ -259,45 +301,63 @@ class InstantiationUtils {
259
301
  static sortClassesByDependencies(classes, allModuleClasses) {
260
302
  // Build dependency graph for classes within the module
261
303
  const dependencyGraph = new Map();
304
+ // Create unique identifiers for classes to handle name collisions
305
+ const getUniqueId = (classInfo) => `${classInfo.name}:${classInfo.filePath}`;
262
306
  for (const classInfo of classes) {
263
307
  const dependencies = [];
264
308
  // Only include dependencies that are within the same module and are singletons
265
309
  for (const dep of classInfo.dependencies) {
266
310
  const depClass = allModuleClasses.find(c => c.interfaceName === dep && c.scope !== 'transient');
267
311
  if (depClass && classes.includes(depClass)) {
268
- dependencies.push(depClass.name);
312
+ dependencies.push(getUniqueId(depClass));
269
313
  }
270
314
  }
271
- dependencyGraph.set(classInfo.name, dependencies);
315
+ dependencyGraph.set(getUniqueId(classInfo), dependencies);
272
316
  }
273
317
  // Use TopologicalSorter to sort the classes
274
318
  const sortResult = topological_sorter_1.TopologicalSorter.sort(dependencyGraph);
275
- // Map sorted class names back to ClassInfo objects
276
- const classMap = new Map(classes.map(c => [c.name, c]));
277
- return sortResult.sorted.map(className => classMap.get(className)).filter(Boolean);
319
+ // Map sorted unique IDs back to ClassInfo objects
320
+ const classMap = new Map(classes.map(c => [getUniqueId(c), c]));
321
+ return sortResult.sorted.map(uniqueId => classMap.get(uniqueId)).filter(Boolean);
278
322
  }
279
323
  /**
280
324
  * Resolves a basic dependency by finding the implementing class and creating the appropriate call.
281
325
  * This is the common pattern used by both flat and modular generators.
282
326
  */
283
- static resolveBasicDependency(dependency, availableClasses, interfaceToClassMap) {
284
- // Try to find by interface name first
327
+ static resolveBasicDependency(dependency, availableClasses, interfaceToClassMap, importGenerator, requestingClass) {
328
+ // Try to find by direct class name match first (highest priority)
329
+ const directClassMatches = availableClasses.filter(c => c.name === dependency);
330
+ if (directClassMatches.length > 0) {
331
+ let selectedMatch = directClassMatches[0];
332
+ // If there are multiple matches and we have context about the requesting class,
333
+ // prefer the one from the same directory/domain
334
+ if (directClassMatches.length > 1 && requestingClass) {
335
+ const requestingDir = requestingClass.filePath.split('/').slice(0, -1).join('/');
336
+ const sameDirectoryMatch = directClassMatches.find(c => {
337
+ const candidateDir = c.filePath.split('/').slice(0, -1).join('/');
338
+ return candidateDir === requestingDir;
339
+ });
340
+ if (sameDirectoryMatch) {
341
+ selectedMatch = sameDirectoryMatch;
342
+ }
343
+ }
344
+ if (selectedMatch) {
345
+ const aliasedName = importGenerator ? importGenerator.getClassAlias(selectedMatch) : selectedMatch.name;
346
+ return this.createManagedDependencyCall(selectedMatch, aliasedName, importGenerator);
347
+ }
348
+ }
349
+ // Try to find by interface name
285
350
  const depClass = availableClasses.find(c => c.interfaceName === dependency);
286
351
  if (depClass) {
287
- return this.createManagedDependencyCall(depClass, depClass.name);
288
- }
289
- // Try to find by direct class name match
290
- const directClassMatch = availableClasses.find(c => c.name === dependency);
291
- if (directClassMatch) {
292
- return this.createManagedDependencyCall(directClassMatch, directClassMatch.name);
352
+ return this.createManagedDependencyCall(depClass, depClass.name, importGenerator);
293
353
  }
294
- // Try to find by class name using interface map
354
+ // Try to find by class name using interface map (lowest priority)
295
355
  if (interfaceToClassMap) {
296
356
  const implementingClass = interfaceToClassMap.get(dependency);
297
357
  if (implementingClass) {
298
358
  const depClassInfo = availableClasses.find(c => c.name === implementingClass);
299
359
  if (depClassInfo) {
300
- return this.createManagedDependencyCall(depClassInfo, implementingClass);
360
+ return this.createManagedDependencyCall(depClassInfo, implementingClass, importGenerator);
301
361
  }
302
362
  }
303
363
  }
@@ -314,32 +374,32 @@ class InstantiationUtils {
314
374
  * Generates a section of transient factory functions with optional indentation.
315
375
  * Used by both flat and modular generators.
316
376
  */
317
- static generateTransientFactoriesSection(classes, constructorArgsResolver, indentation = '') {
377
+ static generateTransientFactoriesSection(classes, constructorArgsResolver, indentation = '', importGenerator) {
318
378
  const transientClasses = this.getTransientClasses(classes);
319
379
  return this.generateCodeSection(transientClasses, (classInfo) => {
320
380
  const constructorArgs = constructorArgsResolver(classInfo);
321
- return this.generateTransientFactory(classInfo, constructorArgs);
381
+ return this.generateTransientFactory(classInfo, constructorArgs, importGenerator);
322
382
  }, indentation);
323
383
  }
324
384
  /**
325
385
  * Generates a section of singleton variable declarations with optional indentation.
326
386
  * Used by both flat and modular generators.
327
387
  */
328
- static generateSingletonVariablesSection(classes, indentation = '') {
388
+ static generateSingletonVariablesSection(classes, indentation = '', importGenerator) {
329
389
  const singletonClasses = this.getSingletonClasses(classes);
330
390
  const sortedSingletons = this.sortClassesByDependencies(singletonClasses, classes);
331
- return this.generateCodeSection(sortedSingletons, (classInfo) => this.generateSingletonVariable(classInfo), indentation);
391
+ return this.generateCodeSection(sortedSingletons, (classInfo) => this.generateSingletonVariable(classInfo, importGenerator), indentation);
332
392
  }
333
393
  /**
334
394
  * Generates a section of singleton getter functions with optional indentation.
335
395
  * Used by both flat and modular generators.
336
396
  */
337
- static generateSingletonGettersSection(classes, constructorArgsResolver, indentation = '') {
397
+ static generateSingletonGettersSection(classes, constructorArgsResolver, indentation = '', importGenerator) {
338
398
  const singletonClasses = this.getSingletonClasses(classes);
339
399
  const sortedSingletons = this.sortClassesByDependencies(singletonClasses, classes);
340
400
  return this.generateCodeSection(sortedSingletons, (classInfo) => {
341
401
  const constructorArgs = constructorArgsResolver(classInfo);
342
- return this.generateSingletonGetter(classInfo, constructorArgs);
402
+ return this.generateSingletonGetter(classInfo, constructorArgs, importGenerator);
343
403
  }, indentation, true // multiline content
344
404
  );
345
405
  }
@@ -347,9 +407,10 @@ class InstantiationUtils {
347
407
  * Generates a section of module exports with optional indentation.
348
408
  * Used by modular generators.
349
409
  */
350
- static generateModuleExportsSection(classes, indentation = '') {
351
- const classesWithInterface = classes.filter(c => c.interfaceName);
352
- return this.generateCodeSection(classesWithInterface, (classInfo) => this.createModuleExportGetter(classInfo), indentation, true // multiline content
410
+ static generateModuleExportsSection(classes, indentation = '', importGenerator) {
411
+ // Export all classes, not just those with interfaces
412
+ // Controllers and other concrete classes should also be accessible
413
+ return this.generateCodeSection(classes, (classInfo) => this.createModuleExportGetter(classInfo, importGenerator), indentation, true // multiline content
353
414
  );
354
415
  }
355
416
  /**
@@ -478,11 +539,11 @@ class InstantiationUtils {
478
539
  * Generates the complete module function body.
479
540
  * Used by module function body generators.
480
541
  */
481
- static generateModuleFunctionBody(moduleClasses, constructorArgsResolver) {
482
- const factoryFunctions = this.generateTransientFactoriesSection(moduleClasses, constructorArgsResolver, ' ');
483
- const lazyInitializations = this.generateSingletonVariablesSection(moduleClasses, ' ');
484
- const lazyGetters = this.generateSingletonGettersSection(moduleClasses, constructorArgsResolver, ' ');
485
- const moduleExports = this.generateModuleExportsSection(moduleClasses, ' ');
542
+ static generateModuleFunctionBody(moduleClasses, constructorArgsResolver, importGenerator) {
543
+ const factoryFunctions = this.generateTransientFactoriesSection(moduleClasses, constructorArgsResolver, ' ', importGenerator);
544
+ const lazyInitializations = this.generateSingletonVariablesSection(moduleClasses, ' ', importGenerator);
545
+ const lazyGetters = this.generateSingletonGettersSection(moduleClasses, constructorArgsResolver, ' ', importGenerator);
546
+ const moduleExports = this.generateModuleExportsSection(moduleClasses, ' ', importGenerator);
486
547
  const returnObject = this.generateModuleFunctionReturnObject(moduleExports);
487
548
  return [
488
549
  ...factoryFunctions,
@@ -1 +1 @@
1
- {"version":3,"file":"instantiation-utils.js","sourceRoot":"","sources":["../../../src/generator/shared/instantiation-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instantiation-utils.js","sourceRoot":"","sources":["../../../src/generator/shared/instantiation-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notjustcoders/ioc-arise",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "A CLI tool to generate type-safe IoC containers for TypeScript projects with automatic dependency injection",
5
5
  "main": "dist/index.js",
6
6
  "bin": {