unbreak ci
This commit is contained in:
parent
c3b8e7a5e1
commit
0430ab42c2
@ -26,6 +26,7 @@ from typing import (
|
||||
Iterable,
|
||||
List,
|
||||
Literal,
|
||||
Mapping,
|
||||
NoReturn,
|
||||
Optional,
|
||||
Set,
|
||||
@ -128,7 +129,7 @@ class VarData:
|
||||
state: str = "",
|
||||
field_name: str = "",
|
||||
imports: ImportDict | ParsedImportDict | None = None,
|
||||
hooks: dict[str, VarData | None] | None = None,
|
||||
hooks: Mapping[str, VarData | None] | None = None,
|
||||
deps: list[Var] | None = None,
|
||||
position: Hooks.HookPosition | None = None,
|
||||
):
|
||||
@ -644,8 +645,8 @@ class Var(Generic[VAR_TYPE]):
|
||||
@overload
|
||||
def to(
|
||||
self,
|
||||
output: type[dict],
|
||||
) -> ObjectVar[dict]: ...
|
||||
output: type[Mapping],
|
||||
) -> ObjectVar[Mapping]: ...
|
||||
|
||||
@overload
|
||||
def to(
|
||||
@ -823,7 +824,7 @@ class Var(Generic[VAR_TYPE]):
|
||||
return False
|
||||
if issubclass(type_, list):
|
||||
return []
|
||||
if issubclass(type_, dict):
|
||||
if issubclass(type_, Mapping):
|
||||
return {}
|
||||
if issubclass(type_, tuple):
|
||||
return ()
|
||||
@ -1029,7 +1030,7 @@ class Var(Generic[VAR_TYPE]):
|
||||
f"$/{constants.Dirs.STATE_PATH}": [imports.ImportVar(tag="refs")]
|
||||
}
|
||||
),
|
||||
).to(ObjectVar, Dict[str, str])
|
||||
).to(ObjectVar, Mapping[str, str])
|
||||
return refs[LiteralVar.create(str(self))]
|
||||
|
||||
@deprecated("Use `.js_type()` instead.")
|
||||
@ -1376,7 +1377,7 @@ class LiteralVar(Var):
|
||||
|
||||
serialized_value = serializers.serialize(value)
|
||||
if serialized_value is not None:
|
||||
if isinstance(serialized_value, dict):
|
||||
if isinstance(serialized_value, Mapping):
|
||||
return LiteralObjectVar.create(
|
||||
serialized_value,
|
||||
_var_type=type(value),
|
||||
@ -1461,7 +1462,7 @@ def get_python_literal(value: Union[LiteralVar, Any]) -> Any | None:
|
||||
|
||||
|
||||
P = ParamSpec("P")
|
||||
T = TypeVar("T")
|
||||
T = TypeVar("T", covariant=True)
|
||||
|
||||
|
||||
# NoReturn is used to match CustomVarOperationReturn with no type hint.
|
||||
@ -1501,7 +1502,7 @@ def var_operation(
|
||||
) -> Callable[P, ArrayVar[LIST_T]]: ...
|
||||
|
||||
|
||||
OBJECT_TYPE = TypeVar("OBJECT_TYPE", bound=Dict)
|
||||
OBJECT_TYPE = TypeVar("OBJECT_TYPE", bound=Mapping)
|
||||
|
||||
|
||||
@overload
|
||||
@ -1576,8 +1577,8 @@ def figure_out_type(value: Any) -> types.GenericType:
|
||||
return Set[unionize(*(figure_out_type(v) for v in value))]
|
||||
if isinstance(value, tuple):
|
||||
return Tuple[unionize(*(figure_out_type(v) for v in value)), ...]
|
||||
if isinstance(value, dict):
|
||||
return Dict[
|
||||
if isinstance(value, Mapping):
|
||||
return Mapping[
|
||||
unionize(*(figure_out_type(k) for k in value)),
|
||||
unionize(*(figure_out_type(v) for v in value.values())),
|
||||
]
|
||||
@ -2005,10 +2006,10 @@ class ComputedVar(Var[RETURN_TYPE]):
|
||||
|
||||
@overload
|
||||
def __get__(
|
||||
self: ComputedVar[dict[DICT_KEY, DICT_VAL]],
|
||||
self: ComputedVar[Mapping[DICT_KEY, DICT_VAL]],
|
||||
instance: None,
|
||||
owner: Type,
|
||||
) -> ObjectVar[dict[DICT_KEY, DICT_VAL]]: ...
|
||||
) -> ObjectVar[Mapping[DICT_KEY, DICT_VAL]]: ...
|
||||
|
||||
@overload
|
||||
def __get__(
|
||||
@ -2960,8 +2961,8 @@ class Field(Generic[T]):
|
||||
|
||||
@overload
|
||||
def __get__(
|
||||
self: Field[Dict[str, V]], instance: None, owner
|
||||
) -> ObjectVar[Dict[str, V]]: ...
|
||||
self: Field[Mapping[str, V]], instance: None, owner
|
||||
) -> ObjectVar[Mapping[str, V]]: ...
|
||||
|
||||
@overload
|
||||
def __get__(
|
||||
|
@ -74,7 +74,7 @@ class ObjectVar(Var[OBJECT_TYPE], python_types=Mapping):
|
||||
fixed_type = get_origin(self._var_type) or self._var_type
|
||||
if not isclass(fixed_type):
|
||||
return Any
|
||||
args = get_args(self._var_type) if issubclass(fixed_type, dict) else ()
|
||||
args = get_args(self._var_type) if issubclass(fixed_type, Mapping) else ()
|
||||
return args[1] if args else Any
|
||||
|
||||
def keys(self) -> ArrayVar[List[str]]:
|
||||
@ -272,7 +272,7 @@ class ObjectVar(Var[OBJECT_TYPE], python_types=Mapping):
|
||||
var_type = get_args(var_type)[0]
|
||||
|
||||
fixed_type = var_type if isclass(var_type) else get_origin(var_type)
|
||||
if (isclass(fixed_type) and not issubclass(fixed_type, dict)) or (
|
||||
if (isclass(fixed_type) and not issubclass(fixed_type, Mapping)) or (
|
||||
fixed_type in types.UnionTypes
|
||||
):
|
||||
attribute_type = get_attribute_access_type(var_type, name)
|
||||
@ -389,7 +389,7 @@ class LiteralObjectVar(CachedVarOperation, ObjectVar[OBJECT_TYPE], LiteralVar):
|
||||
@classmethod
|
||||
def create(
|
||||
cls,
|
||||
_var_value: dict,
|
||||
_var_value: Mapping,
|
||||
_var_type: Type[OBJECT_TYPE] | None = None,
|
||||
_var_data: VarData | None = None,
|
||||
) -> LiteralObjectVar[OBJECT_TYPE]:
|
||||
|
@ -1,4 +1,4 @@
|
||||
from typing import Dict, List, Tuple
|
||||
from typing import List, Mapping, Tuple
|
||||
|
||||
import pytest
|
||||
|
||||
@ -67,7 +67,7 @@ def test_match_components():
|
||||
assert fourth_return_value_render["children"][0]["contents"] == '{"fourth value"}'
|
||||
|
||||
assert match_cases[4][0]._js_expr == '({ ["foo"] : "bar" })'
|
||||
assert match_cases[4][0]._var_type == Dict[str, str]
|
||||
assert match_cases[4][0]._var_type == Mapping[str, str]
|
||||
fifth_return_value_render = match_cases[4][1].render()
|
||||
assert fifth_return_value_render["name"] == "RadixThemesText"
|
||||
assert fifth_return_value_render["children"][0]["contents"] == '{"fifth value"}'
|
||||
|
@ -1,6 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any, Dict
|
||||
from typing import Any, Mapping
|
||||
|
||||
import pytest
|
||||
|
||||
@ -379,7 +379,7 @@ class StyleState(rx.State):
|
||||
{
|
||||
"css": Var(
|
||||
_js_expr=f'({{ ["color"] : ("dark"+{StyleState.color}) }})'
|
||||
).to(Dict[str, str])
|
||||
).to(Mapping[str, str])
|
||||
},
|
||||
),
|
||||
(
|
||||
|
@ -2,7 +2,7 @@ import json
|
||||
import math
|
||||
import sys
|
||||
import typing
|
||||
from typing import Dict, List, Optional, Set, Tuple, Union, cast
|
||||
from typing import Dict, List, Mapping, Optional, Set, Tuple, Union, cast
|
||||
|
||||
import pytest
|
||||
from pandas import DataFrame
|
||||
@ -270,7 +270,7 @@ def test_get_setter(prop: Var, expected):
|
||||
([1, 2, 3], Var(_js_expr="[1, 2, 3]", _var_type=List[int])),
|
||||
(
|
||||
{"a": 1, "b": 2},
|
||||
Var(_js_expr='({ ["a"] : 1, ["b"] : 2 })', _var_type=Dict[str, int]),
|
||||
Var(_js_expr='({ ["a"] : 1, ["b"] : 2 })', _var_type=Mapping[str, int]),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
@ -1,4 +1,4 @@
|
||||
from typing import Dict, List, Union
|
||||
from typing import List, Mapping, Union
|
||||
|
||||
import pytest
|
||||
|
||||
@ -37,12 +37,12 @@ class ChildGenericDict(GenericDict):
|
||||
("a", str),
|
||||
([1, 2, 3], List[int]),
|
||||
([1, 2.0, "a"], List[Union[int, float, str]]),
|
||||
({"a": 1, "b": 2}, Dict[str, int]),
|
||||
({"a": 1, 2: "b"}, Dict[Union[int, str], Union[str, int]]),
|
||||
({"a": 1, "b": 2}, Mapping[str, int]),
|
||||
({"a": 1, 2: "b"}, Mapping[Union[int, str], Union[str, int]]),
|
||||
(CustomDict(), CustomDict),
|
||||
(ChildCustomDict(), ChildCustomDict),
|
||||
(GenericDict({1: 1}), Dict[int, int]),
|
||||
(ChildGenericDict({1: 1}), Dict[int, int]),
|
||||
(GenericDict({1: 1}), Mapping[int, int]),
|
||||
(ChildGenericDict({1: 1}), Mapping[int, int]),
|
||||
],
|
||||
)
|
||||
def test_figure_out_type(value, expected):
|
||||
|
Loading…
Reference in New Issue
Block a user