@elsikora/setup-wizard
Version:
Setup Wizard - CLI scaffolding utility
32 lines • 1.74 kB
TypeScript
import type { ICliInterfaceService } from "../../application/interface/cli-interface-service.interface";
import type { IConfigService } from "../../application/interface/config-service.interface";
import type { IFileSystemService } from "../../application/interface/file-system-service.interface";
import type { IModuleService } from "../interface/module-service.interface";
import { EModule } from "../../domain/enum/module.enum";
/**
* Mapper class for creating module service instances based on module type.
* Provides a central factory for all available module services in the application.
*/
export declare class ModuleServiceMapper {
/** CLI interface service for user interaction */
readonly CLI_INTERFACE_SERVICE: ICliInterfaceService;
/** Configuration service for reading and writing config */
readonly CONFIG_SERVICE: IConfigService;
/** File system service for file operations */
readonly FILE_SYSTEM_SERVICE: IFileSystemService;
/**
* Initializes a new instance of the ModuleServiceMapper.
* @param cliInterfaceService - Service for CLI user interactions
* @param fileSystemService - Service for file system operations
*/
constructor(cliInterfaceService: ICliInterfaceService, fileSystemService: IFileSystemService);
/**
* Gets a module service instance based on the specified module type.
* Factory method that creates the appropriate service implementation.
* @param module - The module type enum value
* @returns An implementation of IModuleService for the specified module
* @throws Error if the module type is not supported
*/
getModuleService(module: EModule): IModuleService;
}
//# sourceMappingURL=module-service.mapper.d.ts.map