mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 16:57:10 +00:00
Add type hints to template result wrapper (#82575)
* Add type hints to template result wrapper * Remove `ignore[call-arg]` * Use tuple * Alphabetise
This commit is contained in:
parent
9dd1b85cbb
commit
b525259878
@ -170,10 +170,10 @@ class ResultWrapper:
|
|||||||
render_result: str | None
|
render_result: str | None
|
||||||
|
|
||||||
|
|
||||||
def gen_result_wrapper(kls):
|
def gen_result_wrapper(kls: type[dict | list | set]) -> type:
|
||||||
"""Generate a result wrapper."""
|
"""Generate a result wrapper."""
|
||||||
|
|
||||||
class Wrapper(kls, ResultWrapper):
|
class Wrapper(kls, ResultWrapper): # type: ignore[valid-type,misc]
|
||||||
"""Wrapper of a kls that can store render_result."""
|
"""Wrapper of a kls that can store render_result."""
|
||||||
|
|
||||||
def __init__(self, *args: Any, render_result: str | None = None) -> None:
|
def __init__(self, *args: Any, render_result: str | None = None) -> None:
|
||||||
@ -186,7 +186,7 @@ def gen_result_wrapper(kls):
|
|||||||
if kls is set:
|
if kls is set:
|
||||||
return str(set(self))
|
return str(set(self))
|
||||||
|
|
||||||
return cast(str, kls.__str__(self))
|
return kls.__str__(self)
|
||||||
|
|
||||||
return self.render_result
|
return self.render_result
|
||||||
|
|
||||||
@ -214,10 +214,8 @@ class TupleWrapper(tuple, ResultWrapper):
|
|||||||
return self.render_result
|
return self.render_result
|
||||||
|
|
||||||
|
|
||||||
RESULT_WRAPPERS: dict[type, type] = {
|
_types: tuple[type[dict | list | set], ...] = (dict, list, set)
|
||||||
kls: gen_result_wrapper(kls) # type: ignore[no-untyped-call]
|
RESULT_WRAPPERS: dict[type, type] = {kls: gen_result_wrapper(kls) for kls in _types}
|
||||||
for kls in (list, dict, set)
|
|
||||||
}
|
|
||||||
RESULT_WRAPPERS[tuple] = TupleWrapper
|
RESULT_WRAPPERS[tuple] = TupleWrapper
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user