diff --git a/esphome/components/lvgl/schemas.py b/esphome/components/lvgl/schemas.py index ac56a93867..320cd90bf7 100644 --- a/esphome/components/lvgl/schemas.py +++ b/esphome/components/lvgl/schemas.py @@ -1,4 +1,5 @@ from collections.abc import Callable +from typing import Any from esphome import config_validation as cv from esphome.automation import Trigger, validate_automation @@ -534,7 +535,7 @@ def strip_defaults(schema: cv.Schema): return cv.Schema({cv.Optional(k): v for k, v in schema.schema.items()}) -def container_schema(widget_type: WidgetType, extras=None): +def container_schema(widget_type: WidgetType, extras=None) -> Callable[[Any], Any]: """ Create a schema for a container widget of a given type. All obj properties are available, plus the extras passed in, plus any defined for the specific widget being specified. @@ -558,7 +559,7 @@ def container_schema(widget_type: WidgetType, extras=None): get_schema = lazy_once(build) - def validator(value): + def validator(value: Any) -> Any: value = value or {} return append_layout_schema(get_schema(), value)(value) diff --git a/esphome/components/lvgl/widgets/__init__.py b/esphome/components/lvgl/widgets/__init__.py index 20e7312b63..b1f7bd33f9 100644 --- a/esphome/components/lvgl/widgets/__init__.py +++ b/esphome/components/lvgl/widgets/__init__.py @@ -1,4 +1,6 @@ +from collections.abc import Callable import sys +from typing import Any from esphome import codegen as cg, config_validation as cv from esphome.automation import register_action @@ -74,7 +76,7 @@ from ..types import ( EVENT_LAMB = "event_lamb__" -def _lazy_update_schema(widget_type: "WidgetType"): +def _lazy_update_schema(widget_type: "WidgetType") -> Callable[[Any], Any]: """Defer construction of a widget's update-action schema until first use. base_update_schema(...).extend(widget_type.modify_schema) compiles several @@ -87,7 +89,7 @@ def _lazy_update_schema(widget_type: "WidgetType"): level would deadlock the import. """ - def build(): + def build() -> Schema: from ..schemas import base_update_schema return base_update_schema(widget_type, widget_type.parts).extend( @@ -96,7 +98,7 @@ def _lazy_update_schema(widget_type: "WidgetType"): get_schema = lazy_once(build) - def validator(value): + def validator(value: Any) -> Any: return get_schema()(value) return validator