4343
4444 import inflect
4545
46- from datamodel_code_generator .model .base import DataModel , DataModelFieldBase
4746 from datamodel_code_generator .types import DataType
4847
4948
@@ -54,7 +53,7 @@ def _is_data_type(value: object) -> TypeIs[DataType]:
5453 return isinstance (value , DataType_ )
5554
5655
57- def _is_data_model (value : object ) -> TypeIs [ DataModel ] :
56+ def _is_data_model (value : object ) -> bool :
5857 """Check if value is a DataModel instance."""
5958 from datamodel_code_generator .model .base import DataModel as DataModel_ # noqa: PLC0415
6059
@@ -79,25 +78,25 @@ def reference(self) -> Reference | None:
7978
8079if TYPE_CHECKING :
8180
82- class _ReferenceSource (Protocol ):
81+ class _ReferenceSource (ReferenceChild , Protocol ):
8382 """Protocol for objects that can be assigned to Reference.source."""
8483
85- fields : list [ DataModelFieldBase ]
84+ fields : Sequence [ Any ]
8685
8786 @property
8887 def is_alias (self ) -> bool :
8988 """Return whether this source renders as an alias."""
90- ...
89+ raise NotImplementedError
9190
9291 @property
9392 def module_name (self ) -> str | None :
9493 """Return this source module name."""
95- ...
94+ raise NotImplementedError
9695
9796 @property
9897 def nullable (self ) -> bool :
9998 """Return whether this source is nullable."""
100- ...
99+ raise NotImplementedError
101100
102101else :
103102 _ReferenceSource = ReferenceChild
@@ -184,7 +183,7 @@ def replace_children_references(self, new_reference: Reference) -> None:
184183 if _is_data_type (child ):
185184 child .replace_reference (new_reference )
186185
187- def iter_data_model_children (self ) -> Iterator [DataModel ]:
186+ def iter_data_model_children (self ) -> Iterator [Any ]:
188187 """Yield all DataModel children."""
189188 for child in self .children :
190189 if _is_data_model (child ):
0 commit comments