@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.
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/generator/index.d.ts +1 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +3 -1
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/modular/container-aggregator.d.ts +5 -0
- package/dist/generator/modular/container-aggregator.d.ts.map +1 -1
- package/dist/generator/modular/container-aggregator.js +7 -0
- package/dist/generator/modular/container-aggregator.js.map +1 -1
- package/dist/generator/modular/modular-container-generator.js +1 -1
- package/dist/generator/modular/modular-container-generator.js.map +1 -1
- package/dist/generator/modular/split-file-writer.d.ts.map +1 -1
- package/dist/generator/modular/split-file-writer.js +3 -2
- package/dist/generator/modular/split-file-writer.js.map +1 -1
- package/dist/generator/shared/container-preservation-utils.d.ts +28 -0
- package/dist/generator/shared/container-preservation-utils.d.ts.map +1 -0
- package/dist/generator/shared/container-preservation-utils.js +114 -0
- package/dist/generator/shared/container-preservation-utils.js.map +1 -0
- package/dist/generator/shared/index.d.ts +2 -0
- package/dist/generator/shared/index.d.ts.map +1 -1
- package/dist/generator/shared/index.js +2 -0
- package/dist/generator/shared/index.js.map +1 -1
- package/dist/generator/shared/instantiation-utils.d.ts +12 -0
- package/dist/generator/shared/instantiation-utils.d.ts.map +1 -1
- package/dist/generator/shared/instantiation-utils.js +30 -0
- package/dist/generator/shared/instantiation-utils.js.map +1 -1
- package/dist/generator/shared/mock-class-resolver.d.ts +44 -0
- package/dist/generator/shared/mock-class-resolver.d.ts.map +1 -0
- package/dist/generator/shared/mock-class-resolver.js +116 -0
- package/dist/generator/shared/mock-class-resolver.js.map +1 -0
- package/dist/generator/shared/path-injection-utils.d.ts +33 -0
- package/dist/generator/shared/path-injection-utils.d.ts.map +1 -0
- package/dist/generator/shared/path-injection-utils.js +102 -0
- package/dist/generator/shared/path-injection-utils.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/mock-class-resolver.d.ts +36 -0
- package/dist/utils/mock-class-resolver.d.ts.map +1 -0
- package/dist/utils/mock-class-resolver.js +98 -0
- package/dist/utils/mock-class-resolver.js.map +1 -0
- 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;
|
|
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"}
|
package/dist/errors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,+CAAyC;
|
|
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"}
|
package/dist/generator/index.js
CHANGED
|
@@ -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;
|
|
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;
|
|
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.
|
|
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;
|
|
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 =
|
|
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":";;;AAAA,2BAA8C;AAC9C,+BAAqC;AAErC,oDAAqD;AACrD,gEAAyD;
|
|
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 +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":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
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
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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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"}
|