|
@@ -203,7 +203,7 @@ class GrandchildState(ChildState):
|
|
|
class GrandchildState2(ChildState2):
|
|
|
"""A grandchild state fixture."""
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def cached(self) -> str:
|
|
|
"""A cached var.
|
|
|
|
|
@@ -216,7 +216,7 @@ class GrandchildState2(ChildState2):
|
|
|
class GrandchildState3(ChildState3):
|
|
|
"""A great grandchild state fixture."""
|
|
|
|
|
|
- @rx.var
|
|
|
+ @rx.var(cache=False)
|
|
|
def computed(self) -> str:
|
|
|
"""A computed var.
|
|
|
|
|
@@ -800,7 +800,7 @@ async def test_process_event_simple(test_state):
|
|
|
|
|
|
# The delta should contain the changes, including computed vars.
|
|
|
assert update.delta == {
|
|
|
- TestState.get_full_name(): {"num1": 69, "sum": 72.14, "upper": ""},
|
|
|
+ TestState.get_full_name(): {"num1": 69, "sum": 72.14},
|
|
|
GrandchildState3.get_full_name(): {"computed": ""},
|
|
|
}
|
|
|
assert update.events == []
|
|
@@ -827,7 +827,7 @@ async def test_process_event_substate(test_state, child_state, grandchild_state)
|
|
|
assert child_state.value == "HI"
|
|
|
assert child_state.count == 24
|
|
|
assert update.delta == {
|
|
|
- TestState.get_full_name(): {"sum": 3.14, "upper": ""},
|
|
|
+ # TestState.get_full_name(): {"sum": 3.14, "upper": ""},
|
|
|
ChildState.get_full_name(): {"value": "HI", "count": 24},
|
|
|
GrandchildState3.get_full_name(): {"computed": ""},
|
|
|
}
|
|
@@ -843,7 +843,7 @@ async def test_process_event_substate(test_state, child_state, grandchild_state)
|
|
|
update = await test_state._process(event).__anext__()
|
|
|
assert grandchild_state.value2 == "new"
|
|
|
assert update.delta == {
|
|
|
- TestState.get_full_name(): {"sum": 3.14, "upper": ""},
|
|
|
+ # TestState.get_full_name(): {"sum": 3.14, "upper": ""},
|
|
|
GrandchildState.get_full_name(): {"value2": "new"},
|
|
|
GrandchildState3.get_full_name(): {"computed": ""},
|
|
|
}
|
|
@@ -993,7 +993,7 @@ class InterdependentState(BaseState):
|
|
|
v1: int = 0
|
|
|
_v2: int = 1
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def v1x2(self) -> int:
|
|
|
"""Depends on var v1.
|
|
|
|
|
@@ -1002,7 +1002,7 @@ class InterdependentState(BaseState):
|
|
|
"""
|
|
|
return self.v1 * 2
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def v2x2(self) -> int:
|
|
|
"""Depends on backend var _v2.
|
|
|
|
|
@@ -1011,7 +1011,7 @@ class InterdependentState(BaseState):
|
|
|
"""
|
|
|
return self._v2 * 2
|
|
|
|
|
|
- @rx.var(cache=True, backend=True)
|
|
|
+ @rx.var(backend=True)
|
|
|
def v2x2_backend(self) -> int:
|
|
|
"""Depends on backend var _v2.
|
|
|
|
|
@@ -1020,7 +1020,7 @@ class InterdependentState(BaseState):
|
|
|
"""
|
|
|
return self._v2 * 2
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def v1x2x2(self) -> int:
|
|
|
"""Depends on ComputedVar v1x2.
|
|
|
|
|
@@ -1029,7 +1029,7 @@ class InterdependentState(BaseState):
|
|
|
"""
|
|
|
return self.v1x2 * 2 # type: ignore
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def _v3(self) -> int:
|
|
|
"""Depends on backend var _v2.
|
|
|
|
|
@@ -1038,7 +1038,7 @@ class InterdependentState(BaseState):
|
|
|
"""
|
|
|
return self._v2
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def v3x2(self) -> int:
|
|
|
"""Depends on ComputedVar _v3.
|
|
|
|
|
@@ -1243,7 +1243,7 @@ def test_computed_var_cached():
|
|
|
class ComputedState(BaseState):
|
|
|
v: int = 0
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_v(self) -> int:
|
|
|
nonlocal comp_v_calls
|
|
|
comp_v_calls += 1
|
|
@@ -1268,15 +1268,15 @@ def test_computed_var_cached_depends_on_non_cached():
|
|
|
class ComputedState(BaseState):
|
|
|
v: int = 0
|
|
|
|
|
|
- @rx.var
|
|
|
+ @rx.var(cache=False)
|
|
|
def no_cache_v(self) -> int:
|
|
|
return self.v
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def dep_v(self) -> int:
|
|
|
return self.no_cache_v # type: ignore
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_v(self) -> int:
|
|
|
return self.v
|
|
|
|
|
@@ -1308,14 +1308,14 @@ def test_computed_var_depends_on_parent_non_cached():
|
|
|
counter = 0
|
|
|
|
|
|
class ParentState(BaseState):
|
|
|
- @rx.var
|
|
|
+ @rx.var(cache=False)
|
|
|
def no_cache_v(self) -> int:
|
|
|
nonlocal counter
|
|
|
counter += 1
|
|
|
return counter
|
|
|
|
|
|
class ChildState(ParentState):
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def dep_v(self) -> int:
|
|
|
return self.no_cache_v # type: ignore
|
|
|
|
|
@@ -1362,7 +1362,7 @@ def test_cached_var_depends_on_event_handler(use_partial: bool):
|
|
|
def handler(self):
|
|
|
self.x = self.x + 1
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def cached_x_side_effect(self) -> int:
|
|
|
self.handler()
|
|
|
nonlocal counter
|
|
@@ -1398,7 +1398,7 @@ def test_computed_var_dependencies():
|
|
|
def testprop(self) -> int:
|
|
|
return self.v
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_v(self) -> int:
|
|
|
"""Direct access.
|
|
|
|
|
@@ -1407,7 +1407,7 @@ def test_computed_var_dependencies():
|
|
|
"""
|
|
|
return self.v
|
|
|
|
|
|
- @rx.var(cache=True, backend=True)
|
|
|
+ @rx.var(backend=True)
|
|
|
def comp_v_backend(self) -> int:
|
|
|
"""Direct access backend var.
|
|
|
|
|
@@ -1416,7 +1416,7 @@ def test_computed_var_dependencies():
|
|
|
"""
|
|
|
return self.v
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_v_via_property(self) -> int:
|
|
|
"""Access v via property.
|
|
|
|
|
@@ -1425,7 +1425,7 @@ def test_computed_var_dependencies():
|
|
|
"""
|
|
|
return self.testprop
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_w(self):
|
|
|
"""Nested lambda.
|
|
|
|
|
@@ -1434,7 +1434,7 @@ def test_computed_var_dependencies():
|
|
|
"""
|
|
|
return lambda: self.w
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_x(self):
|
|
|
"""Nested function.
|
|
|
|
|
@@ -1447,7 +1447,7 @@ def test_computed_var_dependencies():
|
|
|
|
|
|
return _
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_y(self) -> List[int]:
|
|
|
"""Comprehension iterating over attribute.
|
|
|
|
|
@@ -1456,7 +1456,7 @@ def test_computed_var_dependencies():
|
|
|
"""
|
|
|
return [round(y) for y in self.y]
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_z(self) -> List[bool]:
|
|
|
"""Comprehension accesses attribute.
|
|
|
|
|
@@ -2035,10 +2035,6 @@ async def test_state_proxy(grandchild_state: GrandchildState, mock_app: rx.App):
|
|
|
assert mcall.args[0] == str(SocketEvent.EVENT)
|
|
|
assert mcall.args[1] == StateUpdate(
|
|
|
delta={
|
|
|
- parent_state.get_full_name(): {
|
|
|
- "upper": "",
|
|
|
- "sum": 3.14,
|
|
|
- },
|
|
|
grandchild_state.get_full_name(): {
|
|
|
"value2": "42",
|
|
|
},
|
|
@@ -2061,7 +2057,7 @@ class BackgroundTaskState(BaseState):
|
|
|
super().__init__(**kwargs)
|
|
|
self.router_data = {"simulate": "hydrate"}
|
|
|
|
|
|
- @rx.var
|
|
|
+ @rx.var(cache=False)
|
|
|
def computed_order(self) -> List[str]:
|
|
|
"""Get the order as a computed var.
|
|
|
|
|
@@ -3052,10 +3048,6 @@ async def test_get_state(mock_app: rx.App, token: str):
|
|
|
grandchild_state.value2 = "set_value"
|
|
|
|
|
|
assert test_state.get_delta() == {
|
|
|
- TestState.get_full_name(): {
|
|
|
- "sum": 3.14,
|
|
|
- "upper": "",
|
|
|
- },
|
|
|
GrandchildState.get_full_name(): {
|
|
|
"value2": "set_value",
|
|
|
},
|
|
@@ -3093,10 +3085,6 @@ async def test_get_state(mock_app: rx.App, token: str):
|
|
|
child_state2.value = "set_c2_value"
|
|
|
|
|
|
assert new_test_state.get_delta() == {
|
|
|
- TestState.get_full_name(): {
|
|
|
- "sum": 3.14,
|
|
|
- "upper": "",
|
|
|
- },
|
|
|
ChildState2.get_full_name(): {
|
|
|
"value": "set_c2_value",
|
|
|
},
|
|
@@ -3151,7 +3139,7 @@ async def test_get_state_from_sibling_not_cached(mock_app: rx.App, token: str):
|
|
|
|
|
|
child3_var: int = 0
|
|
|
|
|
|
- @rx.var
|
|
|
+ @rx.var(cache=False)
|
|
|
def v(self):
|
|
|
pass
|
|
|
|
|
@@ -3222,8 +3210,8 @@ def test_potentially_dirty_substates():
|
|
|
def bar(self) -> str:
|
|
|
return ""
|
|
|
|
|
|
- assert RxState._potentially_dirty_substates() == {State}
|
|
|
- assert State._potentially_dirty_substates() == {C1}
|
|
|
+ assert RxState._potentially_dirty_substates() == set()
|
|
|
+ assert State._potentially_dirty_substates() == set()
|
|
|
assert C1._potentially_dirty_substates() == set()
|
|
|
|
|
|
|
|
@@ -3238,7 +3226,7 @@ def test_router_var_dep() -> None:
|
|
|
class RouterVarDepState(RouterVarParentState):
|
|
|
"""A state with a router var dependency."""
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def foo(self) -> str:
|
|
|
return self.router.page.params.get("foo", "")
|
|
|
|
|
@@ -3433,7 +3421,7 @@ class MixinState(State, mixin=True):
|
|
|
_backend: int = 0
|
|
|
_backend_no_default: dict
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def computed(self) -> str:
|
|
|
"""A computed var on mixin state.
|
|
|
|