2025-10-26 22:30:58 +03:00
|
|
|
|
/**
|
|
|
|
|
|
* Конфигурация генератора API
|
|
|
|
|
|
*/
|
|
|
|
|
|
export interface GeneratorConfig {
|
|
|
|
|
|
/** Путь к файлу OpenAPI спецификации */
|
|
|
|
|
|
inputPath: string;
|
|
|
|
|
|
/** Путь для сохранения сгенерированных файлов */
|
|
|
|
|
|
outputPath: string;
|
|
|
|
|
|
/** Имя сгенерированного файла (без расширения) */
|
|
|
|
|
|
fileName?: string;
|
2025-10-28 10:51:14 +03:00
|
|
|
|
/** Генерировать SWR hooks для React */
|
|
|
|
|
|
useSwr?: boolean;
|
2025-10-26 22:30:58 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Валидация конфигурации генератора
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function validateConfig(config: Partial<GeneratorConfig>): config is GeneratorConfig {
|
|
|
|
|
|
const errors: string[] = [];
|
|
|
|
|
|
|
|
|
|
|
|
if (!config.inputPath) {
|
|
|
|
|
|
errors.push('Input path is required (--input)');
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (!config.outputPath) {
|
|
|
|
|
|
errors.push('Output path is required (--output)');
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (errors.length > 0) {
|
|
|
|
|
|
throw new Error(`Configuration validation failed:\n${errors.map(e => ` - ${e}`).join('\n')}`);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|