Spaces:
Running
Running
| from typing import TYPE_CHECKING, Any | |
| if TYPE_CHECKING: | |
| from langflow.inputs.inputs import InputTypes, InputTypesMap | |
| else: | |
| InputTypes = Any | |
| InputTypesMap = Any | |
| # Lazy import for InputTypesMap | |
| _InputTypesMap: dict[str, type["InputTypes"]] | None = None | |
| def get_input_types_map(): | |
| global _InputTypesMap # noqa: PLW0603 | |
| if _InputTypesMap is None: | |
| from langflow.inputs.inputs import InputTypesMap | |
| _InputTypesMap = InputTypesMap | |
| return _InputTypesMap | |
| def instantiate_input(input_type: str, data: dict) -> InputTypes: | |
| input_types_map = get_input_types_map() | |
| input_type_class = input_types_map.get(input_type) | |
| if "type" in data: | |
| # Replace with field_type | |
| data["field_type"] = data.pop("type") | |
| if input_type_class: | |
| return input_type_class(**data) | |
| msg = f"Invalid input type: {input_type}" | |
| raise ValueError(msg) | |