@notjustcoders/ioc-arise 1.0.9 → 1.0.11

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 (170) hide show
  1. package/dist/analyser/ast-parser.d.ts +1 -0
  2. package/dist/analyser/ast-parser.d.ts.map +1 -1
  3. package/dist/analyser/ast-parser.js +53 -0
  4. package/dist/analyser/ast-parser.js.map +1 -1
  5. package/dist/analyser/class-analyzer.d.ts.map +1 -1
  6. package/dist/analyser/class-analyzer.js +23 -8
  7. package/dist/analyser/class-analyzer.js.map +1 -1
  8. package/dist/analyser/dependency-resolver.js +4 -4
  9. package/dist/analyser/dependency-resolver.js.map +1 -1
  10. package/dist/analyser/module-dependency-resolver.js +1 -1
  11. package/dist/analyser/module-dependency-resolver.js.map +1 -1
  12. package/dist/commands/analyze.js +1 -1
  13. package/dist/commands/analyze.js.map +1 -1
  14. package/dist/commands/generate.d.ts.map +1 -1
  15. package/dist/commands/generate.js +2 -2
  16. package/dist/commands/generate.js.map +1 -1
  17. package/dist/container.gen.d.ts +20 -12
  18. package/dist/container.gen.d.ts.map +1 -1
  19. package/dist/container.gen.js +114 -80
  20. package/dist/container.gen.js.map +1 -1
  21. package/dist/generator/import-generator.d.ts.map +1 -1
  22. package/dist/generator/import-generator.js +11 -5
  23. package/dist/generator/import-generator.js.map +1 -1
  24. package/dist/generator/modular/module-dependency-resolver.js +1 -1
  25. package/dist/generator/modular/module-dependency-resolver.js.map +1 -1
  26. package/dist/generator/shared/instantiation-utils.d.ts +2 -1
  27. package/dist/generator/shared/instantiation-utils.d.ts.map +1 -1
  28. package/dist/generator/shared/instantiation-utils.js +17 -5
  29. package/dist/generator/shared/instantiation-utils.js.map +1 -1
  30. package/dist/renderer/console-analysis-renderer.js +1 -1
  31. package/dist/renderer/console-analysis-renderer.js.map +1 -1
  32. package/dist/types.d.ts +5 -1
  33. package/dist/types.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/__tests__/analyser/ast-parser.test.d.ts +0 -2
  36. package/dist/__tests__/analyser/ast-parser.test.d.ts.map +0 -1
  37. package/dist/__tests__/analyser/ast-parser.test.js +0 -309
  38. package/dist/__tests__/analyser/ast-parser.test.js.map +0 -1
  39. package/dist/__tests__/analyser/class-analyzer.test.d.ts +0 -2
  40. package/dist/__tests__/analyser/class-analyzer.test.d.ts.map +0 -1
  41. package/dist/__tests__/analyser/class-analyzer.test.js +0 -323
  42. package/dist/__tests__/analyser/class-analyzer.test.js.map +0 -1
  43. package/dist/__tests__/analyser/dependency-resolver.test.d.ts +0 -2
  44. package/dist/__tests__/analyser/dependency-resolver.test.d.ts.map +0 -1
  45. package/dist/__tests__/analyser/dependency-resolver.test.js +0 -128
  46. package/dist/__tests__/analyser/dependency-resolver.test.js.map +0 -1
  47. package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.d.ts +0 -28
  48. package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.d.ts.map +0 -1
  49. package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.js +0 -222
  50. package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.js.map +0 -1
  51. package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.d.ts +0 -54
  52. package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.d.ts.map +0 -1
  53. package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.js +0 -285
  54. package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.js.map +0 -1
  55. package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.d.ts +0 -13
  56. package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.d.ts.map +0 -1
  57. package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.js +0 -266
  58. package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.js.map +0 -1
  59. package/dist/__tests__/analyser/project-analyzer.test.d.ts +0 -2
  60. package/dist/__tests__/analyser/project-analyzer.test.d.ts.map +0 -1
  61. package/dist/__tests__/analyser/project-analyzer.test.js +0 -191
  62. package/dist/__tests__/analyser/project-analyzer.test.js.map +0 -1
  63. package/dist/__tests__/generator/container-generator.test.d.ts +0 -2
  64. package/dist/__tests__/generator/container-generator.test.d.ts.map +0 -1
  65. package/dist/__tests__/generator/container-generator.test.js +0 -185
  66. package/dist/__tests__/generator/container-generator.test.js.map +0 -1
  67. package/dist/__tests__/generator/dependency-resolver.test.d.ts +0 -2
  68. package/dist/__tests__/generator/dependency-resolver.test.d.ts.map +0 -1
  69. package/dist/__tests__/generator/dependency-resolver.test.js +0 -330
  70. package/dist/__tests__/generator/dependency-resolver.test.js.map +0 -1
  71. package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.d.ts +0 -23
  72. package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.d.ts.map +0 -1
  73. package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.js +0 -254
  74. package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.js.map +0 -1
  75. package/dist/__tests__/generator/fixtures/import-generator.fixtures.d.ts +0 -10
  76. package/dist/__tests__/generator/fixtures/import-generator.fixtures.d.ts.map +0 -1
  77. package/dist/__tests__/generator/fixtures/import-generator.fixtures.js +0 -194
  78. package/dist/__tests__/generator/fixtures/import-generator.fixtures.js.map +0 -1
  79. package/dist/__tests__/generator/import-generator.test.d.ts +0 -2
  80. package/dist/__tests__/generator/import-generator.test.d.ts.map +0 -1
  81. package/dist/__tests__/generator/import-generator.test.js +0 -121
  82. package/dist/__tests__/generator/import-generator.test.js.map +0 -1
  83. package/dist/__tests__/generator/instantiation-generator.test.d.ts +0 -2
  84. package/dist/__tests__/generator/instantiation-generator.test.d.ts.map +0 -1
  85. package/dist/__tests__/generator/instantiation-generator.test.js +0 -251
  86. package/dist/__tests__/generator/instantiation-generator.test.js.map +0 -1
  87. package/dist/generator/Container-file-generator.d.ts +0 -20
  88. package/dist/generator/Container-file-generator.d.ts.map +0 -1
  89. package/dist/generator/Container-file-generator.js +0 -255
  90. package/dist/generator/Container-file-generator.js.map +0 -1
  91. package/dist/generator/base-container-code-generator.d.ts +0 -15
  92. package/dist/generator/base-container-code-generator.d.ts.map +0 -1
  93. package/dist/generator/base-container-code-generator.js +0 -23
  94. package/dist/generator/base-container-code-generator.js.map +0 -1
  95. package/dist/generator/base-dependency-resolver.d.ts +0 -26
  96. package/dist/generator/base-dependency-resolver.d.ts.map +0 -1
  97. package/dist/generator/base-dependency-resolver.js +0 -72
  98. package/dist/generator/base-dependency-resolver.js.map +0 -1
  99. package/dist/generator/base-instantiation-generator.d.ts +0 -55
  100. package/dist/generator/base-instantiation-generator.d.ts.map +0 -1
  101. package/dist/generator/base-instantiation-generator.js +0 -117
  102. package/dist/generator/base-instantiation-generator.js.map +0 -1
  103. package/dist/generator/container-generator.d.ts +0 -8
  104. package/dist/generator/container-generator.d.ts.map +0 -1
  105. package/dist/generator/container-generator.js +0 -35
  106. package/dist/generator/container-generator.js.map +0 -1
  107. package/dist/generator/dependency-resolver.d.ts +0 -11
  108. package/dist/generator/dependency-resolver.d.ts.map +0 -1
  109. package/dist/generator/dependency-resolver.js +0 -83
  110. package/dist/generator/dependency-resolver.js.map +0 -1
  111. package/dist/generator/duplicate-import-resolver.d.ts +0 -44
  112. package/dist/generator/duplicate-import-resolver.d.ts.map +0 -1
  113. package/dist/generator/duplicate-import-resolver.js +0 -162
  114. package/dist/generator/duplicate-import-resolver.js.map +0 -1
  115. package/dist/generator/flat/container-generator.d.ts +0 -8
  116. package/dist/generator/flat/container-generator.d.ts.map +0 -1
  117. package/dist/generator/flat/container-generator.js +0 -17
  118. package/dist/generator/flat/container-generator.js.map +0 -1
  119. package/dist/generator/flat/dependency-resolver.d.ts +0 -8
  120. package/dist/generator/flat/dependency-resolver.d.ts.map +0 -1
  121. package/dist/generator/flat/dependency-resolver.js +0 -43
  122. package/dist/generator/flat/dependency-resolver.js.map +0 -1
  123. package/dist/generator/flat/flat-container-generator.d.ts +0 -25
  124. package/dist/generator/flat/flat-container-generator.d.ts.map +0 -1
  125. package/dist/generator/flat/flat-container-generator.js +0 -44
  126. package/dist/generator/flat/flat-container-generator.js.map +0 -1
  127. package/dist/generator/flat/instantiation-generator.d.ts +0 -24
  128. package/dist/generator/flat/instantiation-generator.d.ts.map +0 -1
  129. package/dist/generator/flat/instantiation-generator.js +0 -125
  130. package/dist/generator/flat/instantiation-generator.js.map +0 -1
  131. package/dist/generator/flat-container-generator.d.ts +0 -25
  132. package/dist/generator/flat-container-generator.d.ts.map +0 -1
  133. package/dist/generator/flat-container-generator.js +0 -44
  134. package/dist/generator/flat-container-generator.js.map +0 -1
  135. package/dist/generator/instantiation-generator.d.ts +0 -21
  136. package/dist/generator/instantiation-generator.d.ts.map +0 -1
  137. package/dist/generator/instantiation-generator.js +0 -116
  138. package/dist/generator/instantiation-generator.js.map +0 -1
  139. package/dist/generator/modular/class-sorter.d.ts +0 -17
  140. package/dist/generator/modular/class-sorter.d.ts.map +0 -1
  141. package/dist/generator/modular/class-sorter.js +0 -40
  142. package/dist/generator/modular/class-sorter.js.map +0 -1
  143. package/dist/generator/modular/modular-container-code-generator.d.ts +0 -65
  144. package/dist/generator/modular/modular-container-code-generator.d.ts.map +0 -1
  145. package/dist/generator/modular/modular-container-code-generator.js +0 -157
  146. package/dist/generator/modular/modular-container-code-generator.js.map +0 -1
  147. package/dist/generator/modular/module-export-generator.d.ts +0 -42
  148. package/dist/generator/modular/module-export-generator.d.ts.map +0 -1
  149. package/dist/generator/modular/module-export-generator.js +0 -82
  150. package/dist/generator/modular/module-export-generator.js.map +0 -1
  151. package/dist/generator/modular/module-scope-generator.d.ts +0 -47
  152. package/dist/generator/modular/module-scope-generator.d.ts.map +0 -1
  153. package/dist/generator/modular/module-scope-generator.js +0 -111
  154. package/dist/generator/modular/module-scope-generator.js.map +0 -1
  155. package/dist/generator/modular/refactored-modular-container-generator.d.ts +0 -38
  156. package/dist/generator/modular/refactored-modular-container-generator.d.ts.map +0 -1
  157. package/dist/generator/modular/refactored-modular-container-generator.js +0 -73
  158. package/dist/generator/modular/refactored-modular-container-generator.js.map +0 -1
  159. package/dist/generator/modular-container-generator.d.ts +0 -21
  160. package/dist/generator/modular-container-generator.d.ts.map +0 -1
  161. package/dist/generator/modular-container-generator.js +0 -57
  162. package/dist/generator/modular-container-generator.js.map +0 -1
  163. package/dist/generator/module-container-function-generator.d.ts +0 -30
  164. package/dist/generator/module-container-function-generator.d.ts.map +0 -1
  165. package/dist/generator/module-container-function-generator.js +0 -199
  166. package/dist/generator/module-container-function-generator.js.map +0 -1
  167. package/dist/generator/shared/dependency-resolver-utils.d.ts +0 -28
  168. package/dist/generator/shared/dependency-resolver-utils.d.ts.map +0 -1
  169. package/dist/generator/shared/dependency-resolver-utils.js +0 -67
  170. package/dist/generator/shared/dependency-resolver-utils.js.map +0 -1
@@ -1,26 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,72 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,55 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,117 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-instantiation-generator.js","sourceRoot":"","sources":["../../src/generator/base-instantiation-generator.ts"],"names":[],"mappings":";;;AACA,4CAAiD;AAEjD;;;GAGG;AACH,MAAsB,0BAA0B;IAK9C,YAAY,OAAoB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC9D,CAAC;IAED;;OAEG;IACO,yBAAyB;QACjC,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;IACO,sBAAsB;QAC9B,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC;YACnE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC;SACpE,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,yBAAyB,CAAC,aAAuB,EAAE,gBAA6B;QACxF,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACjC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,0BAA0B,CAAC,gBAA6B;QAChE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CACjD,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CACvC,CAAC;QAEF,OAAO;YACL,kDAAkD;YAClD,GAAG,SAAS;SACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACO,sBAAsB,CAAC,SAAoB;QACnD,MAAM,YAAY,GAAG,IAAA,uBAAc,EAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAErE,OAAO,eAAe;YACpB,CAAC,CAAC,SAAS,YAAY,iBAAiB,SAAS,CAAC,IAAI,WAAW,SAAS,CAAC,IAAI,IAAI,eAAe,IAAI;YACtG,CAAC,CAAC,SAAS,YAAY,iBAAiB,SAAS,CAAC,IAAI,WAAW,SAAS,CAAC,IAAI,KAAK,CAAC;IACzF,CAAC;IAED;;OAEG;IACO,0BAA0B,CAAC,mBAA6B;QAChE,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhD,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACpD,MAAM,YAAY,GAAG,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC;YAC/C,OAAO,OAAO,YAAY,KAAK,SAAS,eAAe,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,iDAAiD;YACjD,GAAG,SAAS;SACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACO,wBAAwB,CAAC,mBAA6B;QAC9D,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhD,MAAM,OAAO,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CACjE,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CACtC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;QAEpC,OAAO;YACL,yCAAyC;YACzC,GAAG,OAAO;SACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACO,qBAAqB,CAAC,SAAiB;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,YAAY,GAAG,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,SAAS,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAErE,MAAM,aAAa,GAAG,eAAe;YACnC,CAAC,CAAC,OAAO,SAAS,IAAI,eAAe,GAAG;YACxC,CAAC,CAAC,OAAO,SAAS,IAAI,CAAC;QAEzB,OAAO,SAAS,UAAU,UAAU,SAAS,iBAAiB,YAAY,YAAY,YAAY,MAAM,aAAa,oBAAoB,YAAY,OAAO,CAAC;IAC/J,CAAC;IAOD;;OAEG;IACO,2BAA2B,CAAC,YAAuB,EAAE,iBAAyB;QACtF,IAAI,YAAY,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO,GAAG,IAAA,uBAAc,EAAC,iBAAiB,CAAC,WAAW,CAAC;QACzD,CAAC;QACD,OAAO,MAAM,iBAAiB,IAAI,CAAC;IACrC,CAAC;CACF;AAxID,gEAwIC"}
@@ -1,8 +0,0 @@
1
- import { ClassInfo } from '../types';
2
- export declare class ContainerGenerator {
3
- private classes;
4
- constructor(classes: ClassInfo[]);
5
- generateContainerObject(): string;
6
- generateTypeExport(): string;
7
- }
8
- //# sourceMappingURL=container-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-generator.d.ts","sourceRoot":"","sources":["../../src/generator/container-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAc;gBAEjB,OAAO,EAAE,SAAS,EAAE;IAIhC,uBAAuB,IAAI,MAAM;IAwBjC,kBAAkB,IAAI,MAAM;CAG7B"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ContainerGenerator = void 0;
4
- const naming_1 = require("../utils/naming");
5
- class ContainerGenerator {
6
- constructor(classes) {
7
- this.classes = classes;
8
- }
9
- generateContainerObject() {
10
- const singletonProperties = [];
11
- const transientProperties = [];
12
- for (const classInfo of this.classes) {
13
- const variableName = (0, naming_1.toVariableName)(classInfo.name);
14
- const interfaceName = classInfo.interfaceName || classInfo.name;
15
- const getterName = `get${classInfo.name}`;
16
- if (classInfo.scope === 'singleton') {
17
- singletonProperties.push(` get ${interfaceName}(): ${classInfo.name} {
18
- return ${getterName}();
19
- },`);
20
- }
21
- else if (classInfo.scope === 'transient') {
22
- transientProperties.push(` get ${interfaceName}(): ${classInfo.name} {
23
- return ${variableName}Factory();
24
- },`);
25
- }
26
- }
27
- const allProperties = [...singletonProperties, ...transientProperties];
28
- return `export const container = {\n${allProperties.join('\n')}\n};`;
29
- }
30
- generateTypeExport() {
31
- return 'export type Container = typeof container;';
32
- }
33
- }
34
- exports.ContainerGenerator = ContainerGenerator;
35
- //# sourceMappingURL=container-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-generator.js","sourceRoot":"","sources":["../../src/generator/container-generator.ts"],"names":[],"mappings":";;;AACA,4CAAiD;AAEjD,MAAa,kBAAkB;IAG7B,YAAY,OAAoB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,uBAAuB;QACrB,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,mBAAmB,GAAa,EAAE,CAAC;QAEzC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,IAAA,uBAAc,EAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,CAAC;YAChE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YAE1C,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBACpC,mBAAmB,CAAC,IAAI,CAAC,SAAS,aAAa,OAAO,SAAS,CAAC,IAAI;aAC/D,UAAU;KAClB,CAAC,CAAC;YACD,CAAC;iBAAM,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC3C,mBAAmB,CAAC,IAAI,CAAC,SAAS,aAAa,OAAO,SAAS,CAAC,IAAI;aAC/D,YAAY;KACpB,CAAC,CAAC;YACD,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,mBAAmB,CAAC,CAAC;QACvE,OAAO,+BAA+B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACvE,CAAC;IAED,kBAAkB;QAChB,OAAO,2CAA2C,CAAC;IACrD,CAAC;CACF;AAlCD,gDAkCC"}
@@ -1,11 +0,0 @@
1
- import { ClassInfo } from '../types';
2
- export declare class DependencyResolver {
3
- private classes;
4
- constructor(classes: ClassInfo[]);
5
- createInterfaceToClassMap(): Map<string, string>;
6
- resolveDependencies(classInfo: ClassInfo, interfaceToClassMap: Map<string, string>, classMap: Map<string, ClassInfo>): string;
7
- private createUnmanagedDependencyInstance;
8
- private generateConstructorArgs;
9
- getDefaultValueForType(type: string, isOptional: boolean): string;
10
- }
11
- //# sourceMappingURL=dependency-resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependency-resolver.d.ts","sourceRoot":"","sources":["../../src/generator/dependency-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,UAAU,CAAC;AAG3D,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAc;gBAEjB,OAAO,EAAE,SAAS,EAAE;IAIhC,yBAAyB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAUhD,mBAAmB,CACjB,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAC/B,MAAM;IA4BT,OAAO,CAAC,iCAAiC;IAWzC,OAAO,CAAC,uBAAuB;IAI/B,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;CAyBlE"}
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DependencyResolver = void 0;
4
- const naming_1 = require("../utils/naming");
5
- class DependencyResolver {
6
- constructor(classes) {
7
- this.classes = classes;
8
- }
9
- createInterfaceToClassMap() {
10
- const interfaceToClassMap = new Map();
11
- for (const classInfo of this.classes) {
12
- if (classInfo.interfaceName) {
13
- interfaceToClassMap.set(classInfo.interfaceName, classInfo.name);
14
- }
15
- }
16
- return interfaceToClassMap;
17
- }
18
- resolveDependencies(classInfo, interfaceToClassMap, classMap) {
19
- return classInfo.dependencies
20
- .map(dep => {
21
- // Check if dependency is an interface name
22
- const implementingClass = interfaceToClassMap.get(dep);
23
- if (implementingClass) {
24
- const depClassInfo = classMap.get(implementingClass);
25
- if (depClassInfo && depClassInfo.scope === 'transient') {
26
- // For transient dependencies, use factory call
27
- return `${(0, naming_1.toVariableName)(implementingClass)}Factory()`;
28
- }
29
- return (0, naming_1.toVariableName)(implementingClass);
30
- }
31
- // Check if dependency is a class name
32
- if (classMap.has(dep)) {
33
- const depClassInfo = classMap.get(dep);
34
- if (depClassInfo && depClassInfo.scope === 'transient') {
35
- return `${(0, naming_1.toVariableName)(dep)}Factory()`;
36
- }
37
- return (0, naming_1.toVariableName)(dep);
38
- }
39
- // Check if dependency is a class that exists in the same file but not managed
40
- return this.createUnmanagedDependencyInstance(dep);
41
- })
42
- .filter(dep => dep !== null)
43
- .join(', ');
44
- }
45
- createUnmanagedDependencyInstance(className) {
46
- // Find the class info for this unmanaged dependency
47
- const classInfo = this.classes.find(c => c.name === className);
48
- if (!classInfo || !classInfo.constructorParams.length) {
49
- return `new ${className}()`;
50
- }
51
- const args = this.generateConstructorArgs(classInfo.constructorParams);
52
- return `new ${className}(${args})`;
53
- }
54
- generateConstructorArgs(params) {
55
- return params.map(param => this.getDefaultValueForType(param.type, param.isOptional)).join(', ');
56
- }
57
- getDefaultValueForType(type, isOptional) {
58
- if (isOptional) {
59
- return 'undefined';
60
- }
61
- // Handle primitive types
62
- switch (type.toLowerCase()) {
63
- case 'string':
64
- return '"default"';
65
- case 'number':
66
- return '0';
67
- case 'boolean':
68
- return 'false';
69
- case 'date':
70
- return 'new Date()';
71
- default:
72
- // For class types, try to find if it's a managed dependency
73
- const classMap = new Map(this.classes.map(c => [c.name, c]));
74
- if (classMap.has(type)) {
75
- return (0, naming_1.toVariableName)(type);
76
- }
77
- // For unmanaged class types, create a simple instance
78
- return `new ${type}()`;
79
- }
80
- }
81
- }
82
- exports.DependencyResolver = DependencyResolver;
83
- //# sourceMappingURL=dependency-resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependency-resolver.js","sourceRoot":"","sources":["../../src/generator/dependency-resolver.ts"],"names":[],"mappings":";;;AACA,4CAAiD;AAEjD,MAAa,kBAAkB;IAG7B,YAAY,OAAoB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,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,mBAAmB,CACjB,SAAoB,EACpB,mBAAwC,EACxC,QAAgC;QAEhC,OAAO,SAAS,CAAC,YAAY;aAC1B,GAAG,CAAC,GAAG,CAAC,EAAE;YACT,2CAA2C;YAC3C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACrD,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;oBACvD,+CAA+C;oBAC/C,OAAO,GAAG,IAAA,uBAAc,EAAC,iBAAiB,CAAC,WAAW,CAAC;gBACzD,CAAC;gBACD,OAAO,IAAA,uBAAc,EAAC,iBAAiB,CAAC,CAAC;YAC3C,CAAC;YACD,sCAAsC;YACtC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;oBACvD,OAAO,GAAG,IAAA,uBAAc,EAAC,GAAG,CAAC,WAAW,CAAC;gBAC3C,CAAC;gBACD,OAAO,IAAA,uBAAc,EAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,8EAA8E;YAC9E,OAAO,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC;aACD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEO,iCAAiC,CAAC,SAAiB;QACzD,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;IAEO,uBAAuB,CAAC,MAA8B;QAC5D,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,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;CACF;AAzFD,gDAyFC"}
@@ -1,44 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"duplicate-import-resolver.d.ts","sourceRoot":"","sources":["../../src/generator/duplicate-import-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,eAAe,CAAkC;gBAE7C,OAAO,EAAE,SAAS,EAAE;IAKhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAiBjC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAK5D;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAS3E;;;;;OAKG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,GAAG,MAAM;IA0CzE;;OAEG;IACH,eAAe,IAAI,MAAM;CA+B1B"}