Fix ensure_list typing (#63311)

This commit is contained in:
Marc Mueller 2022-01-04 15:23:48 +01:00 committed by GitHub
parent 05834029a5
commit fcd80b2ed7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -251,15 +251,20 @@ def ensure_list(value: None) -> list[Any]:
@overload @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.""" """Wrap value in list if it is not one."""
if value is None: if value is None:
return [] 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: def entity_id(value: Any) -> str: