phillipdupuis / pydantic-to-typescript

CLI Tool for converting pydantic models into typescript definitions
MIT License
285 stars 48 forks source link

Custom __root__ dict models generated as empty types #39

Open mikewilli opened 1 year ago

mikewilli commented 1 year ago

I am seeing an issue when generating typescript types from pydantic models that consist of a custom root dict field, like this:

Pydantic model:

class CustomModel(BaseModel):
    __root__: dict[str, int]

Expected result:

export interface CustomModel {
  [k: string]: int;
}

Actual result:

export interface CustomModel {}

I can work around this issue by setting extra=Extra.allow on the pydantic model, but I would rather avoid having to do this. This comment explains why the workaround is necessary.

Python 3.10 Pydantic 1.10 pydantic-to-typescript 1.0.10

marcelomarkus commented 1 year ago

try add a CustomModel class Config: validate_assignment = True allow_population_by_field_name = True