Files
api-codegen/src/config.ts

36 lines
1010 B
TypeScript
Raw Normal View History

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