UNPKG

@notjustcoders/ioc-arise

Version:

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

46 lines 1.79 kB
import { ClassInfo } from '../../types.js'; import { ImportGenerator } from '../import-generator.js'; import { ModuleContainerFunctionGenerator } from './module-container-function-generator.js'; import { ModuleInstantiationGenerator } from './module-instantiation-generator.js'; /** * Handles writing split module files when there are more than 3 modules. * Each module gets its own <moduleName>.gen.ts file, plus a main container.gen.ts aggregator. */ export declare class SplitFileWriter { private outputPath; private outputDir; constructor(outputPath: string); /** * Writes split module files and main aggregator file. */ writeSplitModules(moduleGroupedClasses: Map<string, ClassInfo[]>, sortedModules: string[], moduleDependencies: Map<string, Set<string>>, moduleContainerFunctionGenerator: ModuleContainerFunctionGenerator, moduleInstantiationGenerator: ModuleInstantiationGenerator, globalImportGenerator: ImportGenerator): void; /** * Generates content for an individual module file. */ private generateModuleFileContent; /** * Generates dependency import statements for a module. */ private generateDependencyImports; /** * Generates type export for a module. */ private generateModuleTypeExport; /** * Generates content for the main aggregator file. */ private generateAggregatorFileContent; /** * Generates module instantiations for the aggregator file. */ private generateModuleInstantiationsForAggregator; /** * Generates the aggregated container for split files. */ private generateAggregatedContainerForSplit; /** * Converts a string to camelCase. */ private toCamelCase; } //# sourceMappingURL=split-file-writer.d.ts.map