@notjustcoders/ioc-arise 1.1.31 → 1.1.32
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/README.md +58 -1
- package/dist/analyser/ast-parser.d.ts +8 -0
- package/dist/analyser/ast-parser.d.ts.map +1 -1
- package/dist/analyser/ast-parser.js +45 -1
- 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 +11 -1
- package/dist/analyser/class-analyzer.js.map +1 -1
- package/dist/analyser/external-types.test.d.ts +10 -0
- package/dist/analyser/external-types.test.d.ts.map +1 -0
- package/dist/analyser/external-types.test.js +222 -0
- package/dist/analyser/external-types.test.js.map +1 -0
- package/dist/analyser/factory-analyzer.d.ts.map +1 -1
- package/dist/analyser/factory-analyzer.js +16 -4
- package/dist/analyser/factory-analyzer.js.map +1 -1
- package/dist/generator/ioc-container-generator.d.ts.map +1 -1
- package/dist/generator/ioc-container-generator.js +34 -36
- package/dist/generator/ioc-container-generator.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -13,6 +13,7 @@ A command-line tool that automatically generates type-safe IoC (Inversion of Con
|
|
|
13
13
|
- [Examples](#examples)
|
|
14
14
|
- [Basic Example](#basic-example)
|
|
15
15
|
- [Instance Factories](#instance-factories)
|
|
16
|
+
- [External & Monorepo Types](#external--monorepo-types)
|
|
16
17
|
- [Usage in Your Code](#usage-in-your-code)
|
|
17
18
|
- [Development](#development)
|
|
18
19
|
- [Limitations](#limitations)
|
|
@@ -29,6 +30,7 @@ A command-line tool that automatically generates type-safe IoC (Inversion of Con
|
|
|
29
30
|
- 🔌 **Instance Factories**: Functions with an explicit interface return type automatically act as implementation providers for that interface
|
|
30
31
|
- 💎 **Value Objects**: Supports `@value`-annotated constants registered with `useValue`
|
|
31
32
|
- 📦 **Modular Containers**: Generates per-module files with `ContainerModule` for large projects
|
|
33
|
+
- 🌐 **External Package Types**: Constructor and factory parameters typed with interfaces from external npm packages or sibling monorepo packages are correctly resolved using the TypeScript symbol name as the DI token
|
|
32
34
|
|
|
33
35
|
## Installation
|
|
34
36
|
|
|
@@ -190,6 +192,61 @@ container.register('IUserRepository', {
|
|
|
190
192
|
|
|
191
193
|
> **Uniqueness rule**: an interface can have at most one implementation provider — either a class that `implements` it, or an instance factory that returns it. Registering both throws an error at generation time.
|
|
192
194
|
|
|
195
|
+
### External & Monorepo Types
|
|
196
|
+
|
|
197
|
+
Dependencies typed with interfaces from external npm packages or sibling monorepo packages are fully supported. The TypeScript symbol name is used as the DI token — the same convention as for local interfaces.
|
|
198
|
+
|
|
199
|
+
**Shape 1 — Direct external import:**
|
|
200
|
+
|
|
201
|
+
```typescript
|
|
202
|
+
// services/OrderService.ts
|
|
203
|
+
import type { IPaymentGateway } from '@payments/sdk';
|
|
204
|
+
import type { IOrderService } from './IOrderService';
|
|
205
|
+
|
|
206
|
+
export class OrderService implements IOrderService {
|
|
207
|
+
constructor(private gateway: IPaymentGateway) {}
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Generated registration:
|
|
212
|
+
|
|
213
|
+
```typescript
|
|
214
|
+
container.register('IOrderService', {
|
|
215
|
+
useClass: OrderService,
|
|
216
|
+
dependencies: ['IPaymentGateway'],
|
|
217
|
+
lifecycle: Lifecycle.Singleton,
|
|
218
|
+
});
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Shape 2 — Local re-export stub (common monorepo pattern):**
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
// src/ports/ITombstoneRepository.ts — re-export stub
|
|
225
|
+
export type { ITombstoneRepository } from '@word-tracker/sync';
|
|
226
|
+
|
|
227
|
+
// src/PermanentlyDeleteWordUseCase.ts — factory using it
|
|
228
|
+
import type { IWordEntryRepository } from './IWordEntryRepository'; // local
|
|
229
|
+
import type { ITombstoneRepository } from './ports/ITombstoneRepository'; // re-export stub
|
|
230
|
+
|
|
231
|
+
/** @factory */
|
|
232
|
+
export function createPermanentlyDeleteWordUseCase(deps: {
|
|
233
|
+
wordEntryRepository: IWordEntryRepository;
|
|
234
|
+
tombstoneRepository: ITombstoneRepository;
|
|
235
|
+
}) { ... }
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Generated registration:
|
|
239
|
+
|
|
240
|
+
```typescript
|
|
241
|
+
container.register('createPermanentlyDeleteWordUseCase', {
|
|
242
|
+
useFactory: (wordEntryRepository, tombstoneRepository) =>
|
|
243
|
+
createPermanentlyDeleteWordUseCase({ wordEntryRepository, tombstoneRepository }),
|
|
244
|
+
dependencies: ['IWordEntryRepository', 'ITombstoneRepository'],
|
|
245
|
+
});
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
The token for the external type (`ITombstoneRepository`) is the TypeScript symbol name. You are responsible for registering a concrete implementation under that token elsewhere (e.g., in another module).
|
|
249
|
+
|
|
193
250
|
## Usage in Your Code
|
|
194
251
|
|
|
195
252
|
```typescript
|
|
@@ -213,7 +270,7 @@ pnpm run build
|
|
|
213
270
|
|
|
214
271
|
## Limitations
|
|
215
272
|
|
|
216
|
-
- Constructor parameters
|
|
273
|
+
- Constructor parameters typed with non-interface types (e.g., concrete classes from external packages) are not auto-resolved
|
|
217
274
|
- Circular dependencies are detected and warned about
|
|
218
275
|
- Only analyzes TypeScript files (`.ts` extension)
|
|
219
276
|
|
|
@@ -27,5 +27,13 @@ export declare class ASTParser {
|
|
|
27
27
|
extractValueName(valueNode: any): string | undefined;
|
|
28
28
|
extractValueType(valueNode: any): string | undefined;
|
|
29
29
|
isExportedValue(valueNode: any): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Finds names that are re-exported from external (non-relative) packages.
|
|
32
|
+
* Handles: export type { IFoo, IBar } from 'some-package'
|
|
33
|
+
* export { IFoo } from 'some-package'
|
|
34
|
+
* These names should be treated as valid DI tokens even though they have no
|
|
35
|
+
* local declaration.
|
|
36
|
+
*/
|
|
37
|
+
extractExternalReExports(root: any): string[];
|
|
30
38
|
}
|
|
31
39
|
//# sourceMappingURL=ast-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-parser.d.ts","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMhE,qBAAa,SAAS;IACpB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG;IAYhC,iCAAiC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQnD,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQ7C,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IA0BhC,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAuBpD,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIxD,sBAAsB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAI1D,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAMxC,4BAA4B,CAAC,SAAS,EAAE,GAAG,GAAG,oBAAoB,EAAE;IA+EpE,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAoE5D,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,cAAc;IAIlG,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IA4ClD,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ast-parser.d.ts","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMhE,qBAAa,SAAS;IACpB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG;IAYhC,iCAAiC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQnD,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQ7C,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IA0BhC,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAuBpD,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIxD,sBAAsB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAI1D,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAMxC,4BAA4B,CAAC,SAAS,EAAE,GAAG,GAAG,oBAAoB,EAAE;IA+EpE,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAoE5D,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,cAAc;IAIlG,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IA4ClD,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IA4DrD,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE;IA+CtC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IA2FlC,mBAAmB,CAAC,YAAY,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAuE1D,yBAAyB,CAAC,YAAY,EAAE,GAAG,GAAG,oBAAoB,EAAE;IAuEpE,2BAA2B,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;IAsCnG,yBAAyB,CAAC,YAAY,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAkBhE,kBAAkB,CAAC,YAAY,EAAE,GAAG,GAAG,OAAO;IA0B9C,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAwDvC,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAkCpD,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IA8CpD,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IA8BxC;;;;;;OAMG;IACH,wBAAwB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE;CAoC9C"}
|
|
@@ -267,7 +267,8 @@ class ASTParser {
|
|
|
267
267
|
const importPath = pathMatch[1];
|
|
268
268
|
// Handle different import patterns
|
|
269
269
|
// Named imports: import { A, B } from './path'
|
|
270
|
-
|
|
270
|
+
// Also handles: import type { A, B } from './path'
|
|
271
|
+
const namedImportsMatch = importText.match(/import(?:\s+type)?\s*{\s*([^}]+)\s*}\s*from/);
|
|
271
272
|
if (namedImportsMatch) {
|
|
272
273
|
const namedImports = namedImportsMatch[1].split(',');
|
|
273
274
|
for (const namedImport of namedImports) {
|
|
@@ -771,6 +772,49 @@ class ASTParser {
|
|
|
771
772
|
return false;
|
|
772
773
|
}
|
|
773
774
|
}
|
|
775
|
+
/**
|
|
776
|
+
* Finds names that are re-exported from external (non-relative) packages.
|
|
777
|
+
* Handles: export type { IFoo, IBar } from 'some-package'
|
|
778
|
+
* export { IFoo } from 'some-package'
|
|
779
|
+
* These names should be treated as valid DI tokens even though they have no
|
|
780
|
+
* local declaration.
|
|
781
|
+
*/
|
|
782
|
+
extractExternalReExports(root) {
|
|
783
|
+
const names = [];
|
|
784
|
+
try {
|
|
785
|
+
const exportStatements = root.findAll({
|
|
786
|
+
rule: { kind: 'export_statement' }
|
|
787
|
+
});
|
|
788
|
+
for (const exportNode of exportStatements) {
|
|
789
|
+
const text = exportNode.text();
|
|
790
|
+
// Only care about re-exports (must have a `from` clause)
|
|
791
|
+
const fromMatch = text.match(/from\s+['"]([^'"]+)['"]/);
|
|
792
|
+
if (!fromMatch)
|
|
793
|
+
continue;
|
|
794
|
+
const fromPath = fromMatch[1];
|
|
795
|
+
// Skip local re-exports (they will be resolved by following the local file)
|
|
796
|
+
if (fromPath.startsWith('.'))
|
|
797
|
+
continue;
|
|
798
|
+
// Extract named exports: export [type] { X, Y as Z } from ...
|
|
799
|
+
const namedMatch = text.match(/export\s+(?:type\s+)?\{\s*([^}]+)\s*\}/);
|
|
800
|
+
if (!namedMatch)
|
|
801
|
+
continue;
|
|
802
|
+
const parts = namedMatch[1].split(',');
|
|
803
|
+
for (const part of parts) {
|
|
804
|
+
const trimmed = part.trim();
|
|
805
|
+
if (!trimmed)
|
|
806
|
+
continue;
|
|
807
|
+
// 'OriginalName as LocalName' → use LocalName (the exported symbol)
|
|
808
|
+
const aliasMatch = trimmed.match(/^(\w+)\s+as\s+(\w+)$/);
|
|
809
|
+
names.push(aliasMatch ? aliasMatch[2] : trimmed);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
catch (error) {
|
|
814
|
+
logger_1.Logger.warn('Warning: Could not extract external re-exports:', { error });
|
|
815
|
+
}
|
|
816
|
+
return names;
|
|
817
|
+
}
|
|
774
818
|
}
|
|
775
819
|
exports.ASTParser = ASTParser;
|
|
776
820
|
//# sourceMappingURL=ast-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwD,MAAM,UAAU,CAAC;AAM3F,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAMlD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"class-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwD,MAAM,UAAU,CAAC;AAM3F,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAMlD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IA0C/H,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAsExM,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAWpI,kBAAkB;IAoKhC,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,mBAAmB;IAuC3B,OAAO,CAAC,kBAAkB;CAM3B"}
|
|
@@ -27,6 +27,9 @@ class ClassAnalyzer {
|
|
|
27
27
|
for (const [alias] of typeAliases.entries()) {
|
|
28
28
|
interfaces.add(alias);
|
|
29
29
|
}
|
|
30
|
+
// Collect names re-exported from external packages (e.g. from a monorepo sibling)
|
|
31
|
+
const externalReExports = this.astParser.extractExternalReExports(root);
|
|
32
|
+
externalReExports.forEach(name => interfaces.add(name));
|
|
30
33
|
// Collect class names and abstract classes
|
|
31
34
|
const classNodes = this.astParser.findAllClasses(root);
|
|
32
35
|
for (const classNode of classNodes) {
|
|
@@ -63,6 +66,9 @@ class ClassAnalyzer {
|
|
|
63
66
|
// Collect interfaces
|
|
64
67
|
const interfaces = this.astParser.extractInterfaces(root);
|
|
65
68
|
interfaces.forEach(interfaceName => allInterfaces.add(interfaceName));
|
|
69
|
+
// Collect names re-exported from external packages
|
|
70
|
+
const externalReExports = this.astParser.extractExternalReExports(root);
|
|
71
|
+
externalReExports.forEach(name => allInterfaces.add(name));
|
|
66
72
|
// Collect class names and abstract classes
|
|
67
73
|
const classNodes = this.astParser.findAllClasses(root);
|
|
68
74
|
for (const classNode of classNodes) {
|
|
@@ -265,7 +271,11 @@ class ClassAnalyzer {
|
|
|
265
271
|
const isValidAbstractClass = allAbstractClasses.has(typeInfo.resolvedType);
|
|
266
272
|
const isValidFactory = allFactoryNames.has(typeInfo.resolvedType);
|
|
267
273
|
const isValidValue = allValueNames.has(typeInfo.resolvedType);
|
|
268
|
-
|
|
274
|
+
// Also accept types imported directly from external packages (non-relative path).
|
|
275
|
+
// This covers: import type { IFoo } from 'some-package'
|
|
276
|
+
const rawImportPath = importMappings.get(typeInfo.originalType) || importMappings.get(typeInfo.resolvedType);
|
|
277
|
+
const isExternalImport = rawImportPath !== undefined && !rawImportPath.startsWith('.');
|
|
278
|
+
return isValidClass || isValidInterface || isValidAbstractClass || isValidFactory || isValidValue || isExternalImport;
|
|
269
279
|
})
|
|
270
280
|
.map(typeInfo => {
|
|
271
281
|
// Get import path from import mappings, fallback to resolvedType if not found
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-analyzer.js","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"class-analyzer.js","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAGhC,4CAAyC;AACzC,yDAAsD;AACtD,iDAAkD;AAClD,4CAAyC;AACzC,MAAa,aAAa;IAKxB,YAAY,SAAiB,EAAE,gBAAyB;QACtD,IAAI,CAAC,SAAS,GAAG,qBAAS,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAmB;QACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAEhD,qBAAqB;gBACrB,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACnE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpD,uBAAuB;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC5D,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC5C,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;gBAED,kFAAkF;gBAClF,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBACxE,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAExD,2CAA2C;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACvD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAC7D,IAAI,SAAS,EAAE,CAAC;wBACd,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;4BAC9C,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,IAAI,CAAC,0CAA0C,QAAQ,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAmB,EAAE,MAA+I;QACrL,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,sFAAsF;QACtF,IAAI,aAAa,GAAG,MAAM,EAAE,UAAU,IAAI,IAAI,GAAG,EAAU,CAAC;QAC5D,IAAI,aAAa,GAAG,MAAM,EAAE,UAAU,IAAI,IAAI,GAAG,EAAU,CAAC;QAC5D,IAAI,kBAAkB,GAAG,MAAM,EAAE,eAAe,IAAI,IAAI,GAAG,EAAU,CAAC;QACtE,IAAI,eAAe,GAAG,MAAM,EAAE,YAAY,IAAI,IAAI,GAAG,EAAU,CAAC;QAChE,IAAI,aAAa,GAAG,MAAM,EAAE,UAAU,IAAI,IAAI,GAAG,EAAU,CAAC;QAE5D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAe,CAAC;QAE1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,uFAAuF;YACvF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAChD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAE/B,qBAAqB;oBACrB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC1D,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;oBAEtE,mDAAmD;oBACnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;oBACxE,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBAE3D,2CAA2C;oBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBACvD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;wBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;wBAC7D,IAAI,SAAS,EAAE,CAAC;4BACd,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;4BAC7D,IAAI,UAAU,EAAE,CAAC;gCACf,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BACpC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,eAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,IAAI,CAAC;oBACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC9C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,SAAS;gBACb,CAAC;YACL,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;gBAChJ,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,mCAAmC;QACnC,+DAA+D;QAC/D,8DAA8D;QAE9D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,aAA0B,EAAE,aAA0B,EAAE,kBAA+B;QACzH,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;QACzG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAEhE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,IAAS,EAAE,aAA0B,EAAE,aAA0B,EAAE,kBAA+B,EAAE,kBAA+B,IAAI,GAAG,EAAE,EAAE,gBAA6B,IAAI,GAAG,EAAE;QACrO,MAAM,OAAO,GAAgB,EAAE,CAAC;QAEhC,IAAI,CAAC;YACH,6CAA6C;YAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE5D,+CAA+C;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAElE,uEAAuE;YACvE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC9D,eAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;YAEhE,qDAAqD;YACrD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;YACxF,MAAM,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACpF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;YAE9C,wCAAwC;YACxC,KAAK,MAAM,SAAS,IAAI,wBAAwB,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAErE,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa;oBAAE,SAAS;gBAE3C,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;wBAAE,SAAS;gBAC7C,CAAC;gBAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;gBACjF,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;gBAChL,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAE7D,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEnC,eAAM,CAAC,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;gBAC9D,eAAM,CAAC,KAAK,CAAC,iBAAiB,SAAS,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC/D,eAAM,CAAC,KAAK,CAAC,0BAA0B,SAAS,GAAG,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC5E,eAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClF,eAAM,CAAC,KAAK,CAAC,oBAAoB,SAAS,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBACjE,eAAM,CAAC,KAAK,CAAC,aAAa,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnD,eAAM,CAAC,KAAK,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;gBAE3C,sDAAsD;gBACtD,IAAI,UAAU,EAAE,CAAC;oBACf,eAAM,CAAC,KAAK,CAAC,4BAA4B,SAAS,4CAA4C,CAAC,CAAC;oBAChG,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,QAAQ;oBACR,YAAY;oBACZ,iBAAiB;oBACjB,aAAa;oBACb,iBAAiB,EAAE,SAAS,EAAE,kDAAkD;oBAChF,UAAU;oBACV,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;YAED,0CAA0C;YAC1C,KAAK,MAAM,SAAS,IAAI,0BAA0B,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;gBAEzE,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,IAAI,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAEnF,8EAA8E;gBAC9E,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAEjE,qCAAqC;gBACrC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;oBACjF,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;oBAChL,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAE7D,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAEnC,eAAM,CAAC,KAAK,CAAC,8BAA8B,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,SAAS,YAAY,eAAe,EAAE,CAAC,CAAC;oBAChI,eAAM,CAAC,KAAK,CAAC,0BAA0B,SAAS,GAAG,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBAC5E,eAAM,CAAC,KAAK,CAAC,oBAAoB,SAAS,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;oBACjE,eAAM,CAAC,KAAK,CAAC,aAAa,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBACnD,eAAM,CAAC,KAAK,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;oBAE3C,sDAAsD;oBACtD,IAAI,UAAU,EAAE,CAAC;wBACf,eAAM,CAAC,KAAK,CAAC,4BAA4B,SAAS,4CAA4C,CAAC,CAAC;wBAChG,SAAS;oBACX,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,SAAS;wBACf,QAAQ;wBACR,YAAY;wBACZ,iBAAiB;wBACjB,aAAa,EAAE,SAAS,EAAE,sDAAsD;wBAChF,iBAAiB,EAAE,eAAe,EAAE,0CAA0C;wBAC9E,UAAU;wBACV,KAAK;qBACN,CAAC,CAAC;oBAEH,eAAM,CAAC,KAAK,CAAC,eAAe,SAAS,8BAA8B,eAAe,EAAE,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YAED,8DAA8D;YAC9D,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAE7D,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAE/D,gGAAgG;gBAChG,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAEhF,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;gBACjF,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;gBAChL,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAE7D,eAAM,CAAC,KAAK,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC;gBACjE,eAAM,CAAC,KAAK,CAAC,0BAA0B,SAAS,GAAG,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC5E,eAAM,CAAC,KAAK,CAAC,oBAAoB,SAAS,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBACjE,eAAM,CAAC,KAAK,CAAC,aAAa,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnD,eAAM,CAAC,KAAK,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;gBAE3C,sDAAsD;gBACtD,IAAI,UAAU,EAAE,CAAC;oBACf,eAAM,CAAC,KAAK,CAAC,4BAA4B,SAAS,4CAA4C,CAAC,CAAC;oBAChG,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,QAAQ;oBACR,YAAY;oBACZ,iBAAiB;oBACjB,aAAa,EAAE,SAAS,EAAE,iCAAiC;oBAC3D,iBAAiB,EAAE,SAAS,EAAE,2CAA2C;oBACzE,UAAU;oBACV,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,2BAAY,CAAC,SAAS,CAC1B,KAAc,EACd,uBAAY,CAAC,eAAe,EAC5B,EAAE,QAAQ,EAAE,CACb,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,mBAAmB,CACzB,iBAAyC,EACzC,WAAgC,EAChC,cAAmC,EACnC,aAA0B,EAC1B,aAA0B,EAC1B,qBAAkC,IAAI,GAAG,EAAE,EAC3C,kBAA+B,IAAI,GAAG,EAAE,EACxC,gBAA6B,IAAI,GAAG,EAAE;QAGtC,MAAM,MAAM,GAAG,iBAAiB;aAC7B,GAAG,CAAC,KAAK,CAAC,EAAE;YACX,iDAAiD;YACjD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;YAC/D,OAAO;gBACL,YAAY,EAAE,KAAK,CAAC,IAAI;gBACxB,YAAY,EAAE,YAAY;aAC3B,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,QAAQ,CAAC,EAAE;YACjB,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3E,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAE9D,kFAAkF;YAClF,wDAAwD;YACxD,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC7G,MAAM,gBAAgB,GAAG,aAAa,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEvF,OAAO,YAAY,IAAI,gBAAgB,IAAI,oBAAoB,IAAI,cAAc,IAAI,YAAY,IAAI,gBAAgB,CAAC;QACxH,CAAC,CAAC;aACD,GAAG,CAAC,QAAQ,CAAC,EAAE;YACd,8EAA8E;YAC9E,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC1D,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzC,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,2BAA2B;YAE3D,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,YAAY;gBAC3B,UAAU,EAAE,UAAU;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC;QACL,OAAO,MAAM,CAAC;IAEhB,CAAC;IAEO,mBAAmB,CAAC,OAAoB;QAC9C,0FAA0F;QAC1F,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC1B,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACnC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,sEAAsE;QACtE,iFAAiF;QACjF,sEAAsE;QACtE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACjD,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,qBAAqB,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7G,MAAM,yBAAyB,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAEzH,qBAAqB;YACrB,yEAAyE;YACzE,4EAA4E;YAC5E,8DAA8D;YAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,IAAI,qBAAqB,IAAI,yBAAyB,CAAC;YAEhI,2CAA2C;YAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,eAAM,CAAC,KAAK,CAAC,+BAA+B,SAAS,CAAC,IAAI,iDAAiD,CAAC,CAAC;YAC/G,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,eAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,MAAM,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjF,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,kBAAkB,CAAC,QAAgB,EAAE,SAAiB;QAC5D,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,KAAK,oBAAoB,EAAE,CAAC;IACrC,CAAC;CACF;AAxYD,sCAwYC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for DI token resolution when types originate in external packages.
|
|
3
|
+
*
|
|
4
|
+
* Covers three shapes:
|
|
5
|
+
* 1. Direct external import: import type { IFoo } from 'some-package'
|
|
6
|
+
* 2. Local re-export stub: export type { IFoo } from 'some-package' (chain)
|
|
7
|
+
* 3. Mixed: local + external deps in the same factory / class
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=external-types.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-types.test.d.ts","sourceRoot":"","sources":["../../src/analyser/external-types.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tests for DI token resolution when types originate in external packages.
|
|
4
|
+
*
|
|
5
|
+
* Covers three shapes:
|
|
6
|
+
* 1. Direct external import: import type { IFoo } from 'some-package'
|
|
7
|
+
* 2. Local re-export stub: export type { IFoo } from 'some-package' (chain)
|
|
8
|
+
* 3. Mixed: local + external deps in the same factory / class
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
const vitest_1 = require("vitest");
|
|
12
|
+
const fs_1 = require("fs");
|
|
13
|
+
const path_1 = require("path");
|
|
14
|
+
const os_1 = require("os");
|
|
15
|
+
const class_analyzer_1 = require("./class-analyzer");
|
|
16
|
+
const factory_analyzer_1 = require("./factory-analyzer");
|
|
17
|
+
const ast_parser_1 = require("./ast-parser");
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// Helpers
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
function tmpDir(prefix) {
|
|
22
|
+
const dir = (0, path_1.join)((0, os_1.tmpdir)(), `ioc-arise-test-${prefix}-${Date.now()}`);
|
|
23
|
+
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
24
|
+
return dir;
|
|
25
|
+
}
|
|
26
|
+
function write(dir, relativePath, content) {
|
|
27
|
+
const full = (0, path_1.join)(dir, relativePath);
|
|
28
|
+
(0, fs_1.mkdirSync)((0, path_1.join)(full, '..'), { recursive: true });
|
|
29
|
+
(0, fs_1.writeFileSync)(full, content, 'utf-8');
|
|
30
|
+
return full;
|
|
31
|
+
}
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
// ASTParser.extractExternalReExports
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
(0, vitest_1.describe)('ASTParser.extractExternalReExports', () => {
|
|
36
|
+
let parser;
|
|
37
|
+
let dir;
|
|
38
|
+
(0, vitest_1.beforeEach)(() => {
|
|
39
|
+
parser = new ast_parser_1.ASTParser();
|
|
40
|
+
dir = tmpDir('ast-parser');
|
|
41
|
+
});
|
|
42
|
+
(0, vitest_1.afterEach)(() => (0, fs_1.rmSync)(dir, { recursive: true, force: true }));
|
|
43
|
+
(0, vitest_1.it)('extracts names from export type { X } from external package', () => {
|
|
44
|
+
const file = write(dir, 'stub.ts', `export type { ITombstoneRepository } from '@word-tracker/sync';`);
|
|
45
|
+
const root = parser.parseFile(file);
|
|
46
|
+
const names = parser.extractExternalReExports(root);
|
|
47
|
+
(0, vitest_1.expect)(names).toContain('ITombstoneRepository');
|
|
48
|
+
});
|
|
49
|
+
(0, vitest_1.it)('extracts multiple names from a single export statement', () => {
|
|
50
|
+
const file = write(dir, 'stub.ts', `export type { IFoo, IBar } from 'some-package';`);
|
|
51
|
+
const root = parser.parseFile(file);
|
|
52
|
+
const names = parser.extractExternalReExports(root);
|
|
53
|
+
(0, vitest_1.expect)(names).toContain('IFoo');
|
|
54
|
+
(0, vitest_1.expect)(names).toContain('IBar');
|
|
55
|
+
});
|
|
56
|
+
(0, vitest_1.it)('handles export with alias: export type { Foo as IFoo } from pkg', () => {
|
|
57
|
+
const file = write(dir, 'stub.ts', `export type { InternalFoo as IFoo } from 'some-package';`);
|
|
58
|
+
const root = parser.parseFile(file);
|
|
59
|
+
const names = parser.extractExternalReExports(root);
|
|
60
|
+
(0, vitest_1.expect)(names).toContain('IFoo');
|
|
61
|
+
(0, vitest_1.expect)(names).not.toContain('InternalFoo');
|
|
62
|
+
});
|
|
63
|
+
(0, vitest_1.it)('ignores re-exports from local (relative) paths', () => {
|
|
64
|
+
const file = write(dir, 'stub.ts', `export type { IFoo } from './local-file';`);
|
|
65
|
+
const root = parser.parseFile(file);
|
|
66
|
+
const names = parser.extractExternalReExports(root);
|
|
67
|
+
(0, vitest_1.expect)(names).toHaveLength(0);
|
|
68
|
+
});
|
|
69
|
+
(0, vitest_1.it)('returns empty array for a file with no re-exports', () => {
|
|
70
|
+
const file = write(dir, 'stub.ts', `export interface IFoo { doSomething(): void; }`);
|
|
71
|
+
const root = parser.parseFile(file);
|
|
72
|
+
const names = parser.extractExternalReExports(root);
|
|
73
|
+
(0, vitest_1.expect)(names).toHaveLength(0);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
// FactoryAnalyzer — direct external import
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
(0, vitest_1.describe)('FactoryAnalyzer — external package types as DI tokens', () => {
|
|
80
|
+
let dir;
|
|
81
|
+
(0, vitest_1.beforeEach)(() => { dir = tmpDir('factory-analyzer'); });
|
|
82
|
+
(0, vitest_1.afterEach)(() => (0, fs_1.rmSync)(dir, { recursive: true, force: true }));
|
|
83
|
+
(0, vitest_1.it)('resolves a dep typed as an interface imported directly from node_modules', async () => {
|
|
84
|
+
// Local interface that resolves fine
|
|
85
|
+
write(dir, 'ILocalRepo.ts', `export interface ILocalRepo { find(): void; }`);
|
|
86
|
+
// Factory that depends on both a local and an external interface
|
|
87
|
+
write(dir, 'MyUseCase.ts', `
|
|
88
|
+
import type { ILocalRepo } from './ILocalRepo';
|
|
89
|
+
import type { IExternalService } from 'some-external-package';
|
|
90
|
+
|
|
91
|
+
/** @factory */
|
|
92
|
+
export function createMyUseCase(localRepo: ILocalRepo, externalService: IExternalService) {
|
|
93
|
+
return { localRepo, externalService };
|
|
94
|
+
}
|
|
95
|
+
`);
|
|
96
|
+
const analyzer = new factory_analyzer_1.FactoryAnalyzer(dir);
|
|
97
|
+
const filePaths = [(0, path_1.join)(dir, 'ILocalRepo.ts'), (0, path_1.join)(dir, 'MyUseCase.ts')];
|
|
98
|
+
const factories = await analyzer.analyzeFiles(filePaths);
|
|
99
|
+
const uc = factories.find(f => f.name === 'createMyUseCase');
|
|
100
|
+
(0, vitest_1.expect)(uc).toBeDefined();
|
|
101
|
+
const depNames = uc.dependencies.map(d => d.name);
|
|
102
|
+
(0, vitest_1.expect)(depNames).toContain('ILocalRepo');
|
|
103
|
+
(0, vitest_1.expect)(depNames).toContain('IExternalService');
|
|
104
|
+
});
|
|
105
|
+
(0, vitest_1.it)('resolves a dep typed via a local re-export stub for an external package', async () => {
|
|
106
|
+
// Re-export stub: local file that only re-exports from external
|
|
107
|
+
write(dir, 'ports/ITombstoneRepository.ts', `export type { ITombstoneRepository } from '@word-tracker/sync';`);
|
|
108
|
+
// Local interface
|
|
109
|
+
write(dir, 'IWordEntryRepository.ts', `export interface IWordEntryRepository { find(): void; }`);
|
|
110
|
+
// Factory using both
|
|
111
|
+
write(dir, 'PermanentlyDeleteWordUseCase.ts', `
|
|
112
|
+
import type { IWordEntryRepository } from './IWordEntryRepository';
|
|
113
|
+
import type { ITombstoneRepository } from './ports/ITombstoneRepository';
|
|
114
|
+
|
|
115
|
+
/** @factory */
|
|
116
|
+
export function createPermanentlyDeleteWordUseCase(deps: {
|
|
117
|
+
wordEntryRepository: IWordEntryRepository;
|
|
118
|
+
tombstoneRepository: ITombstoneRepository;
|
|
119
|
+
}) {
|
|
120
|
+
return deps;
|
|
121
|
+
}
|
|
122
|
+
`);
|
|
123
|
+
const analyzer = new factory_analyzer_1.FactoryAnalyzer(dir);
|
|
124
|
+
const filePaths = [
|
|
125
|
+
(0, path_1.join)(dir, 'ports/ITombstoneRepository.ts'),
|
|
126
|
+
(0, path_1.join)(dir, 'IWordEntryRepository.ts'),
|
|
127
|
+
(0, path_1.join)(dir, 'PermanentlyDeleteWordUseCase.ts'),
|
|
128
|
+
];
|
|
129
|
+
const factories = await analyzer.analyzeFiles(filePaths);
|
|
130
|
+
const uc = factories.find(f => f.name === 'createPermanentlyDeleteWordUseCase');
|
|
131
|
+
(0, vitest_1.expect)(uc).toBeDefined();
|
|
132
|
+
const depNames = uc.dependencies.map(d => d.name);
|
|
133
|
+
(0, vitest_1.expect)(depNames).toContain('IWordEntryRepository');
|
|
134
|
+
(0, vitest_1.expect)(depNames).toContain('ITombstoneRepository');
|
|
135
|
+
});
|
|
136
|
+
(0, vitest_1.it)('mixed: local deps and external deps both appear in dependencies[]', async () => {
|
|
137
|
+
write(dir, 'ILocalA.ts', `export interface ILocalA { a(): void; }`);
|
|
138
|
+
write(dir, 'ILocalB.ts', `export interface ILocalB { b(): void; }`);
|
|
139
|
+
write(dir, 'MyService.ts', `
|
|
140
|
+
import type { ILocalA } from './ILocalA';
|
|
141
|
+
import type { ILocalB } from './ILocalB';
|
|
142
|
+
import type { IExternal } from 'external-pkg';
|
|
143
|
+
|
|
144
|
+
/** @factory */
|
|
145
|
+
export function createMyService(a: ILocalA, b: ILocalB, ext: IExternal) {
|
|
146
|
+
return { a, b, ext };
|
|
147
|
+
}
|
|
148
|
+
`);
|
|
149
|
+
const analyzer = new factory_analyzer_1.FactoryAnalyzer(dir);
|
|
150
|
+
const filePaths = [
|
|
151
|
+
(0, path_1.join)(dir, 'ILocalA.ts'),
|
|
152
|
+
(0, path_1.join)(dir, 'ILocalB.ts'),
|
|
153
|
+
(0, path_1.join)(dir, 'MyService.ts'),
|
|
154
|
+
];
|
|
155
|
+
const factories = await analyzer.analyzeFiles(filePaths);
|
|
156
|
+
const svc = factories.find(f => f.name === 'createMyService');
|
|
157
|
+
(0, vitest_1.expect)(svc).toBeDefined();
|
|
158
|
+
const depNames = svc.dependencies.map(d => d.name);
|
|
159
|
+
(0, vitest_1.expect)(depNames).toContain('ILocalA');
|
|
160
|
+
(0, vitest_1.expect)(depNames).toContain('ILocalB');
|
|
161
|
+
(0, vitest_1.expect)(depNames).toContain('IExternal');
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
// ---------------------------------------------------------------------------
|
|
165
|
+
// ClassAnalyzer — external package types as DI tokens
|
|
166
|
+
// ---------------------------------------------------------------------------
|
|
167
|
+
(0, vitest_1.describe)('ClassAnalyzer — external package types as DI tokens', () => {
|
|
168
|
+
let dir;
|
|
169
|
+
(0, vitest_1.beforeEach)(() => { dir = tmpDir('class-analyzer'); });
|
|
170
|
+
(0, vitest_1.afterEach)(() => (0, fs_1.rmSync)(dir, { recursive: true, force: true }));
|
|
171
|
+
(0, vitest_1.it)('resolves a constructor dep imported directly from an external package', async () => {
|
|
172
|
+
write(dir, 'ILocalDep.ts', `export interface ILocalDep { doLocal(): void; }`);
|
|
173
|
+
write(dir, 'MyService.ts', `
|
|
174
|
+
import type { ILocalDep } from './ILocalDep';
|
|
175
|
+
import type { IExternalDep } from 'some-external-lib';
|
|
176
|
+
import type { IMyService } from './IMyService';
|
|
177
|
+
|
|
178
|
+
export class MyService implements IMyService {
|
|
179
|
+
constructor(private local: ILocalDep, private ext: IExternalDep) {}
|
|
180
|
+
}
|
|
181
|
+
`);
|
|
182
|
+
write(dir, 'IMyService.ts', `export interface IMyService { run(): void; }`);
|
|
183
|
+
const analyzer = new class_analyzer_1.ClassAnalyzer(dir);
|
|
184
|
+
const filePaths = [
|
|
185
|
+
(0, path_1.join)(dir, 'ILocalDep.ts'),
|
|
186
|
+
(0, path_1.join)(dir, 'IMyService.ts'),
|
|
187
|
+
(0, path_1.join)(dir, 'MyService.ts'),
|
|
188
|
+
];
|
|
189
|
+
const classes = await analyzer.analyzeFiles(filePaths);
|
|
190
|
+
const svc = classes.find(c => c.name === 'MyService');
|
|
191
|
+
(0, vitest_1.expect)(svc).toBeDefined();
|
|
192
|
+
const depNames = svc.dependencies.map(d => d.name);
|
|
193
|
+
(0, vitest_1.expect)(depNames).toContain('ILocalDep');
|
|
194
|
+
(0, vitest_1.expect)(depNames).toContain('IExternalDep');
|
|
195
|
+
});
|
|
196
|
+
(0, vitest_1.it)('resolves a constructor dep coming via a local re-export stub', async () => {
|
|
197
|
+
// Re-export stub
|
|
198
|
+
write(dir, 'ports/IExternalPort.ts', `export type { IExternalPort } from 'monorepo-pkg';`);
|
|
199
|
+
write(dir, 'IMyService.ts', `export interface IMyService { run(): void; }`);
|
|
200
|
+
write(dir, 'MyService.ts', `
|
|
201
|
+
import type { IExternalPort } from './ports/IExternalPort';
|
|
202
|
+
import type { IMyService } from './IMyService';
|
|
203
|
+
|
|
204
|
+
export class MyService implements IMyService {
|
|
205
|
+
constructor(private port: IExternalPort) {}
|
|
206
|
+
run() {}
|
|
207
|
+
}
|
|
208
|
+
`);
|
|
209
|
+
const analyzer = new class_analyzer_1.ClassAnalyzer(dir);
|
|
210
|
+
const filePaths = [
|
|
211
|
+
(0, path_1.join)(dir, 'ports/IExternalPort.ts'),
|
|
212
|
+
(0, path_1.join)(dir, 'IMyService.ts'),
|
|
213
|
+
(0, path_1.join)(dir, 'MyService.ts'),
|
|
214
|
+
];
|
|
215
|
+
const classes = await analyzer.analyzeFiles(filePaths);
|
|
216
|
+
const svc = classes.find(c => c.name === 'MyService');
|
|
217
|
+
(0, vitest_1.expect)(svc).toBeDefined();
|
|
218
|
+
const depNames = svc.dependencies.map(d => d.name);
|
|
219
|
+
(0, vitest_1.expect)(depNames).toContain('IExternalPort');
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
//# sourceMappingURL=external-types.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-types.test.js","sourceRoot":"","sources":["../../src/analyser/external-types.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/factory-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwD,MAAM,UAAU,CAAC;AAM7F,qBAAa,eAAe;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAS;gBAEpB,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAYhD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"factory-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/factory-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwD,MAAM,UAAU,CAAC;AAM7F,qBAAa,eAAe;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAS;gBAEpB,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAYhD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAiDnG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAuE3I,kBAAkB;IA8GhC,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,wCAAwC;IAsChD,OAAO,CAAC,mBAAmB;IAS3B;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAsBnC"}
|
|
@@ -31,6 +31,9 @@ class FactoryAnalyzer {
|
|
|
31
31
|
for (const [alias] of typeAliases.entries()) {
|
|
32
32
|
interfaces.add(alias);
|
|
33
33
|
}
|
|
34
|
+
// Collect names re-exported from external packages (e.g. from a monorepo sibling)
|
|
35
|
+
const externalReExports = this.astParser.extractExternalReExports(root);
|
|
36
|
+
externalReExports.forEach(name => interfaces.add(name));
|
|
34
37
|
// Collect factory names (exported functions with @factory or pattern match)
|
|
35
38
|
const functionNodes = this.astParser.findAllFunctions(root);
|
|
36
39
|
for (const functionNode of functionNodes) {
|
|
@@ -70,6 +73,9 @@ class FactoryAnalyzer {
|
|
|
70
73
|
fileASTMap.set(filePath, root);
|
|
71
74
|
const interfaces = this.astParser.extractInterfaces(root);
|
|
72
75
|
interfaces.forEach(interfaceName => allInterfaces.add(interfaceName));
|
|
76
|
+
// Collect names re-exported from external packages
|
|
77
|
+
const externalReExports = this.astParser.extractExternalReExports(root);
|
|
78
|
+
externalReExports.forEach(name => allInterfaces.add(name));
|
|
73
79
|
const classNodes = this.astParser.findAllClasses(root);
|
|
74
80
|
for (const classNode of classNodes) {
|
|
75
81
|
const className = this.astParser.extractClassName(classNode);
|
|
@@ -245,8 +251,11 @@ class FactoryAnalyzer {
|
|
|
245
251
|
const isInterface = allInterfaces.has(typeName);
|
|
246
252
|
const isClass = allClassNames.has(typeName);
|
|
247
253
|
const isFactory = allFactoryNames.has(typeName);
|
|
248
|
-
|
|
249
|
-
|
|
254
|
+
// Also accept types imported directly from external packages (non-relative path)
|
|
255
|
+
const rawImportPath = importMappings.get(typeName);
|
|
256
|
+
const isExternalImport = rawImportPath !== undefined && !rawImportPath.startsWith('.');
|
|
257
|
+
if (isInterface || isClass || isFactory || isExternalImport) {
|
|
258
|
+
const importPath = rawImportPath || './';
|
|
250
259
|
dependencies.push({
|
|
251
260
|
name: typeName,
|
|
252
261
|
importPath,
|
|
@@ -267,8 +276,11 @@ class FactoryAnalyzer {
|
|
|
267
276
|
const isInterface = allInterfaces.has(typeName);
|
|
268
277
|
const isClass = allClassNames.has(typeName);
|
|
269
278
|
const isFactory = allFactoryNames.has(typeName);
|
|
270
|
-
|
|
271
|
-
|
|
279
|
+
// Also accept types imported directly from external packages (non-relative path)
|
|
280
|
+
const rawImportPath = importMappings.get(typeName);
|
|
281
|
+
const isExternalImport = rawImportPath !== undefined && !rawImportPath.startsWith('.');
|
|
282
|
+
if (isInterface || isClass || isFactory || isExternalImport) {
|
|
283
|
+
const importPath = rawImportPath || './';
|
|
272
284
|
dependencies.push({
|
|
273
285
|
name: typeName,
|
|
274
286
|
importPath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-analyzer.js","sourceRoot":"","sources":["../../src/analyser/factory-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"factory-analyzer.js","sourceRoot":"","sources":["../../src/analyser/factory-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ioc-container-generator.d.ts","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,qBAAa,qBAAqB;IAC9B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CACX,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC/C,SAAS,CAAC,EAAE,WAAW,EAAE,EACzB,MAAM,CAAC,EAAE,SAAS,EAAE,EACpB,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EACnD,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,aAAa,CAAC,EAAE,qBAAqB,EACrC,SAAS,CAAC,EAAE,OAAO,GACpB,MAAM,EAAE;IAkCX,OAAO,CAAC,MAAM,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"ioc-container-generator.d.ts","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,qBAAa,qBAAqB;IAC9B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CACX,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC/C,SAAS,CAAC,EAAE,WAAW,EAAE,EACzB,MAAM,CAAC,EAAE,SAAS,EAAE,EACpB,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EACnD,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,aAAa,CAAC,EAAE,qBAAqB,EACrC,SAAS,CAAC,EAAE,OAAO,GACpB,MAAM,EAAE;IAkCX,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA6E/B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAoFnC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAoDjC,OAAO,CAAC,MAAM,CAAC,kCAAkC;IAmCjD,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAW/C,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA0BxC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAuElC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAiBxC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAY3C,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAiC1C,OAAO,CAAC,MAAM,CAAC,eAAe;IA4F9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoBrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAwCpC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAoD3C,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAsB5C"}
|
|
@@ -83,10 +83,14 @@ class IoCContainerGenerator {
|
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
85
|
});
|
|
86
|
+
// Collect concrete class names — a dep whose name matches a registered class is
|
|
87
|
+
// referenced by its constructor (not a string token). Everything else (interfaces,
|
|
88
|
+
// external types, factories, values) uses a string token.
|
|
89
|
+
const classNames = new Set(classes.map(c => c.name));
|
|
86
90
|
const imports = this.generateImports(classes, outputPath, factories, values, classes, interfaceNames, abstractClassNames);
|
|
87
|
-
const classRegistrations = this.generateRegistrations(classes, interfaceNames, '', abstractClassNames);
|
|
91
|
+
const classRegistrations = this.generateRegistrations(classes, interfaceNames, '', abstractClassNames, classNames);
|
|
88
92
|
const factoryRegistrations = factories && factories.length > 0
|
|
89
|
-
? this.generateFactoryRegistrations(factories, interfaceNames, '', abstractClassNames)
|
|
93
|
+
? this.generateFactoryRegistrations(factories, interfaceNames, '', abstractClassNames, classNames)
|
|
90
94
|
: '';
|
|
91
95
|
const valueRegistrations = values && values.length > 0
|
|
92
96
|
? this.generateValueRegistrations(values, '')
|
|
@@ -118,8 +122,9 @@ ${allRegistrations}
|
|
|
118
122
|
const modulesDir = (0, path_1.join)(outputDir, 'modules');
|
|
119
123
|
// Create modules directory
|
|
120
124
|
(0, fs_1.mkdirSync)(modulesDir, { recursive: true });
|
|
121
|
-
// Collect all interface names across all modules
|
|
125
|
+
// Collect all interface names and class names across all modules
|
|
122
126
|
const allClasses = Array.from(moduleGroupedClasses.values()).flat();
|
|
127
|
+
const classNames = new Set(allClasses.map(c => c.name));
|
|
123
128
|
const interfaceNames = new Set();
|
|
124
129
|
allClasses.forEach(cls => {
|
|
125
130
|
if (cls.interfaceName) {
|
|
@@ -164,7 +169,7 @@ ${allRegistrations}
|
|
|
164
169
|
const moduleValues = moduleGroupedValues?.get(moduleName);
|
|
165
170
|
const moduleFilename = `${moduleName.charAt(0).toLowerCase() + moduleName.slice(1)}.module.ts`;
|
|
166
171
|
const moduleFilePath = (0, path_1.join)(modulesDir, moduleFilename);
|
|
167
|
-
const moduleCode = this.generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, moduleFactories, moduleValues, allClasses);
|
|
172
|
+
const moduleCode = this.generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, moduleFactories, moduleValues, allClasses, classNames);
|
|
168
173
|
(0, fs_1.writeFileSync)(moduleFilePath, moduleCode);
|
|
169
174
|
generatedFiles.push(moduleFilePath);
|
|
170
175
|
// Add import for main container file
|
|
@@ -179,7 +184,7 @@ ${allRegistrations}
|
|
|
179
184
|
generatedFiles.push(outputPath);
|
|
180
185
|
return generatedFiles;
|
|
181
186
|
}
|
|
182
|
-
static generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, factories, values, allClasses = []) {
|
|
187
|
+
static generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, factories, values, allClasses = [], classNames = new Set()) {
|
|
183
188
|
// Collect abstract class names that are dependencies
|
|
184
189
|
const abstractClassNames = new Set();
|
|
185
190
|
classes.forEach(cls => {
|
|
@@ -192,9 +197,9 @@ ${allRegistrations}
|
|
|
192
197
|
});
|
|
193
198
|
});
|
|
194
199
|
const imports = this.generateImports(classes, moduleFilePath, factories, values, allClasses, interfaceNames, abstractClassNames);
|
|
195
|
-
const classRegistrations = this.generateModuleRegistrations(classes, interfaceNames, abstractClassNames);
|
|
200
|
+
const classRegistrations = this.generateModuleRegistrations(classes, interfaceNames, abstractClassNames, classNames);
|
|
196
201
|
const factoryRegistrations = factories && factories.length > 0
|
|
197
|
-
? this.generateModuleFactoryRegistrations(factories, interfaceNames, abstractClassNames)
|
|
202
|
+
? this.generateModuleFactoryRegistrations(factories, interfaceNames, abstractClassNames, classNames)
|
|
198
203
|
: '';
|
|
199
204
|
const valueRegistrations = values && values.length > 0
|
|
200
205
|
? this.generateModuleValueRegistrations(values)
|
|
@@ -216,7 +221,7 @@ export const ${moduleVarName} = new ContainerModule()
|
|
|
216
221
|
${allRegistrations};
|
|
217
222
|
`;
|
|
218
223
|
}
|
|
219
|
-
static generateModuleFactoryRegistrations(factories, interfaceNames, abstractClassNames = new Set()) {
|
|
224
|
+
static generateModuleFactoryRegistrations(factories, interfaceNames, abstractClassNames = new Set(), classNames = new Set()) {
|
|
220
225
|
return factories.map(factory => {
|
|
221
226
|
const token = factory.token ? `'${factory.token}'` : `'${factory.name}'`;
|
|
222
227
|
const dependencies = factory.dependencies.length > 0
|
|
@@ -225,7 +230,9 @@ ${allRegistrations};
|
|
|
225
230
|
return `'${dep.name}'`;
|
|
226
231
|
if (abstractClassNames.has(dep.name))
|
|
227
232
|
return `'${dep.name}'`;
|
|
228
|
-
|
|
233
|
+
if (classNames.has(dep.name))
|
|
234
|
+
return dep.name;
|
|
235
|
+
return `'${dep.name}'`;
|
|
229
236
|
}).join(', ')}]`
|
|
230
237
|
: '';
|
|
231
238
|
const lifecycle = factory.scope === 'singleton' ? 'Lifecycle.Singleton' : 'Lifecycle.Transient';
|
|
@@ -349,7 +356,7 @@ ${registrations};`);
|
|
|
349
356
|
});
|
|
350
357
|
return instantiations.join('\n');
|
|
351
358
|
}
|
|
352
|
-
static generateModuleRegistrations(classes, interfaceNames, abstractClassNames = new Set()) {
|
|
359
|
+
static generateModuleRegistrations(classes, interfaceNames, abstractClassNames = new Set(), classNames = new Set()) {
|
|
353
360
|
return classes.map(cls => {
|
|
354
361
|
// Determine registration token
|
|
355
362
|
const token = cls.interfaceName
|
|
@@ -360,16 +367,13 @@ ${registrations};`);
|
|
|
360
367
|
// Generate dependencies array
|
|
361
368
|
const dependencies = cls.dependencies.length > 0
|
|
362
369
|
? `, dependencies: [${cls.dependencies.map(dep => {
|
|
363
|
-
|
|
364
|
-
if (interfaceNames.has(dep.name)) {
|
|
370
|
+
if (interfaceNames.has(dep.name))
|
|
365
371
|
return `'${dep.name}'`;
|
|
366
|
-
|
|
367
|
-
// If dependency is an abstract class, use string token
|
|
368
|
-
if (abstractClassNames.has(dep.name)) {
|
|
372
|
+
if (abstractClassNames.has(dep.name))
|
|
369
373
|
return `'${dep.name}'`;
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
return dep.name
|
|
374
|
+
if (classNames.has(dep.name))
|
|
375
|
+
return dep.name;
|
|
376
|
+
return `'${dep.name}'`;
|
|
373
377
|
}).join(', ')}]`
|
|
374
378
|
: '';
|
|
375
379
|
// Determine lifecycle enum value
|
|
@@ -468,7 +472,7 @@ ${registrations};`);
|
|
|
468
472
|
}
|
|
469
473
|
}
|
|
470
474
|
}
|
|
471
|
-
static generateRegistrations(classes, interfaceNames, indent = '', abstractClassNames = new Set()) {
|
|
475
|
+
static generateRegistrations(classes, interfaceNames, indent = '', abstractClassNames = new Set(), classNames = new Set()) {
|
|
472
476
|
return classes.map(cls => {
|
|
473
477
|
// Determine registration token:
|
|
474
478
|
// - If implements interface, use string token of interface name
|
|
@@ -482,16 +486,13 @@ ${registrations};`);
|
|
|
482
486
|
// Generate dependencies array
|
|
483
487
|
const dependencies = cls.dependencies.length > 0
|
|
484
488
|
? `\n${indent} dependencies: [${cls.dependencies.map(dep => {
|
|
485
|
-
|
|
486
|
-
if (interfaceNames.has(dep.name)) {
|
|
489
|
+
if (interfaceNames.has(dep.name))
|
|
487
490
|
return `'${dep.name}'`;
|
|
488
|
-
|
|
489
|
-
// If dependency is an abstract class, use string token
|
|
490
|
-
if (abstractClassNames.has(dep.name)) {
|
|
491
|
+
if (abstractClassNames.has(dep.name))
|
|
491
492
|
return `'${dep.name}'`;
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
return dep.name
|
|
493
|
+
if (classNames.has(dep.name))
|
|
494
|
+
return dep.name;
|
|
495
|
+
return `'${dep.name}'`;
|
|
495
496
|
}).join(', ')}],`
|
|
496
497
|
: '';
|
|
497
498
|
// Determine lifecycle enum value
|
|
@@ -504,7 +505,7 @@ ${indent} lifecycle: ${lifecycle},
|
|
|
504
505
|
${indent}});`;
|
|
505
506
|
}).join('\n\n');
|
|
506
507
|
}
|
|
507
|
-
static generateFactoryRegistrations(factories, interfaceNames, indent = '', abstractClassNames = new Set()) {
|
|
508
|
+
static generateFactoryRegistrations(factories, interfaceNames, indent = '', abstractClassNames = new Set(), classNames = new Set()) {
|
|
508
509
|
return factories.map(factory => {
|
|
509
510
|
// Use token if provided, otherwise use function name directly
|
|
510
511
|
const token = factory.token
|
|
@@ -513,16 +514,13 @@ ${indent}});`;
|
|
|
513
514
|
// Generate dependencies array
|
|
514
515
|
const dependencies = factory.dependencies.length > 0
|
|
515
516
|
? `\n${indent} dependencies: [${factory.dependencies.map(dep => {
|
|
516
|
-
|
|
517
|
-
if (interfaceNames.has(dep.name)) {
|
|
517
|
+
if (interfaceNames.has(dep.name))
|
|
518
518
|
return `'${dep.name}'`;
|
|
519
|
-
|
|
520
|
-
// If dependency is an abstract class, use string token
|
|
521
|
-
if (abstractClassNames.has(dep.name)) {
|
|
519
|
+
if (abstractClassNames.has(dep.name))
|
|
522
520
|
return `'${dep.name}'`;
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
return dep.name
|
|
521
|
+
if (classNames.has(dep.name))
|
|
522
|
+
return dep.name;
|
|
523
|
+
return `'${dep.name}'`;
|
|
526
524
|
}).join(', ')}],`
|
|
527
525
|
: '';
|
|
528
526
|
// Determine lifecycle enum value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ioc-container-generator.js","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ioc-container-generator.js","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@notjustcoders/ioc-arise",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.32",
|
|
4
4
|
"description": "Arise type-safe IoC containers from your code. Zero overhead, zero coupling.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -55,7 +55,8 @@
|
|
|
55
55
|
"@vitest/coverage-v8": "^1.0.0",
|
|
56
56
|
"ts-node": "^10.9.0",
|
|
57
57
|
"typescript": "^5.3.0",
|
|
58
|
-
"vitest": "^1.0.0"
|
|
58
|
+
"vitest": "^1.0.0",
|
|
59
|
+
"@word-tracker/sync": "0.0.1"
|
|
59
60
|
},
|
|
60
61
|
"scripts": {
|
|
61
62
|
"build": "tsc",
|
|
@@ -83,6 +84,7 @@
|
|
|
83
84
|
"test16:generate": "npm run build && cd examples/instance-factory-with-context-example && node ../../dist/index.js generate",
|
|
84
85
|
"test17:generate": "npm run build && cd examples/instance-factory-separate-params-example && node ../../dist/index.js generate",
|
|
85
86
|
"test18:generate": "npm run build && cd examples/instance-factories-modules-example && node ../../dist/index.js generate",
|
|
86
|
-
"test19:generate": "npm run build && cd examples/word-tracker && node ../../dist/index.js generate"
|
|
87
|
+
"test19:generate": "npm run build && cd examples/word-tracker && node ../../dist/index.js generate",
|
|
88
|
+
"test20:generate": "npm run build && cd examples/external-types-example && node ../../dist/index.js generate"
|
|
87
89
|
}
|
|
88
90
|
}
|