34 lines
933 B
TypeScript
34 lines
933 B
TypeScript
|
|
/**
|
|||
|
|
* Конфигурация генератора API
|
|||
|
|
*/
|
|||
|
|
export interface GeneratorConfig {
|
|||
|
|
/** Путь к файлу OpenAPI спецификации */
|
|||
|
|
inputPath: string;
|
|||
|
|
/** Путь для сохранения сгенерированных файлов */
|
|||
|
|
outputPath: string;
|
|||
|
|
/** Имя сгенерированного файла (без расширения) */
|
|||
|
|
fileName?: string;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* Валидация конфигурации генератора
|
|||
|
|
*/
|
|||
|
|
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;
|
|||
|
|
}
|
|||
|
|
|