UNPKG

@notjustcoders/ioc-arise

Version:

Arise type-safe IoC containers from your code. Zero overhead, zero coupling.

29 lines 1.7 kB
import { ModuleDependencyResolver } from '../../analyser/module-dependency-resolver'; import { ClassInfo } from '../../types'; import { ImportGenerator } from '../import-generator'; import { BaseContainerGenerator } from '../base-container-generator'; import { FileWriter } from '../file-writer'; import { ModuleContainerFunctionGenerator } from './module-container-function-generator'; import { ModuleInstantiationGenerator } from './module-instantiation-generator'; import { ContainerAggregator } from './container-aggregator'; /** * Generator for modular container structure. * Handles module-based dependency injection with inter-module dependencies. */ export declare class ModularContainerGenerator extends BaseContainerGenerator { private moduleGroupedClasses; private moduleDependencyResolver; private moduleContainerFunctionGenerator; private moduleInstantiationGenerator; private containerAggregator; constructor(fileWriter: FileWriter, moduleGroupedClasses: Map<string, ClassInfo[]>, moduleDependencyResolver: ModuleDependencyResolver, importGenerator: ImportGenerator, moduleContainerFunctionGenerator: ModuleContainerFunctionGenerator, moduleInstantiationGenerator: ModuleInstantiationGenerator, containerAggregator: ContainerAggregator); generate(): void; protected generateContainerCode(sortedModules?: string[], moduleDependencies?: Map<string, Set<string>>): string; private generateModuleContainers; /** * Generates split files when there are more than 3 modules. * Each module gets its own file, plus a main aggregator file. */ private generateSplitFiles; } //# sourceMappingURL=modular-container-generator.d.ts.map