@notjustcoders/ioc-arise
Version:
Arise type-safe IoC containers from your code. Zero overhead, zero coupling.
46 lines • 1.79 kB
TypeScript
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