Skip to content

Commit 7cf7486

Browse files
authored
Type generation models (#3590)
1 parent 025e33e commit 7cf7486

1 file changed

Lines changed: 13 additions & 9 deletions

File tree

src/datamodel_code_generator/parser/generation.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,21 @@
4040
from collections.abc import Callable, Generator, Iterable, Iterator
4141
from pathlib import Path
4242

43+
from datamodel_code_generator.model.base import BaseClassDataType, DataModel, DataModelFieldBase
44+
from datamodel_code_generator.types import DataType
4345

44-
BaseClassDataType: TypeAlias = Any
45-
DataModel: TypeAlias = Any
46-
DataModelFieldBase: TypeAlias = Any
47-
DataType: TypeAlias = Any
46+
else:
47+
BaseClassDataType: TypeAlias = Any
48+
DataModel: TypeAlias = Any
49+
DataModelFieldBase: TypeAlias = Any
50+
DataType: TypeAlias = Any
51+
52+
Reference: TypeAlias = Any
4853
ModelId: TypeAlias = int
4954
DataTypeId: TypeAlias = int
5055
DataTypeRole = Literal["field", "base", "nested", "dict_key"]
5156
_OrderedSetItem = TypeVar("_OrderedSetItem")
5257
OrderedSet: TypeAlias = dict[_OrderedSetItem, None]
53-
Reference: TypeAlias = Any
5458
_PYDANTIC_V2_MODEL_MODULE_PREFIX = "datamodel_code_generator.model.pydantic_v2."
5559

5660
GENERATION_STORE_MUTATION_METHODS: frozenset[str] = frozenset({
@@ -196,7 +200,7 @@ def __setitem__(
196200
index: SupportsIndex | slice,
197201
item: Any | Iterable[Any],
198202
) -> None: # ty: ignore[invalid-method-override]
199-
super().__setitem__(index, item)
203+
super().__setitem__(index, item) # ty: ignore[no-matching-overload]
200204
self._invalidate()
201205

202206
@overload
@@ -798,7 +802,7 @@ def redirect_model_reference_users(
798802
for child in model.reference.children[:]:
799803
if id(_outermost_parent(child)) in model_ids and hasattr(child, "replace_reference"):
800804
owner_models.append(self._owner_model_for_data_type(child))
801-
child.replace_reference(new_reference)
805+
child.replace_reference(new_reference) # ty: ignore[call-non-callable]
802806
self._clear_imports_cache_for_models(owner_models)
803807
self._invalidate_after_mutation()
804808

@@ -866,8 +870,8 @@ def _owner_model_for_field(field_: DataModelFieldBase) -> DataModel | None:
866870
return owner_model if hasattr(owner_model, "clear_imports_cache") else None
867871

868872
@staticmethod
869-
def _owner_model_for_data_type(data_type: DataType) -> DataModel | None:
870-
owner_model = _outermost_parent(data_type)
873+
def _owner_model_for_data_type(data_type: object) -> Any:
874+
owner_model: Any = _outermost_parent(data_type)
871875
return owner_model if hasattr(owner_model, "clear_imports_cache") else None
872876

873877
@staticmethod

0 commit comments

Comments
 (0)