|
7 | 7 | from pathlib import Path # noqa: TC003 - used at runtime by Pydantic |
8 | 8 | from typing import TYPE_CHECKING, Annotated, Any |
9 | 9 |
|
10 | | -from pydantic import BaseModel, Field, WithJsonSchema |
| 10 | +from pydantic import BaseModel, Field |
11 | 11 |
|
12 | 12 | from datamodel_code_generator.enums import ( |
13 | 13 | DEFAULT_SHARED_MODULE_NAME, |
|
48 | 48 | CallableSchema = Callable[[str], str] |
49 | 49 | DumpResolveReferenceAction = Callable[[Iterable[str]], str] |
50 | 50 | DefaultPutDictSchema = DefaultPutDict[str, str] |
51 | | -ExtraTemplateDataType = Annotated[ |
52 | | - defaultdict[str, Annotated[dict[str, Any], Field(default_factory=dict)]], |
53 | | - WithJsonSchema({"type": "object", "x-python-type": "defaultdict[str, dict[str, Any]]"}), |
54 | | -] |
| 51 | +if TYPE_CHECKING: |
| 52 | + ExtraTemplateDataType = defaultdict[str, dict[str, Any]] |
| 53 | +elif is_pydantic_v2(): |
| 54 | + ExtraTemplateDataType = defaultdict[str, Annotated[dict[str, Any], Field(default_factory=dict)]] |
| 55 | +else: |
| 56 | + ExtraTemplateDataType = defaultdict[str, dict[str, Any]] |
55 | 57 |
|
56 | 58 |
|
57 | 59 | class GenerateConfig(BaseModel): |
|
0 commit comments