@notjustcoders/ioc-arise 1.0.10 → 1.0.12
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/analyser/ast-parser.d.ts +1 -0
- package/dist/analyser/ast-parser.d.ts.map +1 -1
- package/dist/analyser/ast-parser.js +53 -0
- package/dist/analyser/ast-parser.js.map +1 -1
- package/dist/analyser/class-analyzer.d.ts.map +1 -1
- package/dist/analyser/class-analyzer.js +23 -8
- package/dist/analyser/class-analyzer.js.map +1 -1
- package/dist/analyser/dependency-resolver.js +4 -4
- package/dist/analyser/dependency-resolver.js.map +1 -1
- package/dist/analyser/module-dependency-resolver.js +1 -1
- package/dist/analyser/module-dependency-resolver.js.map +1 -1
- package/dist/commands/analyze.js +1 -1
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +2 -2
- package/dist/commands/generate.js.map +1 -1
- package/dist/container.gen.d.ts +20 -12
- package/dist/container.gen.d.ts.map +1 -1
- package/dist/container.gen.js +114 -80
- package/dist/container.gen.js.map +1 -1
- package/dist/generator/file-writer.d.ts +1 -0
- package/dist/generator/file-writer.d.ts.map +1 -1
- package/dist/generator/file-writer.js +3 -0
- package/dist/generator/file-writer.js.map +1 -1
- package/dist/generator/import-generator.js +2 -2
- package/dist/generator/import-generator.js.map +1 -1
- package/dist/generator/modular/modular-container-generator.d.ts +5 -0
- package/dist/generator/modular/modular-container-generator.d.ts.map +1 -1
- package/dist/generator/modular/modular-container-generator.js +17 -2
- package/dist/generator/modular/modular-container-generator.js.map +1 -1
- package/dist/generator/modular/module-dependency-resolver.js +1 -1
- package/dist/generator/modular/module-dependency-resolver.js.map +1 -1
- package/dist/generator/modular/split-file-writer.d.ts +46 -0
- package/dist/generator/modular/split-file-writer.d.ts.map +1 -0
- package/dist/generator/modular/split-file-writer.js +133 -0
- package/dist/generator/modular/split-file-writer.js.map +1 -0
- package/dist/generator/shared/instantiation-utils.d.ts.map +1 -1
- package/dist/generator/shared/instantiation-utils.js +17 -5
- package/dist/generator/shared/instantiation-utils.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/renderer/console-analysis-renderer.js +1 -1
- package/dist/renderer/console-analysis-renderer.js.map +1 -1
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/__tests__/analyser/ast-parser.test.d.ts +0 -2
- package/dist/__tests__/analyser/ast-parser.test.d.ts.map +0 -1
- package/dist/__tests__/analyser/ast-parser.test.js +0 -309
- package/dist/__tests__/analyser/ast-parser.test.js.map +0 -1
- package/dist/__tests__/analyser/class-analyzer.test.d.ts +0 -2
- package/dist/__tests__/analyser/class-analyzer.test.d.ts.map +0 -1
- package/dist/__tests__/analyser/class-analyzer.test.js +0 -323
- package/dist/__tests__/analyser/class-analyzer.test.js.map +0 -1
- package/dist/__tests__/analyser/dependency-resolver.test.d.ts +0 -2
- package/dist/__tests__/analyser/dependency-resolver.test.d.ts.map +0 -1
- package/dist/__tests__/analyser/dependency-resolver.test.js +0 -128
- package/dist/__tests__/analyser/dependency-resolver.test.js.map +0 -1
- package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.d.ts +0 -28
- package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.d.ts.map +0 -1
- package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.js +0 -222
- package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.js.map +0 -1
- package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.d.ts +0 -54
- package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.d.ts.map +0 -1
- package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.js +0 -285
- package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.js.map +0 -1
- package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.d.ts +0 -13
- package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.d.ts.map +0 -1
- package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.js +0 -266
- package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.js.map +0 -1
- package/dist/__tests__/analyser/project-analyzer.test.d.ts +0 -2
- package/dist/__tests__/analyser/project-analyzer.test.d.ts.map +0 -1
- package/dist/__tests__/analyser/project-analyzer.test.js +0 -191
- package/dist/__tests__/analyser/project-analyzer.test.js.map +0 -1
- package/dist/__tests__/generator/container-generator.test.d.ts +0 -2
- package/dist/__tests__/generator/container-generator.test.d.ts.map +0 -1
- package/dist/__tests__/generator/container-generator.test.js +0 -185
- package/dist/__tests__/generator/container-generator.test.js.map +0 -1
- package/dist/__tests__/generator/dependency-resolver.test.d.ts +0 -2
- package/dist/__tests__/generator/dependency-resolver.test.d.ts.map +0 -1
- package/dist/__tests__/generator/dependency-resolver.test.js +0 -330
- package/dist/__tests__/generator/dependency-resolver.test.js.map +0 -1
- package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.d.ts +0 -23
- package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.d.ts.map +0 -1
- package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.js +0 -254
- package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.js.map +0 -1
- package/dist/__tests__/generator/fixtures/import-generator.fixtures.d.ts +0 -10
- package/dist/__tests__/generator/fixtures/import-generator.fixtures.d.ts.map +0 -1
- package/dist/__tests__/generator/fixtures/import-generator.fixtures.js +0 -194
- package/dist/__tests__/generator/fixtures/import-generator.fixtures.js.map +0 -1
- package/dist/__tests__/generator/import-generator.test.d.ts +0 -2
- package/dist/__tests__/generator/import-generator.test.d.ts.map +0 -1
- package/dist/__tests__/generator/import-generator.test.js +0 -121
- package/dist/__tests__/generator/import-generator.test.js.map +0 -1
- package/dist/__tests__/generator/instantiation-generator.test.d.ts +0 -2
- package/dist/__tests__/generator/instantiation-generator.test.d.ts.map +0 -1
- package/dist/__tests__/generator/instantiation-generator.test.js +0 -251
- package/dist/__tests__/generator/instantiation-generator.test.js.map +0 -1
- package/dist/generator/Container-file-generator.d.ts +0 -20
- package/dist/generator/Container-file-generator.d.ts.map +0 -1
- package/dist/generator/Container-file-generator.js +0 -255
- package/dist/generator/Container-file-generator.js.map +0 -1
- package/dist/generator/base-container-code-generator.d.ts +0 -15
- package/dist/generator/base-container-code-generator.d.ts.map +0 -1
- package/dist/generator/base-container-code-generator.js +0 -23
- package/dist/generator/base-container-code-generator.js.map +0 -1
- package/dist/generator/base-dependency-resolver.d.ts +0 -26
- package/dist/generator/base-dependency-resolver.d.ts.map +0 -1
- package/dist/generator/base-dependency-resolver.js +0 -72
- package/dist/generator/base-dependency-resolver.js.map +0 -1
- package/dist/generator/base-instantiation-generator.d.ts +0 -55
- package/dist/generator/base-instantiation-generator.d.ts.map +0 -1
- package/dist/generator/base-instantiation-generator.js +0 -117
- package/dist/generator/base-instantiation-generator.js.map +0 -1
- package/dist/generator/container-generator.d.ts +0 -8
- package/dist/generator/container-generator.d.ts.map +0 -1
- package/dist/generator/container-generator.js +0 -35
- package/dist/generator/container-generator.js.map +0 -1
- package/dist/generator/dependency-resolver.d.ts +0 -11
- package/dist/generator/dependency-resolver.d.ts.map +0 -1
- package/dist/generator/dependency-resolver.js +0 -83
- package/dist/generator/dependency-resolver.js.map +0 -1
- package/dist/generator/duplicate-import-resolver.d.ts +0 -44
- package/dist/generator/duplicate-import-resolver.d.ts.map +0 -1
- package/dist/generator/duplicate-import-resolver.js +0 -162
- package/dist/generator/duplicate-import-resolver.js.map +0 -1
- package/dist/generator/flat/container-generator.d.ts +0 -8
- package/dist/generator/flat/container-generator.d.ts.map +0 -1
- package/dist/generator/flat/container-generator.js +0 -17
- package/dist/generator/flat/container-generator.js.map +0 -1
- package/dist/generator/flat/dependency-resolver.d.ts +0 -8
- package/dist/generator/flat/dependency-resolver.d.ts.map +0 -1
- package/dist/generator/flat/dependency-resolver.js +0 -43
- package/dist/generator/flat/dependency-resolver.js.map +0 -1
- package/dist/generator/flat/flat-container-generator.d.ts +0 -25
- package/dist/generator/flat/flat-container-generator.d.ts.map +0 -1
- package/dist/generator/flat/flat-container-generator.js +0 -44
- package/dist/generator/flat/flat-container-generator.js.map +0 -1
- package/dist/generator/flat/instantiation-generator.d.ts +0 -24
- package/dist/generator/flat/instantiation-generator.d.ts.map +0 -1
- package/dist/generator/flat/instantiation-generator.js +0 -125
- package/dist/generator/flat/instantiation-generator.js.map +0 -1
- package/dist/generator/flat-container-generator.d.ts +0 -25
- package/dist/generator/flat-container-generator.d.ts.map +0 -1
- package/dist/generator/flat-container-generator.js +0 -44
- package/dist/generator/flat-container-generator.js.map +0 -1
- package/dist/generator/instantiation-generator.d.ts +0 -21
- package/dist/generator/instantiation-generator.d.ts.map +0 -1
- package/dist/generator/instantiation-generator.js +0 -116
- package/dist/generator/instantiation-generator.js.map +0 -1
- package/dist/generator/modular/class-sorter.d.ts +0 -17
- package/dist/generator/modular/class-sorter.d.ts.map +0 -1
- package/dist/generator/modular/class-sorter.js +0 -40
- package/dist/generator/modular/class-sorter.js.map +0 -1
- package/dist/generator/modular/modular-container-code-generator.d.ts +0 -65
- package/dist/generator/modular/modular-container-code-generator.d.ts.map +0 -1
- package/dist/generator/modular/modular-container-code-generator.js +0 -157
- package/dist/generator/modular/modular-container-code-generator.js.map +0 -1
- package/dist/generator/modular/module-export-generator.d.ts +0 -42
- package/dist/generator/modular/module-export-generator.d.ts.map +0 -1
- package/dist/generator/modular/module-export-generator.js +0 -82
- package/dist/generator/modular/module-export-generator.js.map +0 -1
- package/dist/generator/modular/module-scope-generator.d.ts +0 -47
- package/dist/generator/modular/module-scope-generator.d.ts.map +0 -1
- package/dist/generator/modular/module-scope-generator.js +0 -111
- package/dist/generator/modular/module-scope-generator.js.map +0 -1
- package/dist/generator/modular/refactored-modular-container-generator.d.ts +0 -38
- package/dist/generator/modular/refactored-modular-container-generator.d.ts.map +0 -1
- package/dist/generator/modular/refactored-modular-container-generator.js +0 -73
- package/dist/generator/modular/refactored-modular-container-generator.js.map +0 -1
- package/dist/generator/modular-container-generator.d.ts +0 -21
- package/dist/generator/modular-container-generator.d.ts.map +0 -1
- package/dist/generator/modular-container-generator.js +0 -57
- package/dist/generator/modular-container-generator.js.map +0 -1
- package/dist/generator/module-container-function-generator.d.ts +0 -30
- package/dist/generator/module-container-function-generator.d.ts.map +0 -1
- package/dist/generator/module-container-function-generator.js +0 -199
- package/dist/generator/module-container-function-generator.js.map +0 -1
- package/dist/generator/shared/dependency-resolver-utils.d.ts +0 -28
- package/dist/generator/shared/dependency-resolver-utils.d.ts.map +0 -1
- package/dist/generator/shared/dependency-resolver-utils.js +0 -67
- package/dist/generator/shared/dependency-resolver-utils.js.map +0 -1
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const instantiation_generator_1 = require("../../generator/flat/instantiation-generator");
|
|
5
|
-
const dependency_resolver_fixtures_1 = require("./fixtures/dependency-resolver.fixtures");
|
|
6
|
-
(0, vitest_1.describe)('InstantiationGenerator', () => {
|
|
7
|
-
let instantiationGenerator;
|
|
8
|
-
(0, vitest_1.describe)('constructor', () => {
|
|
9
|
-
(0, vitest_1.it)('should create an instance with provided classes', () => {
|
|
10
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.basicManagedClasses);
|
|
11
|
-
(0, vitest_1.expect)(instantiationGenerator).toBeInstanceOf(instantiation_generator_1.InstantiationGenerator);
|
|
12
|
-
});
|
|
13
|
-
(0, vitest_1.it)('should handle empty classes array', () => {
|
|
14
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator([]);
|
|
15
|
-
(0, vitest_1.expect)(instantiationGenerator).toBeInstanceOf(instantiation_generator_1.InstantiationGenerator);
|
|
16
|
-
});
|
|
17
|
-
(0, vitest_1.it)('should initialize dependency resolver', () => {
|
|
18
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.basicManagedClasses);
|
|
19
|
-
(0, vitest_1.expect)(instantiationGenerator['dependencyResolver']).toBeDefined();
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
(0, vitest_1.describe)('generateInstantiations', () => {
|
|
23
|
-
(0, vitest_1.describe)('with singleton classes only', () => {
|
|
24
|
-
(0, vitest_1.beforeEach)(() => {
|
|
25
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.basicManagedClasses);
|
|
26
|
-
});
|
|
27
|
-
(0, vitest_1.it)('should generate singleton instantiations in correct order', () => {
|
|
28
|
-
const sortedClasses = ['UserRepository', 'UserService'];
|
|
29
|
-
const result = instantiationGenerator.generateInstantiations(sortedClasses);
|
|
30
|
-
(0, vitest_1.expect)(result).toContain('// Eager singleton instantiation');
|
|
31
|
-
(0, vitest_1.expect)(result).toContain('const userService = new UserService(userRepository);');
|
|
32
|
-
(0, vitest_1.expect)(result).toContain('const userRepository = new UserRepository();');
|
|
33
|
-
// UserRepository should be instantiated before UserService
|
|
34
|
-
const userRepoIndex = result.indexOf('const userRepository');
|
|
35
|
-
const userServiceIndex = result.indexOf('const userService');
|
|
36
|
-
(0, vitest_1.expect)(userServiceIndex).toBeLessThan(userRepoIndex);
|
|
37
|
-
});
|
|
38
|
-
(0, vitest_1.it)('should handle classes with no dependencies', () => {
|
|
39
|
-
const noDepsClasses = [
|
|
40
|
-
{
|
|
41
|
-
name: 'SimpleService',
|
|
42
|
-
filePath: '/src/services/simple.service.ts',
|
|
43
|
-
dependencies: [],
|
|
44
|
-
constructorParams: [],
|
|
45
|
-
interfaceName: 'ISimpleService',
|
|
46
|
-
importPath: './services/simple.service',
|
|
47
|
-
scope: 'singleton'
|
|
48
|
-
}
|
|
49
|
-
];
|
|
50
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(noDepsClasses);
|
|
51
|
-
const result = instantiationGenerator.generateInstantiations(['SimpleService']);
|
|
52
|
-
(0, vitest_1.expect)(result).toContain('const simpleService = new SimpleService();');
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
(0, vitest_1.describe)('with transient classes only', () => {
|
|
56
|
-
(0, vitest_1.beforeEach)(() => {
|
|
57
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.transientClasses);
|
|
58
|
-
});
|
|
59
|
-
(0, vitest_1.it)('should generate factory functions for transient classes', () => {
|
|
60
|
-
const sortedClasses = ['EmailProvider', 'EmailService'];
|
|
61
|
-
const result = instantiationGenerator.generateInstantiations(sortedClasses);
|
|
62
|
-
(0, vitest_1.expect)(result).toContain('// Lazy loading setup for transient dependencies');
|
|
63
|
-
(0, vitest_1.expect)(result).toContain('const emailServiceFactory = (): EmailService => new EmailService(emailProviderFactory());');
|
|
64
|
-
(0, vitest_1.expect)(result).toContain('const emailProviderFactory = (): EmailProvider => new EmailProvider();');
|
|
65
|
-
(0, vitest_1.expect)(result).not.toContain('// Eager singleton instantiation');
|
|
66
|
-
});
|
|
67
|
-
(0, vitest_1.it)('should handle transient classes with no dependencies', () => {
|
|
68
|
-
const transientNoDeps = [
|
|
69
|
-
{
|
|
70
|
-
name: 'TransientService',
|
|
71
|
-
filePath: '/src/services/transient.service.ts',
|
|
72
|
-
dependencies: [],
|
|
73
|
-
constructorParams: [],
|
|
74
|
-
interfaceName: 'ITransientService',
|
|
75
|
-
importPath: './services/transient.service',
|
|
76
|
-
scope: 'transient'
|
|
77
|
-
}
|
|
78
|
-
];
|
|
79
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(transientNoDeps);
|
|
80
|
-
const result = instantiationGenerator.generateInstantiations(['TransientService']);
|
|
81
|
-
(0, vitest_1.expect)(result).toContain('const transientServiceFactory = (): TransientService => new TransientService();');
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
(0, vitest_1.describe)('with mixed scope classes', () => {
|
|
85
|
-
(0, vitest_1.beforeEach)(() => {
|
|
86
|
-
// Create a mix of singleton and transient classes
|
|
87
|
-
const mixedScopeClasses = [
|
|
88
|
-
...dependency_resolver_fixtures_1.basicManagedClasses, // singletons
|
|
89
|
-
...dependency_resolver_fixtures_1.transientClasses // transients
|
|
90
|
-
];
|
|
91
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(mixedScopeClasses);
|
|
92
|
-
});
|
|
93
|
-
(0, vitest_1.it)('should generate both singleton instantiations and transient factories', () => {
|
|
94
|
-
const sortedClasses = ['UserRepository', 'UserService', 'EmailProvider', 'EmailService'];
|
|
95
|
-
const result = instantiationGenerator.generateInstantiations(sortedClasses);
|
|
96
|
-
// Should have both sections
|
|
97
|
-
(0, vitest_1.expect)(result).toContain('// Lazy loading setup for transient dependencies');
|
|
98
|
-
(0, vitest_1.expect)(result).toContain('// Eager singleton instantiation');
|
|
99
|
-
// Should have factory for transient
|
|
100
|
-
(0, vitest_1.expect)(result).toContain('const emailServiceFactory = (): EmailService => new EmailService(emailProviderFactory());');
|
|
101
|
-
(0, vitest_1.expect)(result).toContain('const emailProviderFactory = (): EmailProvider => new EmailProvider();');
|
|
102
|
-
// Should have instantiation for singletons
|
|
103
|
-
(0, vitest_1.expect)(result).toContain('const userService = new UserService(userRepository);');
|
|
104
|
-
(0, vitest_1.expect)(result).toContain('const userRepository = new UserRepository();');
|
|
105
|
-
});
|
|
106
|
-
(0, vitest_1.it)('should separate transient factories from singleton instantiations', () => {
|
|
107
|
-
const sortedClasses = ['UserRepository', 'UserService', 'EmailProvider', 'EmailService'];
|
|
108
|
-
const result = instantiationGenerator.generateInstantiations(sortedClasses);
|
|
109
|
-
const factoryIndex = result.indexOf('// Lazy loading setup');
|
|
110
|
-
const singletonIndex = result.indexOf('// Eager singleton instantiation');
|
|
111
|
-
(0, vitest_1.expect)(factoryIndex).toBeLessThan(singletonIndex);
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
(0, vitest_1.describe)('with mixed dependencies', () => {
|
|
115
|
-
(0, vitest_1.beforeEach)(() => {
|
|
116
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.mixedDependencyClasses);
|
|
117
|
-
});
|
|
118
|
-
(0, vitest_1.it)('should handle classes with mixed managed and unmanaged dependencies', () => {
|
|
119
|
-
const sortedClasses = ['UserRepository', 'UserService', 'OrderService'];
|
|
120
|
-
const result = instantiationGenerator.generateInstantiations(sortedClasses);
|
|
121
|
-
// Should properly resolve mixed dependencies
|
|
122
|
-
(0, vitest_1.expect)(result).toContain('const orderService = new OrderService(userService, new PaymentGateway(), new Logger());');
|
|
123
|
-
(0, vitest_1.expect)(result).toContain('const userService = new UserService(userRepository);');
|
|
124
|
-
(0, vitest_1.expect)(result).toContain('const userRepository = new UserRepository();');
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
(0, vitest_1.describe)('with unmanaged dependencies', () => {
|
|
128
|
-
(0, vitest_1.beforeEach)(() => {
|
|
129
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.unmanagedClassesWithParams);
|
|
130
|
-
});
|
|
131
|
-
(0, vitest_1.it)('should handle classes with unmanaged dependencies', () => {
|
|
132
|
-
const sortedClasses = ['DatabaseConnection'];
|
|
133
|
-
const result = instantiationGenerator.generateInstantiations(sortedClasses);
|
|
134
|
-
(0, vitest_1.expect)(result).toContain('const databaseConnection = new DatabaseConnection("default", 0, undefined);');
|
|
135
|
-
});
|
|
136
|
-
(0, vitest_1.it)('should generate correct default values for different types', () => {
|
|
137
|
-
const classWithMultipleTypes = [
|
|
138
|
-
{
|
|
139
|
-
name: 'TestService',
|
|
140
|
-
filePath: '/src/services/test.service.ts',
|
|
141
|
-
dependencies: [],
|
|
142
|
-
constructorParams: [
|
|
143
|
-
{
|
|
144
|
-
name: 'stringParam',
|
|
145
|
-
type: 'string',
|
|
146
|
-
isOptional: false,
|
|
147
|
-
accessModifier: 'private'
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
name: 'numberParam',
|
|
151
|
-
type: 'number',
|
|
152
|
-
isOptional: false,
|
|
153
|
-
accessModifier: 'private'
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
name: 'booleanParam',
|
|
157
|
-
type: 'boolean',
|
|
158
|
-
isOptional: false,
|
|
159
|
-
accessModifier: 'private'
|
|
160
|
-
}
|
|
161
|
-
],
|
|
162
|
-
interfaceName: 'ITestService',
|
|
163
|
-
importPath: './services/test.service',
|
|
164
|
-
scope: 'singleton'
|
|
165
|
-
}
|
|
166
|
-
];
|
|
167
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(classWithMultipleTypes);
|
|
168
|
-
const result = instantiationGenerator.generateInstantiations(['TestService']);
|
|
169
|
-
(0, vitest_1.expect)(result).toContain('const testService = new TestService("default", 0, false);');
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
(0, vitest_1.describe)('edge cases', () => {
|
|
173
|
-
(0, vitest_1.it)('should handle empty sorted classes array', () => {
|
|
174
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.basicManagedClasses);
|
|
175
|
-
const result = instantiationGenerator.generateInstantiations([]);
|
|
176
|
-
(0, vitest_1.expect)(result).toBe('');
|
|
177
|
-
});
|
|
178
|
-
(0, vitest_1.it)('should handle classes not in the sorted list', () => {
|
|
179
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.basicManagedClasses);
|
|
180
|
-
const result = instantiationGenerator.generateInstantiations(['NonExistentClass']);
|
|
181
|
-
(0, vitest_1.expect)(result).toBe('');
|
|
182
|
-
});
|
|
183
|
-
(0, vitest_1.it)('should handle circular dependencies gracefully', () => {
|
|
184
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.circularDependencyClasses);
|
|
185
|
-
const sortedClasses = ['ServiceA', 'ServiceB'];
|
|
186
|
-
const result = instantiationGenerator.generateInstantiations(sortedClasses);
|
|
187
|
-
// Should still generate instantiations even with circular dependencies
|
|
188
|
-
(0, vitest_1.expect)(result).toContain('const serviceA');
|
|
189
|
-
(0, vitest_1.expect)(result).toContain('const serviceB');
|
|
190
|
-
});
|
|
191
|
-
(0, vitest_1.it)('should handle mixed dependencies correctly', () => {
|
|
192
|
-
const mixedClasses = [
|
|
193
|
-
{
|
|
194
|
-
name: 'MixedService',
|
|
195
|
-
filePath: '/src/services/mixed.service.ts',
|
|
196
|
-
dependencies: ['IUserRepository'],
|
|
197
|
-
constructorParams: [
|
|
198
|
-
{
|
|
199
|
-
name: 'userRepository',
|
|
200
|
-
type: 'IUserRepository',
|
|
201
|
-
isOptional: false,
|
|
202
|
-
accessModifier: 'private'
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
name: 'apiUrl',
|
|
206
|
-
type: 'string',
|
|
207
|
-
isOptional: false,
|
|
208
|
-
accessModifier: 'private'
|
|
209
|
-
}
|
|
210
|
-
],
|
|
211
|
-
interfaceName: 'IMixedService',
|
|
212
|
-
importPath: './services/mixed.service',
|
|
213
|
-
scope: 'singleton'
|
|
214
|
-
},
|
|
215
|
-
...dependency_resolver_fixtures_1.basicManagedClasses
|
|
216
|
-
];
|
|
217
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(mixedClasses);
|
|
218
|
-
const result = instantiationGenerator.generateInstantiations(['UserRepository', 'MixedService']);
|
|
219
|
-
(0, vitest_1.expect)(result).toContain('const mixedService = new MixedService(userRepository, "default");');
|
|
220
|
-
});
|
|
221
|
-
});
|
|
222
|
-
(0, vitest_1.describe)('output formatting', () => {
|
|
223
|
-
(0, vitest_1.it)('should format output with proper sections and spacing', () => {
|
|
224
|
-
const mixedScopeClasses = [
|
|
225
|
-
...dependency_resolver_fixtures_1.basicManagedClasses, // singletons
|
|
226
|
-
...dependency_resolver_fixtures_1.transientClasses // transients
|
|
227
|
-
];
|
|
228
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(mixedScopeClasses);
|
|
229
|
-
const sortedClasses = ['UserRepository', 'UserService', 'EmailProvider', 'EmailService'];
|
|
230
|
-
const result = instantiationGenerator.generateInstantiations(sortedClasses);
|
|
231
|
-
const lines = result.split('\n');
|
|
232
|
-
// Should have proper section headers
|
|
233
|
-
(0, vitest_1.expect)(lines).toContain('// Lazy loading setup for transient dependencies');
|
|
234
|
-
(0, vitest_1.expect)(lines).toContain('// Eager singleton instantiation');
|
|
235
|
-
// Should have empty line between sections
|
|
236
|
-
const factoryHeaderIndex = lines.indexOf('// Lazy loading setup for transient dependencies');
|
|
237
|
-
const singletonHeaderIndex = lines.indexOf('// Eager singleton instantiation');
|
|
238
|
-
(0, vitest_1.expect)(lines[singletonHeaderIndex - 1]).toBe('');
|
|
239
|
-
});
|
|
240
|
-
(0, vitest_1.it)('should generate proper variable names', () => {
|
|
241
|
-
instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(dependency_resolver_fixtures_1.basicManagedClasses);
|
|
242
|
-
const result = instantiationGenerator.generateInstantiations(['UserService', 'UserRepository']);
|
|
243
|
-
(0, vitest_1.expect)(result).toContain('const userService');
|
|
244
|
-
(0, vitest_1.expect)(result).toContain('const userRepository');
|
|
245
|
-
(0, vitest_1.expect)(result).not.toContain('const UserService');
|
|
246
|
-
(0, vitest_1.expect)(result).not.toContain('const UserRepository');
|
|
247
|
-
});
|
|
248
|
-
});
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
//# sourceMappingURL=instantiation-generator.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"instantiation-generator.test.js","sourceRoot":"","sources":["../../../src/__tests__/generator/instantiation-generator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { GeneratorOptions } from '../types';
|
|
2
|
-
export declare class ContainerFileGenerator {
|
|
3
|
-
private dependencyResolver;
|
|
4
|
-
private importGenerator;
|
|
5
|
-
private instantiationGenerator;
|
|
6
|
-
private containerCodeGenerator;
|
|
7
|
-
private fileWriter;
|
|
8
|
-
private moduleGroupedClasses?;
|
|
9
|
-
constructor(options: GeneratorOptions);
|
|
10
|
-
generateContainer(): void;
|
|
11
|
-
generateModularContainer(): void;
|
|
12
|
-
private generateContainerCode;
|
|
13
|
-
private generateModularContainerCode;
|
|
14
|
-
private generateModuleContainers;
|
|
15
|
-
private generateAggregatedContainer;
|
|
16
|
-
private generateModularTypeExport;
|
|
17
|
-
private camelCase;
|
|
18
|
-
private sortClassesByDependencies;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=Container-file-generator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Container-file-generator.d.ts","sourceRoot":"","sources":["../../src/generator/Container-file-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAa,MAAM,UAAU,CAAC;AAOvD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,oBAAoB,CAAC,CAA2B;gBAE5C,OAAO,EAAE,gBAAgB;IAsBrC,iBAAiB,IAAI,IAAI;IAWzB,wBAAwB,IAAI,IAAI;IA0BhC,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,wBAAwB;IAyJhC,OAAO,CAAC,2BAA2B;IAcnC,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,yBAAyB;CAqClC"}
|
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ContainerFileGenerator = void 0;
|
|
4
|
-
const dependency_resolver_1 = require("../analyser/dependency-resolver");
|
|
5
|
-
const module_dependency_resolver_1 = require("../analyser/module-dependency-resolver");
|
|
6
|
-
const container_generator_1 = require("./container-generator");
|
|
7
|
-
const file_writer_1 = require("./file-writer");
|
|
8
|
-
const import_generator_1 = require("./import-generator");
|
|
9
|
-
const instantiation_generator_1 = require("./instantiation-generator");
|
|
10
|
-
class ContainerFileGenerator {
|
|
11
|
-
constructor(options) {
|
|
12
|
-
if (options.classes) {
|
|
13
|
-
// Backward compatibility mode
|
|
14
|
-
this.dependencyResolver = new dependency_resolver_1.DependencyResolver(options.classes);
|
|
15
|
-
this.importGenerator = new import_generator_1.ImportGenerator(options.classes);
|
|
16
|
-
this.instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(options.classes);
|
|
17
|
-
this.containerCodeGenerator = new container_generator_1.ContainerGenerator(options.classes);
|
|
18
|
-
}
|
|
19
|
-
else if (options.moduleGroupedClasses) {
|
|
20
|
-
// Module mode
|
|
21
|
-
this.moduleGroupedClasses = options.moduleGroupedClasses;
|
|
22
|
-
// Flatten classes for existing generators (temporary solution)
|
|
23
|
-
const allClasses = Array.from(options.moduleGroupedClasses.values()).flat();
|
|
24
|
-
this.dependencyResolver = new dependency_resolver_1.DependencyResolver(allClasses);
|
|
25
|
-
this.importGenerator = new import_generator_1.ImportGenerator(allClasses);
|
|
26
|
-
this.instantiationGenerator = new instantiation_generator_1.InstantiationGenerator(allClasses);
|
|
27
|
-
this.containerCodeGenerator = new container_generator_1.ContainerGenerator(allClasses);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
throw new Error('Either classes or moduleGroupedClasses must be provided');
|
|
31
|
-
}
|
|
32
|
-
this.fileWriter = new file_writer_1.FileWriter(options.outputPath);
|
|
33
|
-
}
|
|
34
|
-
generateContainer() {
|
|
35
|
-
const sortResult = this.dependencyResolver.resolve();
|
|
36
|
-
if (sortResult.cycles.length > 0) {
|
|
37
|
-
throw new Error(`Circular dependencies detected: ${JSON.stringify(sortResult.cycles)}`);
|
|
38
|
-
}
|
|
39
|
-
const containerCode = this.generateContainerCode(sortResult.sorted);
|
|
40
|
-
this.fileWriter.writeContainer(containerCode);
|
|
41
|
-
}
|
|
42
|
-
generateModularContainer() {
|
|
43
|
-
if (!this.moduleGroupedClasses) {
|
|
44
|
-
throw new Error('Module grouped classes not provided for modular container generation');
|
|
45
|
-
}
|
|
46
|
-
// First, check for module-level cycles
|
|
47
|
-
const moduleDependencyResolver = new module_dependency_resolver_1.ModuleDependencyResolver(this.moduleGroupedClasses);
|
|
48
|
-
const moduleResult = moduleDependencyResolver.resolve();
|
|
49
|
-
if (moduleResult.cycles.length > 0) {
|
|
50
|
-
throw new Error(`Circular dependencies detected between modules: ${JSON.stringify(moduleResult.cycles)}`);
|
|
51
|
-
}
|
|
52
|
-
// Then resolve class-level dependencies within each module
|
|
53
|
-
const allClasses = Array.from(this.moduleGroupedClasses.values()).flat();
|
|
54
|
-
const dependencyResolver = new dependency_resolver_1.DependencyResolver(allClasses);
|
|
55
|
-
const sortResult = dependencyResolver.resolve();
|
|
56
|
-
if (sortResult.cycles.length > 0) {
|
|
57
|
-
throw new Error(`Circular dependencies detected within classes: ${JSON.stringify(sortResult.cycles)}`);
|
|
58
|
-
}
|
|
59
|
-
const containerCode = this.generateModularContainerCode(sortResult.sorted, moduleResult.sortedModules, moduleResult.moduleDependencies);
|
|
60
|
-
this.fileWriter.writeContainer(containerCode);
|
|
61
|
-
}
|
|
62
|
-
generateContainerCode(sortedClasses) {
|
|
63
|
-
const imports = this.importGenerator.generateImports();
|
|
64
|
-
const instantiations = this.instantiationGenerator.generateInstantiations(sortedClasses);
|
|
65
|
-
const containerObject = this.containerCodeGenerator.generateContainerObject();
|
|
66
|
-
const typeExport = this.containerCodeGenerator.generateTypeExport();
|
|
67
|
-
return `${imports}\n\n${instantiations}\n\n${containerObject}\n\n${typeExport}\n`;
|
|
68
|
-
}
|
|
69
|
-
generateModularContainerCode(sortedClasses, sortedModules, moduleDependencies) {
|
|
70
|
-
console.log("sorted modules", sortedModules);
|
|
71
|
-
const imports = this.importGenerator.generateImports();
|
|
72
|
-
const moduleContainers = this.generateModuleContainers(sortedModules, moduleDependencies);
|
|
73
|
-
const aggregatedContainer = this.generateAggregatedContainer(sortedModules);
|
|
74
|
-
const typeExport = this.generateModularTypeExport();
|
|
75
|
-
return `${imports}\n\n${moduleContainers}\n\n${aggregatedContainer}\n\n${typeExport}\n`;
|
|
76
|
-
}
|
|
77
|
-
generateModuleContainers(sortedModules, moduleDependencies) {
|
|
78
|
-
if (!this.moduleGroupedClasses)
|
|
79
|
-
return '';
|
|
80
|
-
const moduleContainerCodes = [];
|
|
81
|
-
const moduleContainerFunctions = [];
|
|
82
|
-
// Generate module container functions in dependency order
|
|
83
|
-
for (const moduleName of sortedModules) {
|
|
84
|
-
const moduleClasses = this.moduleGroupedClasses.get(moduleName);
|
|
85
|
-
if (!moduleClasses)
|
|
86
|
-
continue;
|
|
87
|
-
const moduleFunctionName = `create${moduleName}Container`;
|
|
88
|
-
const moduleExports = [];
|
|
89
|
-
const moduleDeps = moduleDependencies.get(moduleName) || new Set();
|
|
90
|
-
// Generate function parameters for dependent modules
|
|
91
|
-
const functionParams = [];
|
|
92
|
-
for (const depModule of moduleDeps) {
|
|
93
|
-
const depVarName = this.camelCase(depModule) + 'Container';
|
|
94
|
-
functionParams.push(`${depVarName}: ReturnType<typeof create${depModule}Container>`);
|
|
95
|
-
}
|
|
96
|
-
// Generate lazy initialization variables and factory functions
|
|
97
|
-
const lazyInitializations = [];
|
|
98
|
-
const factoryFunctions = [];
|
|
99
|
-
// First, create factory functions for transient dependencies
|
|
100
|
-
for (const classInfo of moduleClasses) {
|
|
101
|
-
if (classInfo.scope === 'transient') {
|
|
102
|
-
const instanceName = this.camelCase(classInfo.name);
|
|
103
|
-
const factoryName = `${instanceName}Factory`;
|
|
104
|
-
factoryFunctions.push(` const ${factoryName} = (): ${classInfo.name} => new ${classInfo.name}();`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
// Sort singleton classes by their dependencies within the module
|
|
108
|
-
const singletonClasses = moduleClasses.filter(c => c.scope !== 'transient');
|
|
109
|
-
const sortedSingletons = this.sortClassesByDependencies(singletonClasses, moduleClasses);
|
|
110
|
-
// Generate lazy initialization variables for singletons
|
|
111
|
-
for (const classInfo of sortedSingletons) {
|
|
112
|
-
const instanceName = this.camelCase(classInfo.name);
|
|
113
|
-
lazyInitializations.push(` let ${instanceName}: ${classInfo.name} | undefined;`);
|
|
114
|
-
}
|
|
115
|
-
// Generate lazy getter functions for singletons
|
|
116
|
-
const lazyGetters = [];
|
|
117
|
-
for (const classInfo of sortedSingletons) {
|
|
118
|
-
const instanceName = this.camelCase(classInfo.name);
|
|
119
|
-
const getterName = `get${classInfo.name}`;
|
|
120
|
-
const constructorArgs = [];
|
|
121
|
-
// Build constructor arguments
|
|
122
|
-
for (const dep of classInfo.dependencies) {
|
|
123
|
-
// Check if dependency is from another module
|
|
124
|
-
let foundInOtherModule = false;
|
|
125
|
-
for (const depModule of moduleDeps) {
|
|
126
|
-
const depModuleClasses = this.moduleGroupedClasses.get(depModule);
|
|
127
|
-
if (depModuleClasses) {
|
|
128
|
-
const depClass = depModuleClasses.find(c => c.interfaceName === dep);
|
|
129
|
-
if (depClass) {
|
|
130
|
-
const depModuleVarName = this.camelCase(depModule) + 'Container';
|
|
131
|
-
constructorArgs.push(`${depModuleVarName}.${dep}`);
|
|
132
|
-
foundInOtherModule = true;
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
// If not found in other modules, it's from the same module
|
|
138
|
-
if (!foundInOtherModule) {
|
|
139
|
-
const depClass = moduleClasses.find(c => c.interfaceName === dep);
|
|
140
|
-
if (depClass) {
|
|
141
|
-
if (depClass.scope === 'transient') {
|
|
142
|
-
const depInstanceName = this.camelCase(depClass.name);
|
|
143
|
-
constructorArgs.push(`${depInstanceName}Factory()`);
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
const depGetterName = `get${depClass.name}`;
|
|
147
|
-
constructorArgs.push(`${depGetterName}()`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
const instantiation = constructorArgs.length > 0 ?
|
|
153
|
-
`new ${classInfo.name}(${constructorArgs.join(', ')})` :
|
|
154
|
-
`new ${classInfo.name}()`;
|
|
155
|
-
const lazyGetter = ` const ${getterName} = (): ${classInfo.name} => {\n if (!${instanceName}) {\n ${instanceName} = ${instantiation};\n }\n return ${instanceName};\n };`;
|
|
156
|
-
lazyGetters.push(lazyGetter);
|
|
157
|
-
}
|
|
158
|
-
// Generate module exports
|
|
159
|
-
for (const classInfo of moduleClasses) {
|
|
160
|
-
if (classInfo.interfaceName) {
|
|
161
|
-
const instanceName = this.camelCase(classInfo.name);
|
|
162
|
-
const isTransient = classInfo.scope === 'transient';
|
|
163
|
-
if (isTransient) {
|
|
164
|
-
moduleExports.push(` get ${classInfo.interfaceName}(): ${classInfo.name} {\n return ${instanceName}Factory();\n }`);
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
const getterName = `get${classInfo.name}`;
|
|
168
|
-
moduleExports.push(` get ${classInfo.interfaceName}(): ${classInfo.name} {\n return ${getterName}();\n }`);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
const functionSignature = functionParams.length > 0 ?
|
|
173
|
-
`function ${moduleFunctionName}(${functionParams.join(', ')})` :
|
|
174
|
-
`function ${moduleFunctionName}()`;
|
|
175
|
-
const returnObject = moduleExports.length > 0 ?
|
|
176
|
-
` return {\n${moduleExports.join(',\n')}\n };` :
|
|
177
|
-
' return {};';
|
|
178
|
-
const functionBody = [
|
|
179
|
-
...factoryFunctions,
|
|
180
|
-
'',
|
|
181
|
-
...lazyInitializations,
|
|
182
|
-
'',
|
|
183
|
-
...lazyGetters,
|
|
184
|
-
'',
|
|
185
|
-
returnObject
|
|
186
|
-
].filter(line => line !== '' || factoryFunctions.length > 0 || lazyInitializations.length > 0 || lazyGetters.length > 0).join('\n');
|
|
187
|
-
const moduleContainerFunction = `${functionSignature} {\n${functionBody}\n}`;
|
|
188
|
-
moduleContainerFunctions.push(moduleContainerFunction);
|
|
189
|
-
}
|
|
190
|
-
// Sort modules by dependencies and generate instantiations
|
|
191
|
-
for (const moduleName of sortedModules) {
|
|
192
|
-
const moduleVarName = this.camelCase(moduleName) + 'Container';
|
|
193
|
-
const moduleFunctionName = `create${moduleName}Container`;
|
|
194
|
-
const moduleDeps = moduleDependencies.get(moduleName) || new Set();
|
|
195
|
-
const functionArgs = [];
|
|
196
|
-
for (const depModule of moduleDeps) {
|
|
197
|
-
const depVarName = this.camelCase(depModule) + 'Container';
|
|
198
|
-
functionArgs.push(depVarName);
|
|
199
|
-
}
|
|
200
|
-
const moduleInstantiation = functionArgs.length > 0 ?
|
|
201
|
-
`const ${moduleVarName} = ${moduleFunctionName}(${functionArgs.join(', ')});` :
|
|
202
|
-
`const ${moduleVarName} = ${moduleFunctionName}();`;
|
|
203
|
-
moduleContainerCodes.push(moduleInstantiation);
|
|
204
|
-
}
|
|
205
|
-
return moduleContainerFunctions.join('\n\n') + '\n\n' + moduleContainerCodes.join('\n');
|
|
206
|
-
}
|
|
207
|
-
generateAggregatedContainer(sortedModules) {
|
|
208
|
-
if (!this.moduleGroupedClasses)
|
|
209
|
-
return '';
|
|
210
|
-
const moduleExports = [];
|
|
211
|
-
for (const moduleName of sortedModules) {
|
|
212
|
-
const moduleVarName = this.camelCase(moduleName) + 'Container';
|
|
213
|
-
const moduleKey = this.camelCase(moduleName);
|
|
214
|
-
moduleExports.push(` ${moduleKey}: ${moduleVarName}`);
|
|
215
|
-
}
|
|
216
|
-
return `export const container = {\n${moduleExports.join(',\n')}\n};`;
|
|
217
|
-
}
|
|
218
|
-
generateModularTypeExport() {
|
|
219
|
-
return 'export type Container = typeof container;';
|
|
220
|
-
}
|
|
221
|
-
camelCase(str) {
|
|
222
|
-
return str.charAt(0).toLowerCase() + str.slice(1).replace(/[^a-zA-Z0-9]/g, '');
|
|
223
|
-
}
|
|
224
|
-
sortClassesByDependencies(classes, allModuleClasses) {
|
|
225
|
-
const sorted = [];
|
|
226
|
-
const visited = new Set();
|
|
227
|
-
const visiting = new Set();
|
|
228
|
-
const visit = (classInfo) => {
|
|
229
|
-
if (visiting.has(classInfo.name)) {
|
|
230
|
-
// Circular dependency detected, just add it
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
if (visited.has(classInfo.name)) {
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
visiting.add(classInfo.name);
|
|
237
|
-
// Visit dependencies first (only within the same module)
|
|
238
|
-
for (const dep of classInfo.dependencies) {
|
|
239
|
-
const depClass = allModuleClasses.find(c => c.interfaceName === dep && c.scope !== 'transient');
|
|
240
|
-
if (depClass && classes.includes(depClass)) {
|
|
241
|
-
visit(depClass);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
visiting.delete(classInfo.name);
|
|
245
|
-
visited.add(classInfo.name);
|
|
246
|
-
sorted.push(classInfo);
|
|
247
|
-
};
|
|
248
|
-
for (const classInfo of classes) {
|
|
249
|
-
visit(classInfo);
|
|
250
|
-
}
|
|
251
|
-
return sorted;
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
exports.ContainerFileGenerator = ContainerFileGenerator;
|
|
255
|
-
//# sourceMappingURL=Container-file-generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Container-file-generator.js","sourceRoot":"","sources":["../../src/generator/Container-file-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base class for container code generators.
|
|
3
|
-
* Contains common functionality for generating container objects and type exports.
|
|
4
|
-
*/
|
|
5
|
-
export declare abstract class BaseContainerCodeGenerator {
|
|
6
|
-
/**
|
|
7
|
-
* Generates the type export for the container.
|
|
8
|
-
*/
|
|
9
|
-
generateTypeExport(): string;
|
|
10
|
-
/**
|
|
11
|
-
* Utility method to convert strings to camelCase.
|
|
12
|
-
*/
|
|
13
|
-
protected camelCase(str: string): string;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=base-container-code-generator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-container-code-generator.d.ts","sourceRoot":"","sources":["../../src/generator/base-container-code-generator.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,8BAAsB,0BAA0B;IAC9C;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGzC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseContainerCodeGenerator = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Base class for container code generators.
|
|
6
|
-
* Contains common functionality for generating container objects and type exports.
|
|
7
|
-
*/
|
|
8
|
-
class BaseContainerCodeGenerator {
|
|
9
|
-
/**
|
|
10
|
-
* Generates the type export for the container.
|
|
11
|
-
*/
|
|
12
|
-
generateTypeExport() {
|
|
13
|
-
return 'export type Container = typeof container;';
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Utility method to convert strings to camelCase.
|
|
17
|
-
*/
|
|
18
|
-
camelCase(str) {
|
|
19
|
-
return str.charAt(0).toLowerCase() + str.slice(1).replace(/[^a-zA-Z0-9]/g, '');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.BaseContainerCodeGenerator = BaseContainerCodeGenerator;
|
|
23
|
-
//# sourceMappingURL=base-container-code-generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-container-code-generator.js","sourceRoot":"","sources":["../../src/generator/base-container-code-generator.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAsB,0BAA0B;IAC9C;;OAEG;IACH,kBAAkB;QAChB,OAAO,2CAA2C,CAAC;IACrD,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,GAAW;QAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;CACF;AAdD,gEAcC"}
|