Skip to content

Commit e1a4e7e

Browse files
fix mypy
1 parent 2d8129b commit e1a4e7e

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ def __init__(
677677

678678
def _init_mappings(self) -> None:
679679
self.PYDANTIC_MODEL_TO_CONSTRUCTOR: Dict[
680-
Type[BaseModel], Union[Type[ComponentConstructor], Callable[..., Any]]
680+
Type[BaseModel], Union[Type[ComponentConstructor[Any]], Callable[..., Any]]
681681
] = {
682682
AddedFieldDefinitionModel: self.create_added_field_definition,
683683
AddFieldsModel: self.create_add_fields,
@@ -826,8 +826,11 @@ def create_component(
826826
)
827827

828828
def _create_component_from_model(
829-
self, model: BaseModel, config: Config, **kwargs: Any
830-
) -> ComponentConstructor[BaseModel]:
829+
self,
830+
model: BaseModel,
831+
config: Config,
832+
**kwargs: Any,
833+
) -> Any: # TODO: change -> Any to -> ComponentConstructor[BaseModel] once all components are updated with ComponentConstructor logic
831834
if model.__class__ not in self.PYDANTIC_MODEL_TO_CONSTRUCTOR:
832835
raise ValueError(
833836
f"{model.__class__} with attributes {model} is not a valid component type"
@@ -847,8 +850,12 @@ def _create_component_from_model(
847850
**kwargs,
848851
)
849852
return component_instance
850-
else:
853+
if inspect.ismethod(component):
851854
return component(model=model, config=config, **kwargs)
855+
raise ValueError(
856+
f"Unexpected component mapping type for {model.__class__}. "
857+
f"Instance shource be one of ComponentConstructor or method implemented in ModelToComponentFactory"
858+
)
852859

853860
def get_model_deprecations(self) -> List[ConnectorBuilderLogMessage]:
854861
"""

0 commit comments

Comments
 (0)