@notjustcoders/ioc-arise 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/errors/index.d.ts.map +1 -1
  2. package/dist/errors/index.js.map +1 -1
  3. package/dist/generator/index.d.ts +1 -0
  4. package/dist/generator/index.d.ts.map +1 -1
  5. package/dist/generator/index.js +3 -1
  6. package/dist/generator/index.js.map +1 -1
  7. package/dist/generator/modular/container-aggregator.d.ts +5 -0
  8. package/dist/generator/modular/container-aggregator.d.ts.map +1 -1
  9. package/dist/generator/modular/container-aggregator.js +7 -0
  10. package/dist/generator/modular/container-aggregator.js.map +1 -1
  11. package/dist/generator/modular/modular-container-generator.js +1 -1
  12. package/dist/generator/modular/modular-container-generator.js.map +1 -1
  13. package/dist/generator/modular/split-file-writer.d.ts.map +1 -1
  14. package/dist/generator/modular/split-file-writer.js +3 -2
  15. package/dist/generator/modular/split-file-writer.js.map +1 -1
  16. package/dist/generator/shared/container-preservation-utils.d.ts +28 -0
  17. package/dist/generator/shared/container-preservation-utils.d.ts.map +1 -0
  18. package/dist/generator/shared/container-preservation-utils.js +114 -0
  19. package/dist/generator/shared/container-preservation-utils.js.map +1 -0
  20. package/dist/generator/shared/index.d.ts +2 -0
  21. package/dist/generator/shared/index.d.ts.map +1 -1
  22. package/dist/generator/shared/index.js +2 -0
  23. package/dist/generator/shared/index.js.map +1 -1
  24. package/dist/generator/shared/instantiation-utils.d.ts +12 -0
  25. package/dist/generator/shared/instantiation-utils.d.ts.map +1 -1
  26. package/dist/generator/shared/instantiation-utils.js +30 -0
  27. package/dist/generator/shared/instantiation-utils.js.map +1 -1
  28. package/dist/generator/shared/mock-class-resolver.d.ts +44 -0
  29. package/dist/generator/shared/mock-class-resolver.d.ts.map +1 -0
  30. package/dist/generator/shared/mock-class-resolver.js +116 -0
  31. package/dist/generator/shared/mock-class-resolver.js.map +1 -0
  32. package/dist/generator/shared/path-injection-utils.d.ts +33 -0
  33. package/dist/generator/shared/path-injection-utils.d.ts.map +1 -0
  34. package/dist/generator/shared/path-injection-utils.js +102 -0
  35. package/dist/generator/shared/path-injection-utils.js.map +1 -0
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.js +1 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/utils/mock-class-resolver.d.ts +36 -0
  40. package/dist/utils/mock-class-resolver.d.ts.map +1 -0
  41. package/dist/utils/mock-class-resolver.js +98 -0
  42. package/dist/utils/mock-class-resolver.js.map +1 -0
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAY;IACnC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,QAAQ;IAIhD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAOnD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAO3C;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIpD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAOtC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE;CAM5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAY;IACnC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,QAAQ;IAIhD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAOnD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAO3C;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIpD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAOtC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE;CAM5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,+CAAyC;AAEzC,6CASuB;AARrB,uGAAA,QAAQ,OAAA;AACR,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,0GAAA,WAAW,OAAA;AACX,4GAAA,aAAa,OAAA;AACb,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AAKjB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAErB;;GAEG;AACH,MAAa,UAAU;IAErB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,OAAO,KAAK,YAAY,UAAU,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAU;QAC5B,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAU;QAChC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAU;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;QACvC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAU;QAC9B,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;;AAtDH,gCAuDC;AAtDgB,mBAAQ,GAAG,sBAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,+CAAyC;AAGzC,6CASuB;AARrB,uGAAA,QAAQ,OAAA;AACR,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,0GAAA,WAAW,OAAA;AACX,4GAAA,aAAa,OAAA;AACb,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AAKjB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAErB;;GAEG;AACH,MAAa,UAAU;IAErB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,OAAO,KAAK,YAAY,UAAU,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAU;QAC5B,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAU;QAChC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAU;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;QACvC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAU;QAC9B,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;;AAtDH,gCAuDC;AAtDgB,mBAAQ,GAAG,sBAAQ,CAAC"}
@@ -16,4 +16,5 @@ export declare function detectCircularDependencies(classes: ClassInfo[]): string
16
16
  export { ContainerGeneratorFactory } from './container-generator-factory';
17
17
  export { BaseContainerGenerator } from './base-container-generator';
18
18
  export { ModularContainerGenerator } from './modular/modular-container-generator';
19
+ export { PathInjectionUtils } from './shared/path-injection-utils';
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIrC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAG1G;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,EAAE,CAG3E;AAGD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIrC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAG1G;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,EAAE,CAG3E;AAGD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModularContainerGenerator = exports.BaseContainerGenerator = exports.ContainerGeneratorFactory = void 0;
3
+ exports.PathInjectionUtils = exports.ModularContainerGenerator = exports.BaseContainerGenerator = exports.ContainerGeneratorFactory = void 0;
4
4
  exports.generateContainerFile = generateContainerFile;
5
5
  exports.detectCircularDependencies = detectCircularDependencies;
6
6
  const dependency_resolver_1 = require("../analyser/dependency-resolver");
@@ -32,4 +32,6 @@ var base_container_generator_1 = require("./base-container-generator");
32
32
  Object.defineProperty(exports, "BaseContainerGenerator", { enumerable: true, get: function () { return base_container_generator_1.BaseContainerGenerator; } });
33
33
  var modular_container_generator_1 = require("./modular/modular-container-generator");
34
34
  Object.defineProperty(exports, "ModularContainerGenerator", { enumerable: true, get: function () { return modular_container_generator_1.ModularContainerGenerator; } });
35
+ var path_injection_utils_1 = require("./shared/path-injection-utils");
36
+ Object.defineProperty(exports, "PathInjectionUtils", { enumerable: true, get: function () { return path_injection_utils_1.PathInjectionUtils; } });
35
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";;;AAUA,sDAGC;AAQD,gEAGC;AAvBD,yEAAqE;AACrE,+EAA0E;AAE1E;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,gBAA0C,EAAE,UAAkB;IAClG,MAAM,SAAS,GAAG,uDAAyB,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACjF,SAAS,CAAC,QAAQ,EAAE,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,OAAoB;IAC7D,MAAM,QAAQ,GAAG,IAAI,wCAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,0BAA0B,EAAE,CAAC;AAC/C,CAAC;AAED,2CAA2C;AAC3C,6EAA0E;AAAjE,wIAAA,yBAAyB,OAAA;AAClC,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA;AAC/B,qFAAkF;AAAzE,wIAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";;;AAUA,sDAGC;AAQD,gEAGC;AAvBD,yEAAqE;AACrE,+EAA0E;AAE1E;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,gBAA0C,EAAE,UAAkB;IAClG,MAAM,SAAS,GAAG,uDAAyB,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACjF,SAAS,CAAC,QAAQ,EAAE,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,OAAoB;IAC7D,MAAM,QAAQ,GAAG,IAAI,wCAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,0BAA0B,EAAE,CAAC;AAC/C,CAAC;AAED,2CAA2C;AAC3C,6EAA0E;AAAjE,wIAAA,yBAAyB,OAAA;AAClC,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA;AAC/B,qFAAkF;AAAzE,wIAAA,yBAAyB,OAAA;AAClC,sEAAmE;AAA1D,0HAAA,kBAAkB,OAAA"}
@@ -7,5 +7,10 @@ export declare class ContainerAggregator {
7
7
  * Generates the type export for the container.
8
8
  */
9
9
  generateModularTypeExport(): string;
10
+ /**
11
+ * Generates the type export for the container with path injection utilities.
12
+ * @param outputPath Path to the container file to check for existing onInit content
13
+ */
14
+ generateModularTypeExportWithPathUtils(outputPath?: string): string;
10
15
  }
11
16
  //# sourceMappingURL=container-aggregator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-aggregator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/container-aggregator.ts"],"names":[],"mappings":"AAKA,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,2BAA2B,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM;IAI5D;;OAEG;IACH,yBAAyB,IAAI,MAAM;CAGpC"}
1
+ {"version":3,"file":"container-aggregator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/container-aggregator.ts"],"names":[],"mappings":"AAKA,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,2BAA2B,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM;IAI5D;;OAEG;IACH,yBAAyB,IAAI,MAAM;IAInC;;;OAGG;IACH,sCAAsC,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;CAGpE"}
@@ -18,6 +18,13 @@ class ContainerAggregator {
18
18
  generateModularTypeExport() {
19
19
  return shared_1.InstantiationUtils.generateModularContainerTypeExport();
20
20
  }
21
+ /**
22
+ * Generates the type export for the container with path injection utilities.
23
+ * @param outputPath Path to the container file to check for existing onInit content
24
+ */
25
+ generateModularTypeExportWithPathUtils(outputPath) {
26
+ return shared_1.InstantiationUtils.generateModularContainerTypeExportWithPathUtils(outputPath);
27
+ }
21
28
  }
22
29
  exports.ContainerAggregator = ContainerAggregator;
23
30
  //# sourceMappingURL=container-aggregator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-aggregator.js","sourceRoot":"","sources":["../../../src/generator/modular/container-aggregator.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,sCAA+C;AAE/C,MAAa,mBAAmB;IAC9B;;OAEG;IACH,2BAA2B,CAAC,aAAuB;QACjD,OAAO,2BAAkB,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,yBAAyB;QACvB,OAAO,2BAAkB,CAAC,kCAAkC,EAAE,CAAC;IACjE,CAAC;CACF;AAdD,kDAcC"}
1
+ {"version":3,"file":"container-aggregator.js","sourceRoot":"","sources":["../../../src/generator/modular/container-aggregator.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,sCAA+C;AAE/C,MAAa,mBAAmB;IAC9B;;OAEG;IACH,2BAA2B,CAAC,aAAuB;QACjD,OAAO,2BAAkB,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,yBAAyB;QACvB,OAAO,2BAAkB,CAAC,kCAAkC,EAAE,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,sCAAsC,CAAC,UAAmB;QACxD,OAAO,2BAAkB,CAAC,+CAA+C,CAAC,UAAU,CAAC,CAAC;IACxF,CAAC;CACF;AAtBD,kDAsBC"}
@@ -57,7 +57,7 @@ class ModularContainerGenerator extends base_container_generator_1.BaseContainer
57
57
  const imports = this.importGenerator.generateImports();
58
58
  const moduleContainers = this.generateModuleContainers(sortedModules, moduleDependencies);
59
59
  const aggregatedContainer = this.containerAggregator.generateAggregatedContainer(sortedModules);
60
- const typeExport = this.containerAggregator.generateModularTypeExport();
60
+ const typeExport = this.containerAggregator.generateModularTypeExportWithPathUtils(this.fileWriter.getOutputPath());
61
61
  return `${imports}\n\n${moduleContainers}\n\n${aggregatedContainer}\n\n${typeExport}\n`;
62
62
  }
63
63
  generateModuleContainers(sortedModules, moduleDependencies) {
@@ -1 +1 @@
1
- {"version":3,"file":"modular-container-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/modular-container-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modular-container-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/modular-container-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"split-file-writer.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/split-file-writer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAEnF;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,EAAE,MAAM;IAK9B;;OAEG;IACH,iBAAiB,CACf,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC5C,gCAAgC,EAAE,gCAAgC,EAClE,4BAA4B,EAAE,4BAA4B,EAC1D,qBAAqB,EAAE,eAAe,GACrC,IAAI;IAyCP;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmCjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAgCrC;;OAEG;IACH,OAAO,CAAC,yCAAyC;IAyBjD;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAU3C;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"split-file-writer.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/split-file-writer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAGnF;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,EAAE,MAAM;IAK9B;;OAEG;IACH,iBAAiB,CACf,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC5C,gCAAgC,EAAE,gCAAgC,EAClE,4BAA4B,EAAE,4BAA4B,EAC1D,qBAAqB,EAAE,eAAe,GACrC,IAAI;IAyCP;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmCjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAgCrC;;OAEG;IACH,OAAO,CAAC,yCAAyC;IAyBjD;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAU3C;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB"}
@@ -5,6 +5,7 @@ const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  const index_js_1 = require("../../errors/index.js");
7
7
  const import_generator_js_1 = require("../import-generator.js");
8
+ const index_js_2 = require("../shared/index.js");
8
9
  /**
9
10
  * Handles writing split module files when there are more than 3 modules.
10
11
  * Each module gets its own <moduleName>.gen.ts file, plus a main container.gen.ts aggregator.
@@ -93,8 +94,8 @@ export type ${moduleName}Container = ReturnType<typeof ${functionName}>;`;
93
94
  const moduleInstantiations = this.generateModuleInstantiationsForAggregator(sortedModules, moduleDependencies);
94
95
  // Generate aggregated container
95
96
  const aggregatedContainer = this.generateAggregatedContainerForSplit(sortedModules);
96
- // Generate type export
97
- const typeExport = 'export type Container = typeof container;';
97
+ // Generate type export with path utilities and preserve onInit
98
+ const typeExport = index_js_2.InstantiationUtils.generateModularContainerTypeExportWithPathUtils(this.outputPath);
98
99
  return [
99
100
  moduleImports,
100
101
  '',
@@ -1 +1 @@
1
- {"version":3,"file":"split-file-writer.js","sourceRoot":"","sources":["../../../src/generator/modular/split-file-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"split-file-writer.js","sourceRoot":"","sources":["../../../src/generator/modular/split-file-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Utility class for preserving user content from existing container files.
3
+ * Handles parsing existing containers to extract and preserve custom onInit logic.
4
+ */
5
+ export declare class ContainerPreservationUtils {
6
+ private static astParser;
7
+ /**
8
+ * Extracts the body of the onInit function from an existing container file.
9
+ * @param containerPath Path to the existing container file
10
+ * @returns The body content of the onInit function, or undefined if not found
11
+ */
12
+ static extractOnInitBody(containerPath: string): string | undefined;
13
+ /**
14
+ * Checks if a container file exists at the given path.
15
+ * @param containerPath Path to check for container file
16
+ * @returns True if the file exists
17
+ */
18
+ static containerExists(containerPath: string): boolean;
19
+ /**
20
+ * Extracts preserved content for container regeneration.
21
+ * @param containerPath Path to the existing container file
22
+ * @returns Object containing preserved content
23
+ */
24
+ static extractPreservedContent(containerPath: string): {
25
+ onInitBody?: string;
26
+ };
27
+ }
28
+ //# sourceMappingURL=container-preservation-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-preservation-utils.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/container-preservation-utils.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAAa,0BAA0B;IACnC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmB;IAE3C;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA2FnE;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAItD;;;;OAIG;IACH,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG;QACnD,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB;CAKJ"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerPreservationUtils = void 0;
4
+ const fs_1 = require("fs");
5
+ const ast_parser_1 = require("../../analyser/ast-parser");
6
+ const one_logger_client_sdk_1 = require("@notjustcoders/one-logger-client-sdk");
7
+ /**
8
+ * Utility class for preserving user content from existing container files.
9
+ * Handles parsing existing containers to extract and preserve custom onInit logic.
10
+ */
11
+ class ContainerPreservationUtils {
12
+ /**
13
+ * Extracts the body of the onInit function from an existing container file.
14
+ * @param containerPath Path to the existing container file
15
+ * @returns The body content of the onInit function, or undefined if not found
16
+ */
17
+ static extractOnInitBody(containerPath) {
18
+ try {
19
+ // Check if file exists
20
+ if (!(0, fs_1.existsSync)(containerPath)) {
21
+ one_logger_client_sdk_1.logger.log('Container file does not exist, using default onInit body');
22
+ return undefined;
23
+ }
24
+ // Parse the existing container file
25
+ const root = this.astParser.parseFile(containerPath);
26
+ // Try multiple patterns to find the onInit function
27
+ let onInitFunctions = root.findAll({
28
+ rule: {
29
+ pattern: 'export function onInit(): void { $$$ }'
30
+ }
31
+ });
32
+ // If not found, try without export keyword
33
+ if (onInitFunctions.length === 0) {
34
+ onInitFunctions = root.findAll({
35
+ rule: {
36
+ pattern: 'function onInit(): void { $$$ }'
37
+ }
38
+ });
39
+ }
40
+ // If still not found, try to find any function named onInit
41
+ if (onInitFunctions.length === 0) {
42
+ onInitFunctions = root.findAll({
43
+ rule: {
44
+ kind: 'function_declaration'
45
+ }
46
+ }).filter((func) => {
47
+ const funcText = func.text();
48
+ return funcText.includes('onInit') && funcText.includes('(): void');
49
+ });
50
+ }
51
+ if (onInitFunctions.length === 0) {
52
+ one_logger_client_sdk_1.logger.log('No onInit function found in existing container');
53
+ return undefined;
54
+ }
55
+ const onInitFunction = onInitFunctions[0];
56
+ const functionText = onInitFunction.text();
57
+ one_logger_client_sdk_1.logger.log('Found onInit function:', { functionPreview: functionText.substring(0, 200) + '...' });
58
+ // Extract the function body content between the curly braces
59
+ // Use a more robust regex to handle multiline content
60
+ const bodyMatch = functionText.match(/export\s+function\s+onInit\s*\(\s*\)\s*:\s*void\s*\{\s*([\s\S]*?)\s*\}$/m) ||
61
+ functionText.match(/function\s+onInit\s*\(\s*\)\s*:\s*void\s*\{\s*([\s\S]*?)\s*\}$/m);
62
+ if (!bodyMatch || !bodyMatch[1]) {
63
+ one_logger_client_sdk_1.logger.log('Could not extract onInit function body using regex');
64
+ return undefined;
65
+ }
66
+ const bodyContent = bodyMatch[1].trim();
67
+ one_logger_client_sdk_1.logger.log('Extracted body content:', { bodyContent });
68
+ // Check if it's just the default TODO comment
69
+ if (bodyContent === '// TODO: Implement your post-construction logic here') {
70
+ one_logger_client_sdk_1.logger.log('Found default onInit body, not preserving');
71
+ return undefined;
72
+ }
73
+ // If there's custom content, preserve it with proper indentation
74
+ if (bodyContent.length > 0) {
75
+ one_logger_client_sdk_1.logger.log('Found custom onInit body, preserving it');
76
+ // Add proper indentation to each line
77
+ const indentedBody = bodyContent
78
+ .split('\n')
79
+ .map((line) => line.trim() ? ` ${line}` : line)
80
+ .join('\n');
81
+ return indentedBody;
82
+ }
83
+ return undefined;
84
+ }
85
+ catch (error) {
86
+ one_logger_client_sdk_1.logger.warn('Warning: Could not parse existing container file for onInit preservation:', {
87
+ error: error instanceof Error ? error.message : String(error),
88
+ containerPath
89
+ });
90
+ return undefined;
91
+ }
92
+ }
93
+ /**
94
+ * Checks if a container file exists at the given path.
95
+ * @param containerPath Path to check for container file
96
+ * @returns True if the file exists
97
+ */
98
+ static containerExists(containerPath) {
99
+ return (0, fs_1.existsSync)(containerPath);
100
+ }
101
+ /**
102
+ * Extracts preserved content for container regeneration.
103
+ * @param containerPath Path to the existing container file
104
+ * @returns Object containing preserved content
105
+ */
106
+ static extractPreservedContent(containerPath) {
107
+ return {
108
+ onInitBody: this.extractOnInitBody(containerPath)
109
+ };
110
+ }
111
+ }
112
+ exports.ContainerPreservationUtils = ContainerPreservationUtils;
113
+ ContainerPreservationUtils.astParser = new ast_parser_1.ASTParser();
114
+ //# sourceMappingURL=container-preservation-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-preservation-utils.js","sourceRoot":"","sources":["../../../src/generator/shared/container-preservation-utils.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export * from './instantiation-utils';
2
+ export * from './path-injection-utils';
3
+ export * from './container-preservation-utils';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC"}
@@ -15,4 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./instantiation-utils"), exports);
18
+ __exportStar(require("./path-injection-utils"), exports);
19
+ __exportStar(require("./container-preservation-utils"), exports);
18
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,yDAAuC;AACvC,iEAA+C"}
@@ -182,6 +182,12 @@ export declare class InstantiationUtils {
182
182
  * Used by flat container generators.
183
183
  */
184
184
  static generateContainerTypeExport(): string;
185
+ /**
186
+ * Generates the container type export with path injection utilities.
187
+ * Used by flat container generators.
188
+ * @param outputPath Path to the container file to check for existing onInit content
189
+ */
190
+ static generateContainerTypeExportWithPathUtils(outputPath?: string): string;
185
191
  /**
186
192
  * Generates a module function parameter with proper typing.
187
193
  * Used by modular generators for creating function parameters.
@@ -227,6 +233,12 @@ export declare class InstantiationUtils {
227
233
  * Used by container aggregators.
228
234
  */
229
235
  static generateModularContainerTypeExport(): string;
236
+ /**
237
+ * Generates the modular container type export with path injection utilities.
238
+ * Used by container aggregators.
239
+ * @param outputPath Path to the container file to check for existing onInit content
240
+ */
241
+ static generateModularContainerTypeExportWithPathUtils(outputPath?: string): string;
230
242
  /**
231
243
  * Generates a module function return object.
232
244
  * Used by module function body generators.
@@ -1 +1 @@
1
- {"version":3,"file":"instantiation-utils.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/instantiation-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instantiation-utils.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/instantiation-utils.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InstantiationUtils = void 0;
4
4
  const topological_sorter_1 = require("../../utils/topological-sorter");
5
+ const path_injection_utils_1 = require("./path-injection-utils");
6
+ const container_preservation_utils_1 = require("./container-preservation-utils");
5
7
  /**
6
8
  * Shared utility class for instantiation-related functionality used by both
7
9
  * flat and modular container generators.
@@ -486,6 +488,20 @@ class InstantiationUtils {
486
488
  static generateContainerTypeExport() {
487
489
  return 'export type Container = typeof container;';
488
490
  }
491
+ /**
492
+ * Generates the container type export with path injection utilities.
493
+ * Used by flat container generators.
494
+ * @param outputPath Path to the container file to check for existing onInit content
495
+ */
496
+ static generateContainerTypeExportWithPathUtils(outputPath) {
497
+ const typeExport = this.generateContainerTypeExport();
498
+ // Extract preserved onInit body if container exists
499
+ const preservedContent = outputPath
500
+ ? container_preservation_utils_1.ContainerPreservationUtils.extractPreservedContent(outputPath)
501
+ : { onInitBody: undefined };
502
+ const pathUtils = path_injection_utils_1.PathInjectionUtils.generatePathInjectionUtilities(preservedContent.onInitBody);
503
+ return `${typeExport}\n\n${pathUtils}`;
504
+ }
489
505
  /**
490
506
  * Generates a module function parameter with proper typing.
491
507
  * Used by modular generators for creating function parameters.
@@ -558,6 +574,20 @@ class InstantiationUtils {
558
574
  static generateModularContainerTypeExport() {
559
575
  return 'export type Container = typeof container;';
560
576
  }
577
+ /**
578
+ * Generates the modular container type export with path injection utilities.
579
+ * Used by container aggregators.
580
+ * @param outputPath Path to the container file to check for existing onInit content
581
+ */
582
+ static generateModularContainerTypeExportWithPathUtils(outputPath) {
583
+ const typeExport = this.generateModularContainerTypeExport();
584
+ // Extract preserved onInit body if container exists
585
+ const preservedContent = outputPath
586
+ ? container_preservation_utils_1.ContainerPreservationUtils.extractPreservedContent(outputPath)
587
+ : { onInitBody: undefined };
588
+ const pathUtils = path_injection_utils_1.PathInjectionUtils.generatePathInjectionUtilities(preservedContent.onInitBody);
589
+ return `${typeExport}\n\n${pathUtils}`;
590
+ }
561
591
  /**
562
592
  * Generates a module function return object.
563
593
  * Used by module function body generators.
@@ -1 +1 @@
1
- {"version":3,"file":"instantiation-utils.js","sourceRoot":"","sources":["../../../src/generator/shared/instantiation-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instantiation-utils.js","sourceRoot":"","sources":["../../../src/generator/shared/instantiation-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { ClassInfo } from '../../types';
2
+ import { MockConfig } from '../../utils/configManager';
3
+ /**
4
+ * Utility class for resolving mock classes based on configuration
5
+ */
6
+ export declare class MockClassResolver {
7
+ /**
8
+ * Resolves a mock class for the given target class if mock mode is enabled
9
+ * @param targetClass The class name to find a mock for
10
+ * @param availableClasses All available classes in the project
11
+ * @param mockConfig Mock configuration from ioc.config.json
12
+ * @returns Mock class name if found, null otherwise
13
+ */
14
+ static resolveMockClass(targetClass: string, availableClasses: ClassInfo[], mockConfig?: MockConfig): string | null;
15
+ /**
16
+ * Checks if a class name matches a glob pattern
17
+ * @param className The class name to check
18
+ * @param globPattern The glob pattern (e.g., "*Mock*", "Mock*")
19
+ * @returns true if the class name matches the pattern
20
+ */
21
+ private static matchesGlobPattern;
22
+ /**
23
+ * Determines if a mock class name is intended for the target class
24
+ * @param mockClassName The potential mock class name
25
+ * @param targetClassName The target class name
26
+ * @returns true if the mock is for the target
27
+ */
28
+ private static isMockForTarget;
29
+ /**
30
+ * Performs fuzzy matching between mock and target class names
31
+ * @param mockName Cleaned mock class name
32
+ * @param targetName Target class name
33
+ * @returns true if names are similar enough
34
+ */
35
+ private static fuzzyMatch;
36
+ /**
37
+ * Gets all available mock classes based on configuration
38
+ * @param availableClasses All available classes
39
+ * @param mockConfig Mock configuration
40
+ * @returns Array of mock class names
41
+ */
42
+ static getAllMockClasses(availableClasses: ClassInfo[], mockConfig?: MockConfig): string[];
43
+ }
44
+ //# sourceMappingURL=mock-class-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-class-resolver.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/mock-class-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,SAAS,EAAE,EAC7B,UAAU,CAAC,EAAE,UAAU,GACtB,MAAM,GAAG,IAAI;IAgChB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAUjC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAiB9B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAezB;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE;CAyB3F"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockClassResolver = void 0;
4
+ /**
5
+ * Utility class for resolving mock classes based on configuration
6
+ */
7
+ class MockClassResolver {
8
+ /**
9
+ * Resolves a mock class for the given target class if mock mode is enabled
10
+ * @param targetClass The class name to find a mock for
11
+ * @param availableClasses All available classes in the project
12
+ * @param mockConfig Mock configuration from ioc.config.json
13
+ * @returns Mock class name if found, null otherwise
14
+ */
15
+ static resolveMockClass(targetClass, availableClasses, mockConfig) {
16
+ if (!mockConfig?.enabled || !mockConfig?.mockMode) {
17
+ return null;
18
+ }
19
+ // Priority 1: Explicit mock mappings
20
+ if (mockConfig.explicitMocks?.[targetClass]) {
21
+ const explicitMock = mockConfig.explicitMocks[targetClass];
22
+ // Verify the explicit mock class exists
23
+ const mockExists = availableClasses.some(c => c.name === explicitMock);
24
+ if (mockExists) {
25
+ return explicitMock;
26
+ }
27
+ }
28
+ // Priority 2: Find mock classes using glob patterns
29
+ if (mockConfig.mockClassGlobs && mockConfig.mockClassGlobs.length > 0) {
30
+ for (const globPattern of mockConfig.mockClassGlobs) {
31
+ const mockCandidates = availableClasses.filter(classInfo => this.matchesGlobPattern(classInfo.name, globPattern) &&
32
+ this.isMockForTarget(classInfo.name, targetClass));
33
+ if (mockCandidates.length > 0) {
34
+ return mockCandidates[0]?.name || null; // Return first match
35
+ }
36
+ }
37
+ }
38
+ return null; // No mock found, use original class
39
+ }
40
+ /**
41
+ * Checks if a class name matches a glob pattern
42
+ * @param className The class name to check
43
+ * @param globPattern The glob pattern (e.g., "*Mock*", "Mock*")
44
+ * @returns true if the class name matches the pattern
45
+ */
46
+ static matchesGlobPattern(className, globPattern) {
47
+ // Convert glob pattern to regex
48
+ const regexPattern = globPattern
49
+ .replace(/\*/g, '.*')
50
+ .replace(/\?/g, '.');
51
+ const regex = new RegExp(`^${regexPattern}$`, 'i');
52
+ return regex.test(className);
53
+ }
54
+ /**
55
+ * Determines if a mock class name is intended for the target class
56
+ * @param mockClassName The potential mock class name
57
+ * @param targetClassName The target class name
58
+ * @returns true if the mock is for the target
59
+ */
60
+ static isMockForTarget(mockClassName, targetClassName) {
61
+ // Remove common mock prefixes/suffixes to get the core name
62
+ const cleanMockName = mockClassName
63
+ .replace(/^Mock/i, '')
64
+ .replace(/Mock$/i, '')
65
+ .replace(/^Test/i, '')
66
+ .replace(/Test$/i, '');
67
+ // Check various matching strategies
68
+ return (cleanMockName === targetClassName ||
69
+ targetClassName.includes(cleanMockName) ||
70
+ cleanMockName.includes(targetClassName) ||
71
+ this.fuzzyMatch(cleanMockName, targetClassName));
72
+ }
73
+ /**
74
+ * Performs fuzzy matching between mock and target class names
75
+ * @param mockName Cleaned mock class name
76
+ * @param targetName Target class name
77
+ * @returns true if names are similar enough
78
+ */
79
+ static fuzzyMatch(mockName, targetName) {
80
+ // Simple fuzzy matching - check if they share significant common parts
81
+ const mockParts = mockName.toLowerCase().split(/(?=[A-Z])/);
82
+ const targetParts = targetName.toLowerCase().split(/(?=[A-Z])/);
83
+ // If they share at least 50% of parts, consider it a match
84
+ const commonParts = mockParts.filter(part => targetParts.some(targetPart => targetPart.includes(part) || part.includes(targetPart)));
85
+ return commonParts.length >= Math.min(mockParts.length, targetParts.length) * 0.5;
86
+ }
87
+ /**
88
+ * Gets all available mock classes based on configuration
89
+ * @param availableClasses All available classes
90
+ * @param mockConfig Mock configuration
91
+ * @returns Array of mock class names
92
+ */
93
+ static getAllMockClasses(availableClasses, mockConfig) {
94
+ if (!mockConfig?.enabled || !mockConfig.mockClassGlobs) {
95
+ return [];
96
+ }
97
+ const mockClasses = new Set();
98
+ // Add explicit mocks
99
+ if (mockConfig.explicitMocks) {
100
+ Object.values(mockConfig.explicitMocks).forEach(mockClass => {
101
+ if (availableClasses.some(c => c.name === mockClass)) {
102
+ mockClasses.add(mockClass);
103
+ }
104
+ });
105
+ }
106
+ // Add classes matching glob patterns
107
+ for (const globPattern of mockConfig.mockClassGlobs) {
108
+ availableClasses
109
+ .filter(classInfo => this.matchesGlobPattern(classInfo.name, globPattern))
110
+ .forEach(classInfo => mockClasses.add(classInfo.name));
111
+ }
112
+ return Array.from(mockClasses);
113
+ }
114
+ }
115
+ exports.MockClassResolver = MockClassResolver;
116
+ //# sourceMappingURL=mock-class-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-class-resolver.js","sourceRoot":"","sources":["../../../src/generator/shared/mock-class-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Utility class for generating path-based injection helpers.
3
+ * Provides TypeScript type-safe path navigation and injection utilities.
4
+ */
5
+ export declare class PathInjectionUtils {
6
+ /**
7
+ * Generates the recursive Paths type for traversing object types.
8
+ */
9
+ static generatePathsType(): string;
10
+ /**
11
+ * Generates the ContainerKey type that applies Paths to the Container type.
12
+ */
13
+ static generateContainerKeyType(): string;
14
+ /**
15
+ * Generates the GetByPath type for resolving return types using template literals.
16
+ */
17
+ static generateGetByPathType(): string;
18
+ /**
19
+ * Generates the initialization tracking variable and onInit function.
20
+ * @param customOnInitBody Optional custom body for the onInit function to preserve user changes
21
+ */
22
+ static generateInitializationCode(customOnInitBody?: string): string;
23
+ /**
24
+ * Generates the inject function with type-safe path resolution.
25
+ */
26
+ static generateInjectFunction(): string;
27
+ /**
28
+ * Generates all path-based injection utilities as a complete code block.
29
+ * @param customOnInitBody Optional custom body for the onInit function to preserve user changes
30
+ */
31
+ static generatePathInjectionUtilities(customOnInitBody?: string): string;
32
+ }
33
+ //# sourceMappingURL=path-injection-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-injection-utils.d.ts","sourceRoot":"","sources":["../../../src/generator/shared/path-injection-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAelC;;OAEG;IACH,MAAM,CAAC,wBAAwB,IAAI,MAAM;IAKzC;;OAEG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM;IAYtC;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAUpE;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM;IAmBvC;;;OAGG;IACH,MAAM,CAAC,8BAA8B,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;CAiB3E"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PathInjectionUtils = void 0;
4
+ /**
5
+ * Utility class for generating path-based injection helpers.
6
+ * Provides TypeScript type-safe path navigation and injection utilities.
7
+ */
8
+ class PathInjectionUtils {
9
+ /**
10
+ * Generates the recursive Paths type for traversing object types.
11
+ */
12
+ static generatePathsType() {
13
+ return `// 🎯 Auto-generate all possible paths using TypeScript
14
+ type Paths<T, Prefix extends string = ""> = {
15
+ [K in keyof T]: K extends string
16
+ ? T[K] extends object
17
+ ? Prefix extends ""
18
+ ? K | \`\${K}.\${Paths<T[K]>}\`
19
+ : \`\${Prefix}.\${K}\` | \`\${Prefix}.\${K}.\${Paths<T[K]>}\`
20
+ : Prefix extends ""
21
+ ? K
22
+ : \`\${Prefix}.\${K}\`
23
+ : never;
24
+ }[keyof T];`;
25
+ }
26
+ /**
27
+ * Generates the ContainerKey type that applies Paths to the Container type.
28
+ */
29
+ static generateContainerKeyType() {
30
+ return `// ✨ All container keys automatically derived!
31
+ export type ContainerKey = Paths<Container>;`;
32
+ }
33
+ /**
34
+ * Generates the GetByPath type for resolving return types using template literals.
35
+ */
36
+ static generateGetByPathType() {
37
+ return `// 🎯 Auto-resolve return types using template literals
38
+ type GetByPath<T, P extends string> =
39
+ P extends keyof T
40
+ ? T[P]
41
+ : P extends \`\${infer K}.\${infer Rest}\`
42
+ ? K extends keyof T
43
+ ? GetByPath<T[K], Rest>
44
+ : never
45
+ : never;`;
46
+ }
47
+ /**
48
+ * Generates the initialization tracking variable and onInit function.
49
+ * @param customOnInitBody Optional custom body for the onInit function to preserve user changes
50
+ */
51
+ static generateInitializationCode(customOnInitBody) {
52
+ const onInitBody = customOnInitBody || ' // TODO: Implement your post-construction logic here';
53
+ return `const CONTAINER_INIT_KEY = Symbol.for('ioc-container-initialized');
54
+
55
+ export function onInit(): void {
56
+ ${onInitBody}
57
+ }`;
58
+ }
59
+ /**
60
+ * Generates the inject function with type-safe path resolution.
61
+ */
62
+ static generateInjectFunction() {
63
+ return `export function inject<T extends ContainerKey>(key: T): GetByPath<Container, T> {
64
+ if (!(globalThis as any)[CONTAINER_INIT_KEY]) {
65
+ onInit();
66
+ (globalThis as any)[CONTAINER_INIT_KEY] = true;
67
+ }
68
+
69
+ // Parse path and traverse object
70
+ const parts = key.split('.');
71
+ let current: any = container;
72
+
73
+ for (const part of parts) {
74
+ current = current[part];
75
+ }
76
+
77
+ return current;
78
+ }`;
79
+ }
80
+ /**
81
+ * Generates all path-based injection utilities as a complete code block.
82
+ * @param customOnInitBody Optional custom body for the onInit function to preserve user changes
83
+ */
84
+ static generatePathInjectionUtilities(customOnInitBody) {
85
+ const pathsType = this.generatePathsType();
86
+ const containerKeyType = this.generateContainerKeyType();
87
+ const getByPathType = this.generateGetByPathType();
88
+ const initializationCode = this.generateInitializationCode(customOnInitBody);
89
+ const injectFunction = this.generateInjectFunction();
90
+ return `${pathsType}
91
+
92
+ ${containerKeyType}
93
+
94
+ ${getByPathType}
95
+
96
+ ${initializationCode}
97
+
98
+ ${injectFunction}`;
99
+ }
100
+ }
101
+ exports.PathInjectionUtils = PathInjectionUtils;
102
+ //# sourceMappingURL=path-injection-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-injection-utils.js","sourceRoot":"","sources":["../../../src/generator/shared/path-injection-utils.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,kBAAkB;IAC3B;;OAEG;IACH,MAAM,CAAC,iBAAiB;QACpB,OAAO;;;;;;;;;;;YAWH,CAAC;IACT,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,wBAAwB;QAC3B,OAAO;6CAC8B,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB;QACxB,OAAO;;;;;;;;eAQA,CAAC;IACZ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAAC,gBAAyB;QACvD,MAAM,UAAU,GAAG,gBAAgB,IAAI,wDAAwD,CAAC;QAEhG,OAAO;;;EAGb,UAAU;EACV,CAAC;IACC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB;QACzB,OAAO;;;;;;;;;;;;;;;EAeb,CAAC;IACC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,8BAA8B,CAAC,gBAAyB;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;QAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAErD,OAAO,GAAG,SAAS;;EAEzB,gBAAgB;;EAEhB,aAAa;;EAEb,kBAAkB;;EAElB,cAAc,EAAE,CAAC;IACf,CAAC;CACJ;AAnGD,gDAmGC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
3
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  const commander_1 = require("commander");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,yCAAoC;AACpC,kDAAsD;AACtD,gDAAoD;AACpD,oDAAwD;AAIxD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,2DAA2D,CAAC;KACxE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,0BAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,4BAAgB,CAAC,CAAC;AAErC,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,uCAAuC;AACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,kDAAsD;AACtD,gDAAoD;AACpD,oDAAwD;AAIxD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,2DAA2D,CAAC;KACxE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,0BAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,4BAAgB,CAAC,CAAC;AAErC,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,uCAAuC;AACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { MockConfig } from './configManager';
2
+ import { ClassInfo } from '../types';
3
+ /**
4
+ * Utility class for resolving mock classes based on configuration
5
+ */
6
+ export declare class MockClassResolver {
7
+ private mockConfig;
8
+ private availableClasses;
9
+ constructor(mockConfig: MockConfig, availableClasses: ClassInfo[]);
10
+ /**
11
+ * Resolves a mock class for the given target class name
12
+ * @param targetClassName - The name of the class to find a mock for
13
+ * @returns The mock class info if found, undefined otherwise
14
+ */
15
+ resolveMockClass(targetClassName: string): ClassInfo | undefined;
16
+ /**
17
+ * Checks if a class name matches any of the configured glob patterns
18
+ * @param className - The class name to check
19
+ * @returns True if the class name matches any glob pattern
20
+ */
21
+ private isMatchingGlobPattern;
22
+ /**
23
+ * Determines if a mock class is intended for a specific target class
24
+ * Uses fuzzy matching to handle various naming conventions
25
+ * @param mockClassName - The name of the mock class
26
+ * @param targetClassName - The name of the target class
27
+ * @returns True if the mock class is intended for the target class
28
+ */
29
+ private isMockForTarget;
30
+ /**
31
+ * Gets all available mock classes based on the configuration
32
+ * @returns Array of mock class info objects
33
+ */
34
+ getAllMockClasses(): ClassInfo[];
35
+ }
36
+ //# sourceMappingURL=mock-class-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-class-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/mock-class-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,gBAAgB,CAAc;gBAE1B,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE;IAKjE;;;;OAIG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAwBhE;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;OAGG;IACH,iBAAiB,IAAI,SAAS,EAAE;CAwBjC"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockClassResolver = void 0;
4
+ const minimatch_1 = require("minimatch");
5
+ /**
6
+ * Utility class for resolving mock classes based on configuration
7
+ */
8
+ class MockClassResolver {
9
+ constructor(mockConfig, availableClasses) {
10
+ this.mockConfig = mockConfig;
11
+ this.availableClasses = availableClasses;
12
+ }
13
+ /**
14
+ * Resolves a mock class for the given target class name
15
+ * @param targetClassName - The name of the class to find a mock for
16
+ * @returns The mock class info if found, undefined otherwise
17
+ */
18
+ resolveMockClass(targetClassName) {
19
+ // First check explicit mocks
20
+ if (this.mockConfig.explicitMocks) {
21
+ const explicitMock = this.mockConfig.explicitMocks[targetClassName];
22
+ if (explicitMock) {
23
+ const mockClass = this.availableClasses.find(cls => cls.name === explicitMock);
24
+ if (mockClass) {
25
+ return mockClass;
26
+ }
27
+ }
28
+ }
29
+ // Then check glob patterns
30
+ if (this.mockConfig.mockClassGlobs && this.mockConfig.mockClassGlobs.length > 0) {
31
+ for (const mockClass of this.availableClasses) {
32
+ if (this.isMatchingGlobPattern(mockClass.name) && this.isMockForTarget(mockClass.name, targetClassName)) {
33
+ return mockClass;
34
+ }
35
+ }
36
+ }
37
+ return undefined;
38
+ }
39
+ /**
40
+ * Checks if a class name matches any of the configured glob patterns
41
+ * @param className - The class name to check
42
+ * @returns True if the class name matches any glob pattern
43
+ */
44
+ isMatchingGlobPattern(className) {
45
+ if (!this.mockConfig.mockClassGlobs) {
46
+ return false;
47
+ }
48
+ return this.mockConfig.mockClassGlobs.some(pattern => (0, minimatch_1.minimatch)(className, pattern, { nocase: true }));
49
+ }
50
+ /**
51
+ * Determines if a mock class is intended for a specific target class
52
+ * Uses fuzzy matching to handle various naming conventions
53
+ * @param mockClassName - The name of the mock class
54
+ * @param targetClassName - The name of the target class
55
+ * @returns True if the mock class is intended for the target class
56
+ */
57
+ isMockForTarget(mockClassName, targetClassName) {
58
+ const mockLower = mockClassName.toLowerCase();
59
+ const targetLower = targetClassName.toLowerCase();
60
+ // Remove common mock prefixes/suffixes for comparison
61
+ const cleanMockName = mockLower
62
+ .replace(/^mock/, '')
63
+ .replace(/mock$/, '')
64
+ .replace(/^fake/, '')
65
+ .replace(/fake$/, '')
66
+ .replace(/^stub/, '')
67
+ .replace(/stub$/, '');
68
+ // Check if the cleaned mock name contains the target name
69
+ return cleanMockName.includes(targetLower) || targetLower.includes(cleanMockName);
70
+ }
71
+ /**
72
+ * Gets all available mock classes based on the configuration
73
+ * @returns Array of mock class info objects
74
+ */
75
+ getAllMockClasses() {
76
+ const mockClasses = [];
77
+ // Add explicit mocks
78
+ if (this.mockConfig.explicitMocks) {
79
+ Object.values(this.mockConfig.explicitMocks).forEach(mockClassName => {
80
+ const mockClass = this.availableClasses.find(cls => cls.name === mockClassName);
81
+ if (mockClass && !mockClasses.includes(mockClass)) {
82
+ mockClasses.push(mockClass);
83
+ }
84
+ });
85
+ }
86
+ // Add glob pattern matches
87
+ if (this.mockConfig.mockClassGlobs && this.mockConfig.mockClassGlobs.length > 0) {
88
+ this.availableClasses.forEach(cls => {
89
+ if (this.isMatchingGlobPattern(cls.name) && !mockClasses.includes(cls)) {
90
+ mockClasses.push(cls);
91
+ }
92
+ });
93
+ }
94
+ return mockClasses;
95
+ }
96
+ }
97
+ exports.MockClassResolver = MockClassResolver;
98
+ //# sourceMappingURL=mock-class-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-class-resolver.js","sourceRoot":"","sources":["../../src/utils/mock-class-resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notjustcoders/ioc-arise",
3
- "version": "1.1.6",
3
+ "version": "1.1.7",
4
4
  "description": "Arise type-safe IoC containers from your code. Zero overhead, zero coupling.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {