From fcd80b2ed7264838d720df3170f7df15ce353a5f Mon Sep 17 00:00:00 2001 From: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Date: Tue, 4 Jan 2022 15:23:48 +0100 Subject: [PATCH] Fix `ensure_list` typing (#63311) --- homeassistant/helpers/config_validation.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/homeassistant/helpers/config_validation.py b/homeassistant/helpers/config_validation.py index 06560de815d..2af9ec7c853 100644 --- a/homeassistant/helpers/config_validation.py +++ b/homeassistant/helpers/config_validation.py @@ -251,15 +251,20 @@ def ensure_list(value: None) -> list[Any]: @overload -def ensure_list(value: T | list[T]) -> list[T]: +def ensure_list(value: list[T]) -> list[T]: ... -def ensure_list(value: T | list[T] | None) -> list[T] | list[Any]: +@overload +def ensure_list(value: list[T] | T) -> list[T]: + ... + + +def ensure_list(value: T | None) -> list[T] | list[Any]: """Wrap value in list if it is not one.""" if value is None: return [] - return value if isinstance(value, list) else [value] + return cast("list[T]", value) if isinstance(value, list) else [value] def entity_id(value: Any) -> str: