@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":"module-container-function-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/module-container-function-generator.ts"],"names":[],"mappings":"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"}
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"}
@@ -1,36 +1,22 @@
1
1
  import { ClassInfo } from '../../types';
2
2
  /**
3
- * Handles dependency resolution for modular container generation.
4
- * Determines whether dependencies are internal or external to modules.
3
+ * Responsible for resolving dependencies within and across modules.
4
+ * Handles both internal module dependencies and external module dependencies.
5
5
  */
6
6
  export declare class ModuleDependencyResolver {
7
+ private moduleGroupedClasses;
8
+ constructor(moduleGroupedClasses: Map<string, ClassInfo[]>);
7
9
  /**
8
- * Finds external module dependencies for a given class.
9
- * External dependencies are those that exist in other modules.
10
- *
11
- * @param classInfo - The class to find external dependencies for
12
- * @param currentModuleClasses - Classes in the current module
13
- * @param allModuleClasses - All classes across all modules
14
- * @returns Array of external dependency class names
10
+ * Builds constructor arguments for a class.
15
11
  */
16
- static findExternalModuleDependencies(classInfo: ClassInfo, currentModuleClasses: ClassInfo[], allModuleClasses: ClassInfo[]): string[];
12
+ buildConstructorArguments(classInfo: ClassInfo, moduleClasses: ClassInfo[], moduleDeps: Set<string>, importGenerator?: any): string[];
17
13
  /**
18
- * Finds internal module dependencies for a given class.
19
- * Internal dependencies are those that exist within the same module.
20
- *
21
- * @param classInfo - The class to find internal dependencies for
22
- * @param currentModuleClasses - Classes in the current module
23
- * @returns Array of internal dependency class names
14
+ * Resolves a dependency argument.
24
15
  */
25
- static findInternalModuleDependencies(classInfo: ClassInfo, currentModuleClasses: ClassInfo[]): string[];
16
+ private resolveDependencyArgument;
26
17
  /**
27
- * Gets all external module dependencies for a list of classes.
28
- *
29
- * @param classes - Classes to analyze
30
- * @param currentModuleClasses - Classes in the current module
31
- * @param allModuleClasses - All classes across all modules
32
- * @returns Set of unique external dependency class names
18
+ * Finds a dependency from an external module.
33
19
  */
34
- static getAllExternalDependencies(classes: ClassInfo[], currentModuleClasses: ClassInfo[], allModuleClasses: ClassInfo[]): Set<string>;
20
+ private findExternalModuleDependency;
35
21
  }
36
22
  //# sourceMappingURL=module-dependency-resolver.d.ts.map
@@ -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;AAExC;;;GAGG;AACH,qBAAa,wBAAwB;IACnC;;;;;;;;OAQG;IACH,MAAM,CAAC,8BAA8B,CACnC,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,SAAS,EAAE,EACjC,gBAAgB,EAAE,SAAS,EAAE,GAC5B,MAAM,EAAE;IAiBX;;;;;;;OAOG;IACH,MAAM,CAAC,8BAA8B,CACnC,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,SAAS,EAAE,GAChC,MAAM,EAAE;IAcX;;;;;;;OAOG;IACH,MAAM,CAAC,0BAA0B,CAC/B,OAAO,EAAE,SAAS,EAAE,EACpB,oBAAoB,EAAE,SAAS,EAAE,EACjC,gBAAgB,EAAE,SAAS,EAAE,GAC5B,GAAG,CAAC,MAAM,CAAC;CAcf"}
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"}
@@ -1,68 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModuleDependencyResolver = void 0;
4
+ const shared_1 = require("../shared");
4
5
  /**
5
- * Handles dependency resolution for modular container generation.
6
- * Determines whether dependencies are internal or external to modules.
6
+ * Responsible for resolving dependencies within and across modules.
7
+ * Handles both internal module dependencies and external module dependencies.
7
8
  */
8
9
  class ModuleDependencyResolver {
10
+ constructor(moduleGroupedClasses) {
11
+ this.moduleGroupedClasses = moduleGroupedClasses;
12
+ }
9
13
  /**
10
- * Finds external module dependencies for a given class.
11
- * External dependencies are those that exist in other modules.
12
- *
13
- * @param classInfo - The class to find external dependencies for
14
- * @param currentModuleClasses - Classes in the current module
15
- * @param allModuleClasses - All classes across all modules
16
- * @returns Array of external dependency class names
14
+ * Builds constructor arguments for a class.
17
15
  */
18
- static findExternalModuleDependencies(classInfo, currentModuleClasses, allModuleClasses) {
19
- const externalDeps = [];
20
- const currentModuleInterfaces = new Set(currentModuleClasses.map(c => c.interfaceName));
16
+ buildConstructorArguments(classInfo, moduleClasses, moduleDeps, importGenerator) {
17
+ const constructorArgs = [];
21
18
  for (const dep of classInfo.dependencies) {
22
- // If dependency is not in current module but exists in other modules
23
- if (!currentModuleInterfaces.has(dep)) {
24
- const externalClass = allModuleClasses.find(c => c.interfaceName === dep);
25
- if (externalClass) {
26
- externalDeps.push(externalClass.name);
27
- }
19
+ const arg = this.resolveDependencyArgument(dep, moduleClasses, moduleDeps, importGenerator, classInfo);
20
+ if (arg) {
21
+ constructorArgs.push(arg);
28
22
  }
29
23
  }
30
- return externalDeps;
24
+ return constructorArgs;
31
25
  }
32
26
  /**
33
- * Finds internal module dependencies for a given class.
34
- * Internal dependencies are those that exist within the same module.
35
- *
36
- * @param classInfo - The class to find internal dependencies for
37
- * @param currentModuleClasses - Classes in the current module
38
- * @returns Array of internal dependency class names
27
+ * Resolves a dependency argument.
39
28
  */
40
- static findInternalModuleDependencies(classInfo, currentModuleClasses) {
41
- const internalDeps = [];
42
- const currentModuleMap = new Map(currentModuleClasses.map(c => [c.interfaceName, c]));
43
- for (const dep of classInfo.dependencies) {
44
- const internalClass = currentModuleMap.get(dep);
45
- if (internalClass) {
46
- internalDeps.push(internalClass.name);
47
- }
29
+ resolveDependencyArgument(dependency, moduleClasses, moduleDeps, importGenerator, requestingClass) {
30
+ // Check if dependency is from another module
31
+ const externalModuleArg = this.findExternalModuleDependency(dependency, moduleDeps);
32
+ if (externalModuleArg) {
33
+ return externalModuleArg;
48
34
  }
49
- return internalDeps;
35
+ // Create interface mapping for the current module with aliases
36
+ const interfaceToClassMap = shared_1.InstantiationUtils.createInterfaceToClassMap(moduleClasses, importGenerator);
37
+ // Check if dependency is from the same module
38
+ return shared_1.InstantiationUtils.resolveBasicDependency(dependency, moduleClasses, interfaceToClassMap, importGenerator, requestingClass);
50
39
  }
51
40
  /**
52
- * Gets all external module dependencies for a list of classes.
53
- *
54
- * @param classes - Classes to analyze
55
- * @param currentModuleClasses - Classes in the current module
56
- * @param allModuleClasses - All classes across all modules
57
- * @returns Set of unique external dependency class names
41
+ * Finds a dependency from an external module.
58
42
  */
59
- static getAllExternalDependencies(classes, currentModuleClasses, allModuleClasses) {
60
- const externalDeps = new Set();
61
- for (const classInfo of classes) {
62
- const classDeps = this.findExternalModuleDependencies(classInfo, currentModuleClasses, allModuleClasses);
63
- classDeps.forEach(dep => externalDeps.add(dep));
43
+ findExternalModuleDependency(dependency, moduleDeps) {
44
+ for (const depModule of moduleDeps) {
45
+ const depModuleClasses = this.moduleGroupedClasses.get(depModule);
46
+ if (depModuleClasses) {
47
+ const depClass = depModuleClasses.find(c => c.interfaceName === dependency);
48
+ if (depClass) {
49
+ const depModuleVarName = shared_1.InstantiationUtils.toCamelCase(depModule) + 'Container';
50
+ return `${depModuleVarName}.${dependency}`;
51
+ }
52
+ }
64
53
  }
65
- return externalDeps;
54
+ return null;
66
55
  }
67
56
  }
68
57
  exports.ModuleDependencyResolver = ModuleDependencyResolver;
@@ -1 +1 @@
1
- {"version":3,"file":"module-dependency-resolver.js","sourceRoot":"","sources":["../../../src/generator/modular/module-dependency-resolver.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,wBAAwB;IACnC;;;;;;;;OAQG;IACH,MAAM,CAAC,8BAA8B,CACnC,SAAoB,EACpB,oBAAiC,EACjC,gBAA6B;QAE7B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAExF,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACzC,qEAAqE;YACrE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC;gBAC1E,IAAI,aAAa,EAAE,CAAC;oBAClB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,8BAA8B,CACnC,SAAoB,EACpB,oBAAiC;QAEjC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtF,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,0BAA0B,CAC/B,OAAoB,EACpB,oBAAiC,EACjC,gBAA6B;QAE7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEvC,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,8BAA8B,CACnD,SAAS,EACT,oBAAoB,EACpB,gBAAgB,CACjB,CAAC;YACF,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAlFD,4DAkFC"}
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"}
@@ -0,0 +1,15 @@
1
+ import { ClassInfo } from '../../types';
2
+ import { ModuleDependencyResolver } from './module-dependency-resolver';
3
+ /**
4
+ * Responsible for generating the body content of module container functions.
5
+ * Handles factories, singletons, getters, and exports generation.
6
+ */
7
+ export declare class ModuleFunctionBodyGenerator {
8
+ private dependencyResolver;
9
+ constructor(dependencyResolver: ModuleDependencyResolver);
10
+ /**
11
+ * Generates the function body for a module container.
12
+ */
13
+ generateModuleFunctionBody(moduleClasses: ClassInfo[], moduleDeps: Set<string>, importGenerator?: any): string;
14
+ }
15
+ //# sourceMappingURL=module-function-body-generator.d.ts.map
@@ -0,0 +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,EAAE,eAAe,CAAC,EAAE,GAAG,GAAG,MAAM;CAU/G"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModuleFunctionBodyGenerator = void 0;
4
+ const shared_1 = require("../shared");
5
+ /**
6
+ * Responsible for generating the body content of module container functions.
7
+ * Handles factories, singletons, getters, and exports generation.
8
+ */
9
+ class ModuleFunctionBodyGenerator {
10
+ constructor(dependencyResolver) {
11
+ this.dependencyResolver = dependencyResolver;
12
+ }
13
+ /**
14
+ * Generates the function body for a module container.
15
+ */
16
+ generateModuleFunctionBody(moduleClasses, moduleDeps, importGenerator) {
17
+ const constructorArgsResolver = (classInfo) => {
18
+ const constructorArgs = this.dependencyResolver.buildConstructorArguments(classInfo, moduleClasses, moduleDeps, importGenerator);
19
+ return constructorArgs.length > 0 ? constructorArgs.join(', ') : '';
20
+ };
21
+ return shared_1.InstantiationUtils.generateModuleFunctionBody(moduleClasses, constructorArgsResolver, importGenerator);
22
+ }
23
+ }
24
+ exports.ModuleFunctionBodyGenerator = ModuleFunctionBodyGenerator;
25
+ //# sourceMappingURL=module-function-body-generator.js.map
@@ -0,0 +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,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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Responsible for generating function signatures and parameters for module container functions.
3
+ * Handles the creation of function signatures with proper parameter types.
4
+ */
5
+ export declare class ModuleFunctionSignatureGenerator {
6
+ /**
7
+ * Generates function parameters for module dependencies.
8
+ */
9
+ generateFunctionParameters(moduleDeps: Set<string>): string[];
10
+ /**
11
+ * Creates a function signature with parameters.
12
+ */
13
+ createFunctionSignature(functionName: string, params: string[]): string;
14
+ }
15
+ //# sourceMappingURL=module-function-signature-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-function-signature-generator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/module-function-signature-generator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,gCAAgC;IAC3C;;OAEG;IACH,0BAA0B,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;IAI7D;;OAEG;IACH,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;CAGxE"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModuleFunctionSignatureGenerator = void 0;
4
+ const shared_1 = require("../shared");
5
+ /**
6
+ * Responsible for generating function signatures and parameters for module container functions.
7
+ * Handles the creation of function signatures with proper parameter types.
8
+ */
9
+ class ModuleFunctionSignatureGenerator {
10
+ /**
11
+ * Generates function parameters for module dependencies.
12
+ */
13
+ generateFunctionParameters(moduleDeps) {
14
+ return shared_1.InstantiationUtils.generateModuleFunctionParameters(moduleDeps);
15
+ }
16
+ /**
17
+ * Creates a function signature with parameters.
18
+ */
19
+ createFunctionSignature(functionName, params) {
20
+ return shared_1.InstantiationUtils.createFunctionSignature(functionName, params);
21
+ }
22
+ }
23
+ exports.ModuleFunctionSignatureGenerator = ModuleFunctionSignatureGenerator;
24
+ //# sourceMappingURL=module-function-signature-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-function-signature-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/module-function-signature-generator.ts"],"names":[],"mappings":";;;AAAA,sCAA+C;AAE/C;;;GAGG;AACH,MAAa,gCAAgC;IAC3C;;OAEG;IACH,0BAA0B,CAAC,UAAuB;QAChD,OAAO,2BAAkB,CAAC,gCAAgC,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,YAAoB,EAAE,MAAgB;QAC5D,OAAO,2BAAkB,CAAC,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;CACF;AAdD,4EAcC"}
@@ -1,26 +1,12 @@
1
- import { ClassInfo } from '../../types';
2
1
  /**
3
2
  * Responsible for generating module instantiation code.
4
3
  * Handles the creation of module container instances.
5
4
  */
6
5
  export declare class ModuleInstantiationGenerator {
7
- private moduleGroupedClasses;
8
- constructor(moduleGroupedClasses: Map<string, ClassInfo[]>);
6
+ constructor();
9
7
  /**
10
8
  * Generates instantiation code for all modules.
11
9
  */
12
10
  generateModuleInstantiations(sortedModules: string[], moduleDependencies: Map<string, Set<string>>): string[];
13
- /**
14
- * Creates instantiation code for a specific module.
15
- */
16
- private createModuleInstantiation;
17
- /**
18
- * Gets function arguments for module dependencies.
19
- */
20
- private getModuleFunctionArguments;
21
- /**
22
- * Utility method to convert strings to camelCase.
23
- */
24
- private camelCase;
25
11
  }
26
12
  //# sourceMappingURL=module-instantiation-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-instantiation-generator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/module-instantiation-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,oBAAoB,CAA2B;gBAE3C,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAI1D;;OAEG;IACH,4BAA4B,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE;IAW7G;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,OAAO,CAAC,SAAS;CAGlB"}
1
+ {"version":3,"file":"module-instantiation-generator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/module-instantiation-generator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,4BAA4B;;IAKvC;;OAEG;IACH,4BAA4B,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE;CAU9G"}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModuleInstantiationGenerator = void 0;
4
+ const shared_1 = require("../shared");
4
5
  /**
5
6
  * Responsible for generating module instantiation code.
6
7
  * Handles the creation of module container instances.
7
8
  */
8
9
  class ModuleInstantiationGenerator {
9
- constructor(moduleGroupedClasses) {
10
- this.moduleGroupedClasses = moduleGroupedClasses;
10
+ constructor() {
11
+ // No dependencies needed for this generator
11
12
  }
12
13
  /**
13
14
  * Generates instantiation code for all modules.
@@ -15,40 +16,11 @@ class ModuleInstantiationGenerator {
15
16
  generateModuleInstantiations(sortedModules, moduleDependencies) {
16
17
  const moduleContainerCodes = [];
17
18
  for (const moduleName of sortedModules) {
18
- const moduleInstantiation = this.createModuleInstantiation(moduleName, moduleDependencies);
19
+ const moduleInstantiation = shared_1.InstantiationUtils.generateModuleInstantiation(moduleName, moduleDependencies);
19
20
  moduleContainerCodes.push(moduleInstantiation);
20
21
  }
21
22
  return moduleContainerCodes;
22
23
  }
23
- /**
24
- * Creates instantiation code for a specific module.
25
- */
26
- createModuleInstantiation(moduleName, moduleDependencies) {
27
- const moduleVarName = this.camelCase(moduleName) + 'Container';
28
- const moduleFunctionName = `create${moduleName}Container`;
29
- const moduleDeps = moduleDependencies.get(moduleName) || new Set();
30
- const functionArgs = this.getModuleFunctionArguments(moduleDeps);
31
- return functionArgs.length > 0 ?
32
- `const ${moduleVarName} = ${moduleFunctionName}(${functionArgs.join(', ')});` :
33
- `const ${moduleVarName} = ${moduleFunctionName}();`;
34
- }
35
- /**
36
- * Gets function arguments for module dependencies.
37
- */
38
- getModuleFunctionArguments(moduleDeps) {
39
- const functionArgs = [];
40
- for (const depModule of moduleDeps) {
41
- const depVarName = this.camelCase(depModule) + 'Container';
42
- functionArgs.push(depVarName);
43
- }
44
- return functionArgs;
45
- }
46
- /**
47
- * Utility method to convert strings to camelCase.
48
- */
49
- camelCase(str) {
50
- return str.charAt(0).toLowerCase() + str.slice(1).replace(/[^a-zA-Z0-9]/g, '');
51
- }
52
24
  }
53
25
  exports.ModuleInstantiationGenerator = ModuleInstantiationGenerator;
54
26
  //# sourceMappingURL=module-instantiation-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-instantiation-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/module-instantiation-generator.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,4BAA4B;IAGvC,YAAY,oBAA8C;QACxD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,4BAA4B,CAAC,aAAuB,EAAE,kBAA4C;QAChG,MAAM,oBAAoB,GAAa,EAAE,CAAC;QAE1C,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;YACvC,MAAM,mBAAmB,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC3F,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,UAAkB,EAAE,kBAA4C;QAChG,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;QAC/D,MAAM,kBAAkB,GAAG,SAAS,UAAU,WAAW,CAAC;QAC1D,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEnE,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAEjE,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9B,SAAS,aAAa,MAAM,kBAAkB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,SAAS,aAAa,MAAM,kBAAkB,KAAK,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,UAAuB;QACxD,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;YAC3D,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,GAAW;QAC3B,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;AAxDD,oEAwDC"}
1
+ {"version":3,"file":"module-instantiation-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/module-instantiation-generator.ts"],"names":[],"mappings":";;;AAAA,sCAA+C;AAE/C;;;GAGG;AACH,MAAa,4BAA4B;IACvC;QACE,4CAA4C;IAC9C,CAAC;IAED;;OAEG;IACH,4BAA4B,CAAC,aAAuB,EAAE,kBAA4C;QAChG,MAAM,oBAAoB,GAAa,EAAE,CAAC;QAE1C,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;YACvC,MAAM,mBAAmB,GAAG,2BAAkB,CAAC,2BAA2B,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC3G,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CACF;AAlBD,oEAkBC"}
@@ -0,0 +1,28 @@
1
+ import { ClassInfo, ConstructorParameter } from '../../types';
2
+ /**
3
+ * Shared utility class for dependency resolution functionality used by both
4
+ * flat and modular container generators.
5
+ */
6
+ export declare class DependencyResolverUtils {
7
+ /**
8
+ * Creates a map of interface names to their implementing class names.
9
+ */
10
+ static createInterfaceToClassMap(classes: ClassInfo[]): Map<string, string>;
11
+ /**
12
+ * Gets default value for a type when no implementation is found.
13
+ */
14
+ static getDefaultValueForType(type: string, isOptional: boolean): string;
15
+ /**
16
+ * Generates constructor arguments for unmanaged dependencies.
17
+ */
18
+ static generateConstructorArgs(params: ConstructorParameter[]): string;
19
+ /**
20
+ * Creates an instance of an unmanaged dependency.
21
+ */
22
+ static createUnmanagedDependencyInstance(className: string, classInfo?: ClassInfo): string;
23
+ /**
24
+ * Finds a class by its interface name in a collection of classes.
25
+ */
26
+ static findClassByInterface(interfaceName: string, classes: ClassInfo[]): ClassInfo | undefined;
27
+ }
28
+ //# sourceMappingURL=dependency-resolver-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-resolver-utils.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/dependency-resolver-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG9D;;;GAGG;AACH,qBAAa,uBAAuB;IAClC;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAU3E;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAqBxE;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM;IAItE;;OAEG;IACH,MAAM,CAAC,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM;IAS1F;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS;CAGhG"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyResolverUtils = void 0;
4
+ /**
5
+ * Shared utility class for dependency resolution functionality used by both
6
+ * flat and modular container generators.
7
+ */
8
+ class DependencyResolverUtils {
9
+ /**
10
+ * Creates a map of interface names to their implementing class names.
11
+ */
12
+ static createInterfaceToClassMap(classes) {
13
+ const interfaceToClassMap = new Map();
14
+ for (const classInfo of classes) {
15
+ if (classInfo.interfaceName) {
16
+ interfaceToClassMap.set(classInfo.interfaceName, classInfo.name);
17
+ }
18
+ }
19
+ return interfaceToClassMap;
20
+ }
21
+ /**
22
+ * Gets default value for a type when no implementation is found.
23
+ */
24
+ static getDefaultValueForType(type, isOptional) {
25
+ if (isOptional) {
26
+ return 'undefined';
27
+ }
28
+ // Handle primitive types
29
+ switch (type.toLowerCase()) {
30
+ case 'string':
31
+ return '"default"';
32
+ case 'number':
33
+ return '0';
34
+ case 'boolean':
35
+ return 'false';
36
+ case 'date':
37
+ return 'new Date()';
38
+ default:
39
+ // For class types, create a simple instance
40
+ return `new ${type}()`;
41
+ }
42
+ }
43
+ /**
44
+ * Generates constructor arguments for unmanaged dependencies.
45
+ */
46
+ static generateConstructorArgs(params) {
47
+ return params.map(param => this.getDefaultValueForType(param.type, param.isOptional)).join(', ');
48
+ }
49
+ /**
50
+ * Creates an instance of an unmanaged dependency.
51
+ */
52
+ static createUnmanagedDependencyInstance(className, classInfo) {
53
+ if (!classInfo || !classInfo.constructorParams.length) {
54
+ return `new ${className}()`;
55
+ }
56
+ const args = this.generateConstructorArgs(classInfo.constructorParams);
57
+ return `new ${className}(${args})`;
58
+ }
59
+ /**
60
+ * Finds a class by its interface name in a collection of classes.
61
+ */
62
+ static findClassByInterface(interfaceName, classes) {
63
+ return classes.find(c => c.interfaceName === interfaceName);
64
+ }
65
+ }
66
+ exports.DependencyResolverUtils = DependencyResolverUtils;
67
+ //# sourceMappingURL=dependency-resolver-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-resolver-utils.js","sourceRoot":"","sources":["../../../src/generator/shared/dependency-resolver-utils.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,uBAAuB;IAClC;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,OAAoB;QACnD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtD,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,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,MAAM,CAAC,sBAAsB,CAAC,IAAY,EAAE,UAAmB;QAC7D,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,4CAA4C;gBAC5C,OAAO,OAAO,IAAI,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,MAA8B;QAC3D,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;IACH,MAAM,CAAC,iCAAiC,CAAC,SAAiB,EAAE,SAAqB;QAC/E,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;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,aAAqB,EAAE,OAAoB;QACrE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;IAC9D,CAAC;CACF;AA/DD,0DA+DC"}
@@ -0,0 +1,2 @@
1
+ export * from './instantiation-utils';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./instantiation-utils"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}