Перетворення класів Python Pydantic у TypeScript-інтерфейси

pic

Pydantic — це популярна бібліотека Python для валідації даних та управління налаштуваннями. Якщо ви працюєте над проєктом, що включає як Python-бекенд, так і TypeScript-фронтенд, вам може знадобитися генерувати TypeScript-інтерфейси з ваших моделей Pydantic. Це забезпечує узгодженість у структурі даних і мінімізує ризик невідповідностей.

Встановіть datamodel-code-generator

datamodel-code-generator — потужний інструмент для перетворення моделей Pydantic у TypeScript-інтерфейси. Встановіть його за допомогою pip:

pip install datamodel-code-generator

Генерація TypeScript-інтерфейсів

Запустіть наступну команду, вказавши шлях до Python-файлу, що містить ваші моделі Pydantic:

datamodel-codegen - input your_models.py - output models.ts - target typescript

• — input: Шлях до файлу з вашими моделями Pydantic.

• — output: Згенерований TypeScript-файл.

• — target: Визначає тип виводу, в даному випадку це typescript.

Перегляньте згенеровані інтерфейси

Ось приклад того, як може виглядати перетворення:

Модель Pydantic на Python:

from pydantic import BaseModel  
class User(BaseModel):  
 id: int  
 username: str  
 email: str  
 is_active: bool

Згенерований TypeScript-інтерфейс:

export interface User {  
 id: number;  
 username: string;  
 email: string;  
 is_active: boolean;  
}

Генератор перетворює типи Python на їх TypeScript-еквіваленти, забезпечуючи узгодженість між вашим бекендом і фронтендом.

Для великих проєктів ви можете інтегрувати процес генерації коду в ваш CI/CD pipeline, щоб автоматично підтримувати TypeScript-інтерфейси в актуальному стані з моделями Pydantic.

З таким підходом ви спрощуєте розробку та зберігаєте єдине джерело правди для ваших моделей даних.

Перекладено з: Converting Python Pydantic Classes to TypeScript Interfaces

Leave a Reply

Your email address will not be published. Required fields are marked *