@notjustcoders/ioc-arise 1.0.6 → 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 (86) 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/commands/generate.d.ts.map +1 -1
  5. package/dist/commands/generate.js +2 -8
  6. package/dist/commands/generate.js.map +1 -1
  7. package/dist/generator/base-container-code-generator.d.ts +15 -0
  8. package/dist/generator/base-container-code-generator.d.ts.map +1 -0
  9. package/dist/generator/base-container-code-generator.js +23 -0
  10. package/dist/generator/base-container-code-generator.js.map +1 -0
  11. package/dist/generator/base-dependency-resolver.d.ts +26 -0
  12. package/dist/generator/base-dependency-resolver.d.ts.map +1 -0
  13. package/dist/generator/base-dependency-resolver.js +72 -0
  14. package/dist/generator/base-dependency-resolver.js.map +1 -0
  15. package/dist/generator/base-instantiation-generator.d.ts +55 -0
  16. package/dist/generator/base-instantiation-generator.d.ts.map +1 -0
  17. package/dist/generator/base-instantiation-generator.js +117 -0
  18. package/dist/generator/base-instantiation-generator.js.map +1 -0
  19. package/dist/generator/container-generator-factory.d.ts +2 -2
  20. package/dist/generator/container-generator-factory.d.ts.map +1 -1
  21. package/dist/generator/container-generator-factory.js +18 -25
  22. package/dist/generator/container-generator-factory.js.map +1 -1
  23. package/dist/generator/duplicate-import-resolver.d.ts +44 -0
  24. package/dist/generator/duplicate-import-resolver.d.ts.map +1 -0
  25. package/dist/generator/duplicate-import-resolver.js +162 -0
  26. package/dist/generator/duplicate-import-resolver.js.map +1 -0
  27. package/dist/generator/flat/container-generator.d.ts.map +1 -1
  28. package/dist/generator/flat/container-generator.js +3 -21
  29. package/dist/generator/flat/container-generator.js.map +1 -1
  30. package/dist/generator/flat/dependency-resolver.d.ts +0 -3
  31. package/dist/generator/flat/dependency-resolver.d.ts.map +1 -1
  32. package/dist/generator/flat/dependency-resolver.js +6 -46
  33. package/dist/generator/flat/dependency-resolver.js.map +1 -1
  34. package/dist/generator/flat/instantiation-generator.d.ts +5 -2
  35. package/dist/generator/flat/instantiation-generator.d.ts.map +1 -1
  36. package/dist/generator/flat/instantiation-generator.js +42 -33
  37. package/dist/generator/flat/instantiation-generator.js.map +1 -1
  38. package/dist/generator/import-generator.d.ts +21 -0
  39. package/dist/generator/import-generator.d.ts.map +1 -1
  40. package/dist/generator/import-generator.js +77 -2
  41. package/dist/generator/import-generator.js.map +1 -1
  42. package/dist/generator/index.d.ts +1 -2
  43. package/dist/generator/index.d.ts.map +1 -1
  44. package/dist/generator/index.js +1 -3
  45. package/dist/generator/index.js.map +1 -1
  46. package/dist/generator/modular/container-aggregator.d.ts +0 -7
  47. package/dist/generator/modular/container-aggregator.d.ts.map +1 -1
  48. package/dist/generator/modular/container-aggregator.js +3 -14
  49. package/dist/generator/modular/container-aggregator.js.map +1 -1
  50. package/dist/generator/modular/modular-container-generator.d.ts +4 -1
  51. package/dist/generator/modular/modular-container-generator.d.ts.map +1 -1
  52. package/dist/generator/modular/modular-container-generator.js +4 -7
  53. package/dist/generator/modular/modular-container-generator.js.map +1 -1
  54. package/dist/generator/modular/module-container-function-generator.d.ts +10 -63
  55. package/dist/generator/modular/module-container-function-generator.d.ts.map +1 -1
  56. package/dist/generator/modular/module-container-function-generator.js +10 -213
  57. package/dist/generator/modular/module-container-function-generator.js.map +1 -1
  58. package/dist/generator/modular/module-dependency-resolver.d.ts +10 -24
  59. package/dist/generator/modular/module-dependency-resolver.d.ts.map +1 -1
  60. package/dist/generator/modular/module-dependency-resolver.js +35 -46
  61. package/dist/generator/modular/module-dependency-resolver.js.map +1 -1
  62. package/dist/generator/modular/module-function-body-generator.d.ts +15 -0
  63. package/dist/generator/modular/module-function-body-generator.d.ts.map +1 -0
  64. package/dist/generator/modular/module-function-body-generator.js +25 -0
  65. package/dist/generator/modular/module-function-body-generator.js.map +1 -0
  66. package/dist/generator/modular/module-function-signature-generator.d.ts +15 -0
  67. package/dist/generator/modular/module-function-signature-generator.d.ts.map +1 -0
  68. package/dist/generator/modular/module-function-signature-generator.js +24 -0
  69. package/dist/generator/modular/module-function-signature-generator.js.map +1 -0
  70. package/dist/generator/modular/module-instantiation-generator.d.ts +1 -15
  71. package/dist/generator/modular/module-instantiation-generator.d.ts.map +1 -1
  72. package/dist/generator/modular/module-instantiation-generator.js +4 -32
  73. package/dist/generator/modular/module-instantiation-generator.js.map +1 -1
  74. package/dist/generator/shared/dependency-resolver-utils.d.ts +28 -0
  75. package/dist/generator/shared/dependency-resolver-utils.d.ts.map +1 -0
  76. package/dist/generator/shared/dependency-resolver-utils.js +67 -0
  77. package/dist/generator/shared/dependency-resolver-utils.js.map +1 -0
  78. package/dist/generator/shared/index.d.ts +2 -0
  79. package/dist/generator/shared/index.d.ts.map +1 -0
  80. package/dist/generator/shared/index.js +18 -0
  81. package/dist/generator/shared/index.js.map +1 -0
  82. package/dist/generator/shared/instantiation-utils.d.ts +240 -0
  83. package/dist/generator/shared/instantiation-utils.d.ts.map +1 -0
  84. package/dist/generator/shared/instantiation-utils.js +560 -0
  85. package/dist/generator/shared/instantiation-utils.js.map +1 -0
  86. 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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,eAAe,SA8JxB,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,eAAe,SAwJxB,CAAC"}
@@ -100,7 +100,7 @@ exports.generateCommand = new commander_1.Command('generate')
100
100
  }
101
101
  else {
102
102
  // Backward compatibility: single default module
103
- moduleGroupedClasses = new Map([['default', classes]]);
103
+ moduleGroupedClasses = new Map([['CoreModule', classes]]);
104
104
  if (mergedOptions.verbose) {
105
105
  console.log(`\n📋 Found ${classes.length} classes:`);
106
106
  classes.forEach(cls => {
@@ -126,13 +126,7 @@ exports.generateCommand = new commander_1.Command('generate')
126
126
  }
127
127
  console.log("Generating container: generateContainerFile------------------>");
128
128
  // Generate container file
129
- if (moduleResolver) {
130
- (0, generator_1.generateContainerFile)(moduleGroupedClasses, outputPath);
131
- }
132
- else {
133
- // Backward compatibility
134
- (0, generator_1.generateContainerFile)(classes, outputPath);
135
- }
129
+ (0, generator_1.generateContainerFile)(moduleGroupedClasses, outputPath);
136
130
  console.log(`✅ Container generated successfully!`);
137
131
  console.log(` File: ${outputPath}`);
138
132
  console.log(` Classes: ${classes.length}`);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Base class for container code generators.
3
+ * Contains common functionality for generating container objects and type exports.
4
+ */
5
+ export declare abstract class BaseContainerCodeGenerator {
6
+ /**
7
+ * Generates the type export for the container.
8
+ */
9
+ generateTypeExport(): string;
10
+ /**
11
+ * Utility method to convert strings to camelCase.
12
+ */
13
+ protected camelCase(str: string): string;
14
+ }
15
+ //# sourceMappingURL=base-container-code-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-container-code-generator.d.ts","sourceRoot":"","sources":["../../src/generator/base-container-code-generator.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,8BAAsB,0BAA0B;IAC9C;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGzC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseContainerCodeGenerator = void 0;
4
+ /**
5
+ * Base class for container code generators.
6
+ * Contains common functionality for generating container objects and type exports.
7
+ */
8
+ class BaseContainerCodeGenerator {
9
+ /**
10
+ * Generates the type export for the container.
11
+ */
12
+ generateTypeExport() {
13
+ return 'export type Container = typeof container;';
14
+ }
15
+ /**
16
+ * Utility method to convert strings to camelCase.
17
+ */
18
+ camelCase(str) {
19
+ return str.charAt(0).toLowerCase() + str.slice(1).replace(/[^a-zA-Z0-9]/g, '');
20
+ }
21
+ }
22
+ exports.BaseContainerCodeGenerator = BaseContainerCodeGenerator;
23
+ //# sourceMappingURL=base-container-code-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-container-code-generator.js","sourceRoot":"","sources":["../../src/generator/base-container-code-generator.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAsB,0BAA0B;IAC9C;;OAEG;IACH,kBAAkB;QAChB,OAAO,2CAA2C,CAAC;IACrD,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,GAAW;QAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;CACF;AAdD,gEAcC"}
@@ -0,0 +1,26 @@
1
+ import { ClassInfo, ConstructorParameter } from '../types';
2
+ /**
3
+ * Base class for dependency resolvers.
4
+ * Contains common functionality for resolving dependencies.
5
+ */
6
+ export declare abstract class BaseDependencyResolver {
7
+ protected classes: ClassInfo[];
8
+ constructor(classes: ClassInfo[]);
9
+ /**
10
+ * Creates a map of interface names to their implementing class names.
11
+ */
12
+ createInterfaceToClassMap(): Map<string, string>;
13
+ /**
14
+ * Gets the default value for a type.
15
+ */
16
+ getDefaultValueForType(type: string, isOptional: boolean): string;
17
+ /**
18
+ * Generates constructor arguments for a list of parameters.
19
+ */
20
+ protected generateConstructorArgs(params: ConstructorParameter[]): string;
21
+ /**
22
+ * Creates an unmanaged dependency instance.
23
+ */
24
+ protected createUnmanagedDependencyInstance(className: string): string;
25
+ }
26
+ //# sourceMappingURL=base-dependency-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-dependency-resolver.d.ts","sourceRoot":"","sources":["../../src/generator/base-dependency-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAG3D;;;GAGG;AACH,8BAAsB,sBAAsB;IAC1C,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;gBAEnB,OAAO,EAAE,SAAS,EAAE;IAIhC;;OAEG;IACH,yBAAyB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAUhD;;OAEG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IA0BjE;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM;IAIzE;;OAEG;IACH,SAAS,CAAC,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAUvE"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseDependencyResolver = void 0;
4
+ const naming_1 = require("../utils/naming");
5
+ /**
6
+ * Base class for dependency resolvers.
7
+ * Contains common functionality for resolving dependencies.
8
+ */
9
+ class BaseDependencyResolver {
10
+ constructor(classes) {
11
+ this.classes = classes;
12
+ }
13
+ /**
14
+ * Creates a map of interface names to their implementing class names.
15
+ */
16
+ createInterfaceToClassMap() {
17
+ const interfaceToClassMap = new Map();
18
+ for (const classInfo of this.classes) {
19
+ if (classInfo.interfaceName) {
20
+ interfaceToClassMap.set(classInfo.interfaceName, classInfo.name);
21
+ }
22
+ }
23
+ return interfaceToClassMap;
24
+ }
25
+ /**
26
+ * Gets the default value for a type.
27
+ */
28
+ getDefaultValueForType(type, isOptional) {
29
+ if (isOptional) {
30
+ return 'undefined';
31
+ }
32
+ // Handle primitive types
33
+ switch (type.toLowerCase()) {
34
+ case 'string':
35
+ return '"default"';
36
+ case 'number':
37
+ return '0';
38
+ case 'boolean':
39
+ return 'false';
40
+ case 'date':
41
+ return 'new Date()';
42
+ default:
43
+ // For class types, try to find if it's a managed dependency
44
+ const classMap = new Map(this.classes.map(c => [c.name, c]));
45
+ if (classMap.has(type)) {
46
+ return (0, naming_1.toVariableName)(type);
47
+ }
48
+ // For unmanaged class types, create a simple instance
49
+ return `new ${type}()`;
50
+ }
51
+ }
52
+ /**
53
+ * Generates constructor arguments for a list of parameters.
54
+ */
55
+ generateConstructorArgs(params) {
56
+ return params.map(param => this.getDefaultValueForType(param.type, param.isOptional)).join(', ');
57
+ }
58
+ /**
59
+ * Creates an unmanaged dependency instance.
60
+ */
61
+ createUnmanagedDependencyInstance(className) {
62
+ // Find the class info for this unmanaged dependency
63
+ const classInfo = this.classes.find(c => c.name === className);
64
+ if (!classInfo || !classInfo.constructorParams.length) {
65
+ return `new ${className}()`;
66
+ }
67
+ const args = this.generateConstructorArgs(classInfo.constructorParams);
68
+ return `new ${className}(${args})`;
69
+ }
70
+ }
71
+ exports.BaseDependencyResolver = BaseDependencyResolver;
72
+ //# sourceMappingURL=base-dependency-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-dependency-resolver.js","sourceRoot":"","sources":["../../src/generator/base-dependency-resolver.ts"],"names":[],"mappings":";;;AACA,4CAAiD;AAEjD;;;GAGG;AACH,MAAsB,sBAAsB;IAG1C,YAAY,OAAoB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,yBAAyB;QACvB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC5B,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,IAAY,EAAE,UAAmB;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,yBAAyB;QACzB,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,KAAK,QAAQ;gBACX,OAAO,WAAW,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC;YACjB,KAAK,MAAM;gBACT,OAAO,YAAY,CAAC;YACtB;gBACE,4DAA4D;gBAC5D,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;gBAC7D,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBACD,sDAAsD;gBACtD,OAAO,OAAO,IAAI,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACO,uBAAuB,CAAC,MAA8B;QAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnG,CAAC;IAED;;OAEG;IACO,iCAAiC,CAAC,SAAiB;QAC3D,oDAAoD;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YACtD,OAAO,OAAO,SAAS,IAAI,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACvE,OAAO,OAAO,SAAS,IAAI,IAAI,GAAG,CAAC;IACrC,CAAC;CACF;AArED,wDAqEC"}
@@ -0,0 +1,55 @@
1
+ import { ClassInfo } from '../types';
2
+ /**
3
+ * Base class for instantiation generators.
4
+ * Contains common functionality for generating class instantiations.
5
+ */
6
+ export declare abstract class BaseInstantiationGenerator {
7
+ protected classes: ClassInfo[];
8
+ protected classMap: Map<string, ClassInfo>;
9
+ protected interfaceToClassMap: Map<string, string>;
10
+ constructor(classes: ClassInfo[]);
11
+ /**
12
+ * Creates a map of interface names to their implementing class names.
13
+ */
14
+ protected createInterfaceToClassMap(): Map<string, string>;
15
+ /**
16
+ * Separates classes by their scope (singleton or transient).
17
+ */
18
+ protected separateClassesByScope(): {
19
+ singletonClasses: ClassInfo[];
20
+ transientClasses: ClassInfo[];
21
+ };
22
+ /**
23
+ * Filters singleton class names from a list of sorted classes.
24
+ */
25
+ protected filterSingletonClassNames(sortedClasses: string[], singletonClasses: ClassInfo[]): string[];
26
+ /**
27
+ * Generates transient factory functions for a list of transient classes.
28
+ */
29
+ protected generateTransientFactories(transientClasses: ClassInfo[]): string;
30
+ /**
31
+ * Creates a factory function for a transient class.
32
+ */
33
+ protected createTransientFactory(classInfo: ClassInfo): string;
34
+ /**
35
+ * Generates singleton variable declarations for a list of singleton class names.
36
+ */
37
+ protected generateSingletonVariables(singletonClassNames: string[]): string;
38
+ /**
39
+ * Generates singleton getter functions for a list of singleton class names.
40
+ */
41
+ protected generateSingletonGetters(singletonClassNames: string[]): string;
42
+ /**
43
+ * Creates a getter function for a singleton class.
44
+ */
45
+ protected createSingletonGetter(className: string): string | null;
46
+ /**
47
+ * Generates constructor arguments for a class.
48
+ */
49
+ protected abstract generateConstructorArguments(classInfo: ClassInfo): string;
50
+ /**
51
+ * Creates a managed dependency call based on the dependency's scope.
52
+ */
53
+ protected createManagedDependencyCall(depClassInfo: ClassInfo, implementingClass: string): string;
54
+ }
55
+ //# sourceMappingURL=base-instantiation-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-instantiation-generator.d.ts","sourceRoot":"","sources":["../../src/generator/base-instantiation-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC;;;GAGG;AACH,8BAAsB,0BAA0B;IAC9C,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;IAC/B,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,SAAS,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEvC,OAAO,EAAE,SAAS,EAAE;IAMhC;;OAEG;IACH,SAAS,CAAC,yBAAyB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAU1D;;OAEG;IACH,SAAS,CAAC,sBAAsB;;;;IAOhC;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE;IAMrG;;OAEG;IACH,SAAS,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,SAAS,EAAE,GAAG,MAAM;IAa3E;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAS9D;;OAEG;IACH,SAAS,CAAC,0BAA0B,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,MAAM;IAc3E;;OAEG;IACH,SAAS,CAAC,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,MAAM;IAazE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAejE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAE7E;;OAEG;IACH,SAAS,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM;CAMlG"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseInstantiationGenerator = void 0;
4
+ const naming_1 = require("../utils/naming");
5
+ /**
6
+ * Base class for instantiation generators.
7
+ * Contains common functionality for generating class instantiations.
8
+ */
9
+ class BaseInstantiationGenerator {
10
+ constructor(classes) {
11
+ this.classes = classes;
12
+ this.classMap = new Map(classes.map(c => [c.name, c]));
13
+ this.interfaceToClassMap = this.createInterfaceToClassMap();
14
+ }
15
+ /**
16
+ * Creates a map of interface names to their implementing class names.
17
+ */
18
+ createInterfaceToClassMap() {
19
+ const interfaceToClassMap = new Map();
20
+ for (const classInfo of this.classes) {
21
+ if (classInfo.interfaceName) {
22
+ interfaceToClassMap.set(classInfo.interfaceName, classInfo.name);
23
+ }
24
+ }
25
+ return interfaceToClassMap;
26
+ }
27
+ /**
28
+ * Separates classes by their scope (singleton or transient).
29
+ */
30
+ separateClassesByScope() {
31
+ return {
32
+ singletonClasses: this.classes.filter(c => c.scope === 'singleton'),
33
+ transientClasses: this.classes.filter(c => c.scope === 'transient')
34
+ };
35
+ }
36
+ /**
37
+ * Filters singleton class names from a list of sorted classes.
38
+ */
39
+ filterSingletonClassNames(sortedClasses, singletonClasses) {
40
+ return sortedClasses.filter(name => singletonClasses.some(c => c.name === name));
41
+ }
42
+ /**
43
+ * Generates transient factory functions for a list of transient classes.
44
+ */
45
+ generateTransientFactories(transientClasses) {
46
+ if (transientClasses.length === 0)
47
+ return '';
48
+ const factories = transientClasses.map(classInfo => this.createTransientFactory(classInfo));
49
+ return [
50
+ '// Lazy loading setup for transient dependencies',
51
+ ...factories
52
+ ].join('\n');
53
+ }
54
+ /**
55
+ * Creates a factory function for a transient class.
56
+ */
57
+ createTransientFactory(classInfo) {
58
+ const variableName = (0, naming_1.toVariableName)(classInfo.name);
59
+ const constructorArgs = this.generateConstructorArguments(classInfo);
60
+ return constructorArgs
61
+ ? `const ${variableName}Factory = (): ${classInfo.name} => new ${classInfo.name}(${constructorArgs});`
62
+ : `const ${variableName}Factory = (): ${classInfo.name} => new ${classInfo.name}();`;
63
+ }
64
+ /**
65
+ * Generates singleton variable declarations for a list of singleton class names.
66
+ */
67
+ generateSingletonVariables(singletonClassNames) {
68
+ if (singletonClassNames.length === 0)
69
+ return '';
70
+ const variables = singletonClassNames.map(className => {
71
+ const variableName = (0, naming_1.toVariableName)(className);
72
+ return `let ${variableName}: ${className} | undefined;`;
73
+ });
74
+ return [
75
+ '// Lazy initialization variables for singletons',
76
+ ...variables
77
+ ].join('\n');
78
+ }
79
+ /**
80
+ * Generates singleton getter functions for a list of singleton class names.
81
+ */
82
+ generateSingletonGetters(singletonClassNames) {
83
+ if (singletonClassNames.length === 0)
84
+ return '';
85
+ const getters = [...singletonClassNames].reverse().map(className => this.createSingletonGetter(className)).filter(getter => getter !== null);
86
+ return [
87
+ '// Lazy getter functions for singletons',
88
+ ...getters
89
+ ].join('\n');
90
+ }
91
+ /**
92
+ * Creates a getter function for a singleton class.
93
+ */
94
+ createSingletonGetter(className) {
95
+ const classInfo = this.classMap.get(className);
96
+ if (!classInfo)
97
+ return null;
98
+ const variableName = (0, naming_1.toVariableName)(className);
99
+ const getterName = `get${className}`;
100
+ const constructorArgs = this.generateConstructorArguments(classInfo);
101
+ const instantiation = constructorArgs
102
+ ? `new ${className}(${constructorArgs})`
103
+ : `new ${className}()`;
104
+ return `const ${getterName} = (): ${className} => {\n if (!${variableName}) {\n ${variableName} = ${instantiation};\n }\n return ${variableName};\n};`;
105
+ }
106
+ /**
107
+ * Creates a managed dependency call based on the dependency's scope.
108
+ */
109
+ createManagedDependencyCall(depClassInfo, implementingClass) {
110
+ if (depClassInfo.scope === 'transient') {
111
+ return `${(0, naming_1.toVariableName)(implementingClass)}Factory()`;
112
+ }
113
+ return `get${implementingClass}()`;
114
+ }
115
+ }
116
+ exports.BaseInstantiationGenerator = BaseInstantiationGenerator;
117
+ //# sourceMappingURL=base-instantiation-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-instantiation-generator.js","sourceRoot":"","sources":["../../src/generator/base-instantiation-generator.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class ContainerGeneratorFactory {
14
14
  * @param outputPath - The output path for the generated container file
15
15
  * @returns The appropriate container generator instance with dependencies injected
16
16
  */
17
- static create(classesOrModules: ClassInfo[] | Map<string, ClassInfo[]>, outputPath: string): BaseContainerGenerator;
17
+ static create(classesOrModules: Map<string, ClassInfo[]>, outputPath: string): BaseContainerGenerator;
18
18
  /**
19
19
  * Determines if the input represents a modular structure.
20
20
  *
@@ -35,6 +35,6 @@ export declare class ContainerGeneratorFactory {
35
35
  * @param classesOrModules - The input to count modules from
36
36
  * @returns The number of modules, or 1 for flat structure
37
37
  */
38
- static getModuleCount(classesOrModules: ClassInfo[] | Map<string, ClassInfo[]>): number;
38
+ static getModuleCount(classesOrModules: Map<string, ClassInfo[]>): number;
39
39
  }
40
40
  //# sourceMappingURL=container-generator-factory.d.ts.map
@@ -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;AASpE,OAAO,EAAoB,SAAS,EAAE,MAAM,UAAU,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,yBAAyB;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CACX,gBAAgB,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EACxD,UAAU,EAAE,MAAM,GACjB,sBAAsB;IAkCzB;;;;;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,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM;CAOxF"}
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"}
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContainerGeneratorFactory = void 0;
4
- const flat_container_generator_1 = require("./flat/flat-container-generator");
5
4
  const modular_container_generator_1 = require("./modular/modular-container-generator");
6
- const dependency_resolver_1 = require("../analyser/dependency-resolver");
7
5
  const module_dependency_resolver_1 = require("../analyser/module-dependency-resolver");
8
6
  const import_generator_1 = require("./import-generator");
9
- const instantiation_generator_1 = require("./flat/instantiation-generator");
10
- const container_generator_1 = require("./flat/container-generator");
11
7
  const file_writer_1 = require("./file-writer");
8
+ const module_container_function_generator_1 = require("./modular/module-container-function-generator");
9
+ const module_function_signature_generator_1 = require("./modular/module-function-signature-generator");
10
+ const module_dependency_resolver_2 = require("./modular/module-dependency-resolver");
11
+ const module_function_body_generator_1 = require("./modular/module-function-body-generator");
12
+ const module_instantiation_generator_1 = require("./modular/module-instantiation-generator");
13
+ const container_aggregator_1 = require("./modular/container-aggregator");
12
14
  /**
13
15
  * Factory class for creating the appropriate container generator
14
16
  * based on the input type (flat classes or module-grouped classes).
@@ -26,21 +28,17 @@ class ContainerGeneratorFactory {
26
28
  static create(classesOrModules, outputPath) {
27
29
  // Create FileWriter instance that will be injected into generators
28
30
  const fileWriter = new file_writer_1.FileWriter(outputPath);
29
- if (classesOrModules instanceof Map) {
30
- // Module-based generation - create dependencies and inject in constructor
31
- const moduleDependencyResolver = new module_dependency_resolver_1.ModuleDependencyResolver(classesOrModules);
32
- const allClasses = Array.from(classesOrModules.values()).flat();
33
- const importGenerator = new import_generator_1.ImportGenerator(allClasses);
34
- return new modular_container_generator_1.ModularContainerGenerator(fileWriter, classesOrModules, moduleDependencyResolver, importGenerator);
35
- }
36
- else {
37
- // Backward compatibility: flat classes array - create dependencies and inject in constructor
38
- const dependencyResolver = new dependency_resolver_1.DependencyResolver(classesOrModules);
39
- const importGenerator = new import_generator_1.ImportGenerator(classesOrModules);
40
- const instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(classesOrModules);
41
- const containerCodeGenerator = new container_generator_1.ContainerGenerator(classesOrModules);
42
- return new flat_container_generator_1.FlatContainerGenerator(fileWriter, classesOrModules, dependencyResolver, importGenerator, instantiationGenerator, containerCodeGenerator);
43
- }
31
+ // Module-based generation - create dependencies and inject in constructor
32
+ const moduleDependencyResolver = new module_dependency_resolver_1.ModuleDependencyResolver(classesOrModules);
33
+ const allClasses = Array.from(classesOrModules.values()).flat();
34
+ const importGenerator = new import_generator_1.ImportGenerator(allClasses);
35
+ const moduleFunctionSignatureGenerator = new module_function_signature_generator_1.ModuleFunctionSignatureGenerator();
36
+ const modularModuleDependencyResolver = new module_dependency_resolver_2.ModuleDependencyResolver(classesOrModules);
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, importGenerator);
39
+ const moduleInstantiationGenerator = new module_instantiation_generator_1.ModuleInstantiationGenerator();
40
+ const containerAggregator = new container_aggregator_1.ContainerAggregator();
41
+ return new modular_container_generator_1.ModularContainerGenerator(fileWriter, classesOrModules, moduleDependencyResolver, importGenerator, moduleContainerFunctionGenerator, moduleInstantiationGenerator, containerAggregator);
44
42
  }
45
43
  /**
46
44
  * Determines if the input represents a modular structure.
@@ -72,12 +70,7 @@ class ContainerGeneratorFactory {
72
70
  * @returns The number of modules, or 1 for flat structure
73
71
  */
74
72
  static getModuleCount(classesOrModules) {
75
- if (classesOrModules instanceof Map) {
76
- return classesOrModules.size;
77
- }
78
- else {
79
- return 1; // Flat structure is considered as one implicit module
80
- }
73
+ return classesOrModules.size;
81
74
  }
82
75
  }
83
76
  exports.ContainerGeneratorFactory = ContainerGeneratorFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"container-generator-factory.js","sourceRoot":"","sources":["../../src/generator/container-generator-factory.ts"],"names":[],"mappings":";;;AACA,8EAAyE;AACzE,uFAAkF;AAClF,yEAAqE;AACrE,uFAAkF;AAClF,yDAAqD;AACrD,4EAAwE;AACxE,oEAA0F;AAC1F,+CAA2C;AAG3C;;;;GAIG;AACH,MAAa,yBAAyB;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CACX,gBAAwD,EACxD,UAAkB;QAElB,mEAAmE;QACnE,MAAM,UAAU,GAAG,IAAI,wBAAU,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,gBAAgB,YAAY,GAAG,EAAE,CAAC;YACpC,0EAA0E;YAC1E,MAAM,wBAAwB,GAAG,IAAI,qDAAwB,CAAC,gBAAgB,CAAC,CAAC;YAChF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAChE,MAAM,eAAe,GAAG,IAAI,kCAAe,CAAC,UAAU,CAAC,CAAC;YAExD,OAAO,IAAI,uDAAyB,CAClC,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,CAChB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,6FAA6F;YAC7F,MAAM,kBAAkB,GAAG,IAAI,wCAAkB,CAAC,gBAAgB,CAAC,CAAC;YACpE,MAAM,eAAe,GAAG,IAAI,kCAAe,CAAC,gBAAgB,CAAC,CAAC;YAC9D,MAAM,sBAAsB,GAAG,IAAI,gDAAsB,CAAC,gBAAgB,CAAC,CAAC;YAC5E,MAAM,sBAAsB,GAAG,IAAI,wCAAsB,CAAC,gBAAgB,CAAC,CAAC;YAE5E,OAAO,IAAI,iDAAsB,CAC/B,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,CACvB,CAAC;QACJ,CAAC;IACH,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,gBAAwD;QAC5E,IAAI,gBAAgB,YAAY,GAAG,EAAE,CAAC;YACpC,OAAO,gBAAgB,CAAC,IAAI,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC,CAAC,sDAAsD;QAClE,CAAC;IACH,CAAC;CACF;AAnFD,8DAmFC"}
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"}
@@ -0,0 +1,44 @@
1
+ import { ClassInfo } from '../types';
2
+ /**
3
+ * Handles resolving duplicate class names in imports and ensures consistent
4
+ * alias usage throughout the generated container code.
5
+ */
6
+ export declare class DuplicateImportResolver {
7
+ private classes;
8
+ private classAliasMap;
9
+ private importPathMap;
10
+ private aliasToClassMap;
11
+ constructor(classes: ClassInfo[]);
12
+ /**
13
+ * Generates unique aliases for classes with the same name but different import paths
14
+ */
15
+ private generateClassAliases;
16
+ /**
17
+ * Creates a unique key for a class based on its name and import path
18
+ */
19
+ private getClassKey;
20
+ /**
21
+ * Extracts a module name from an import path to use in alias creation
22
+ */
23
+ private extractModuleNameFromPath;
24
+ /**
25
+ * Gets the alias for a class based on its name and import path
26
+ */
27
+ getClassAlias(className: string, importPath: string): string;
28
+ /**
29
+ * Gets the import path for a class based on its name and alias
30
+ */
31
+ getImportPathForClass(className: string, alias: string): string | undefined;
32
+ /**
33
+ * Resolves a class reference to its proper alias based on the context
34
+ * @param className The name of the class to resolve
35
+ * @param contextClass The class that is referencing the target class
36
+ * @returns The proper alias to use for the class in this context
37
+ */
38
+ resolveClassReference(className: string, contextClass: ClassInfo): string;
39
+ /**
40
+ * Generates import statements for all classes
41
+ */
42
+ generateImports(): string;
43
+ }
44
+ //# sourceMappingURL=duplicate-import-resolver.d.ts.map