|
@@ -202,7 +202,7 @@ class GrandchildState(ChildState):
|
|
|
class GrandchildState2(ChildState2):
|
|
|
"""A grandchild state fixture."""
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def cached(self) -> str:
|
|
|
"""A cached var.
|
|
|
|
|
@@ -215,7 +215,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.
|
|
|
|
|
@@ -796,7 +796,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 == []
|
|
@@ -823,7 +823,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": ""},
|
|
|
}
|
|
@@ -839,7 +839,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": ""},
|
|
|
}
|
|
@@ -989,7 +989,7 @@ class InterdependentState(BaseState):
|
|
|
v1: int = 0
|
|
|
_v2: int = 1
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def v1x2(self) -> int:
|
|
|
"""Depends on var v1.
|
|
|
|
|
@@ -998,7 +998,7 @@ class InterdependentState(BaseState):
|
|
|
"""
|
|
|
return self.v1 * 2
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def v2x2(self) -> int:
|
|
|
"""Depends on backend var _v2.
|
|
|
|
|
@@ -1007,7 +1007,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.
|
|
|
|
|
@@ -1016,7 +1016,7 @@ class InterdependentState(BaseState):
|
|
|
"""
|
|
|
return self._v2 * 2
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def v1x2x2(self) -> int:
|
|
|
"""Depends on ComputedVar v1x2.
|
|
|
|
|
@@ -1025,7 +1025,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.
|
|
|
|
|
@@ -1034,7 +1034,7 @@ class InterdependentState(BaseState):
|
|
|
"""
|
|
|
return self._v2
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def v3x2(self) -> int:
|
|
|
"""Depends on ComputedVar _v3.
|
|
|
|
|
@@ -1239,7 +1239,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
|
|
@@ -1264,15 +1264,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
|
|
|
|
|
@@ -1304,14 +1304,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
|
|
|
|
|
@@ -1357,7 +1357,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
|
|
@@ -1393,7 +1393,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.
|
|
|
|
|
@@ -1402,7 +1402,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.
|
|
|
|
|
@@ -1411,7 +1411,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.
|
|
|
|
|
@@ -1420,7 +1420,7 @@ def test_computed_var_dependencies():
|
|
|
"""
|
|
|
return self.testprop
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_w(self):
|
|
|
"""Nested lambda.
|
|
|
|
|
@@ -1429,7 +1429,7 @@ def test_computed_var_dependencies():
|
|
|
"""
|
|
|
return lambda: self.w
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_x(self):
|
|
|
"""Nested function.
|
|
|
|
|
@@ -1442,7 +1442,7 @@ def test_computed_var_dependencies():
|
|
|
|
|
|
return _
|
|
|
|
|
|
- @rx.var(cache=True)
|
|
|
+ @rx.var
|
|
|
def comp_y(self) -> List[int]:
|
|
|
"""Comprehension iterating over attribute.
|
|
|
|
|
@@ -1451,7 +1451,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.
|
|
|
|
|
@@ -2027,10 +2027,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",
|
|
|
},
|
|
@@ -2053,7 +2049,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.
|
|
|
|
|
@@ -3040,10 +3036,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",
|
|
|
},
|
|
@@ -3081,10 +3073,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",
|
|
|
},
|
|
@@ -3139,7 +3127,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
|
|
|
|
|
@@ -3210,8 +3198,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()
|
|
|
|
|
|
|
|
@@ -3226,7 +3214,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", "")
|
|
|
|
|
@@ -3421,7 +3409,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.
|
|
|
|