1818 overload ,
1919)
2020
21- from redux .autorun import Autorun
2221from redux .basic_types import (
2322 Action ,
2423 ActionMiddleware ,
3231 BaseAction ,
3332 BaseEvent ,
3433 ComparatorOutput ,
35- CreateStoreOptions ,
3634 DispatchParameters ,
3735 Event ,
3836 EventHandler ,
4543 SelectorOutput ,
4644 SnapshotAtom ,
4745 State ,
46+ StoreOptions ,
4847 StrictEvent ,
4948 SubscribeEventCleanup ,
5049 UnknownAutorunDecorator ,
5958 is_state_reducer_result ,
6059)
6160from redux .serialization_mixin import SerializationMixin
62- from redux .side_effect_runner import SideEffectRunnerThread
6361
6462if TYPE_CHECKING :
6563 from collections .abc import Awaitable , Callable
@@ -69,12 +67,12 @@ class Store(Generic[State, Action, Event], SerializationMixin):
6967 """Redux store for managing state and side effects."""
7068
7169 def __init__ (
72- self : Store ,
70+ self ,
7371 reducer : ReducerType [State , Action , Event ],
74- options : CreateStoreOptions [Action , Event ] | None = None ,
72+ options : StoreOptions [Action , Event ] | None = None ,
7573 ) -> None :
7674 """Create a new store."""
77- self .store_options = options or CreateStoreOptions ()
75+ self .store_options = options or StoreOptions ()
7876 self .reducer = reducer
7977 self ._create_task = self .store_options .task_creator
8078
@@ -97,11 +95,11 @@ def __init__(
9795 tuple [EventHandler [Event ], Event ] | None
9896 ]()
9997 self ._workers = [
100- SideEffectRunnerThread (
98+ self . store_options . side_effect_runner_class (
10199 task_queue = self ._event_handlers_queue ,
102100 create_task = self ._create_task ,
103101 )
104- for _ in range (self .store_options .threads )
102+ for _ in range (self .store_options .side_effect_threads )
105103 ]
106104 for worker in self ._workers :
107105 worker .start ()
@@ -169,7 +167,7 @@ def run(self: Store[State, Action, Event]) -> None:
169167 def clean_up (self : Store [State , Action , Event ]) -> None :
170168 """Clean up the store."""
171169 self .wait_for_event_handlers ()
172- for _ in range (self .store_options .threads ):
170+ for _ in range (self .store_options .side_effect_threads ):
173171 self ._event_handlers_queue .put_nowait (None )
174172 self .wait_for_event_handlers ()
175173 for worker in self ._workers :
@@ -347,7 +345,7 @@ def autorun_decorator(
347345 AwaitableOrNot [ReturnType ],
348346 ],
349347 ) -> AutorunReturnType [AwaitableOrNot [ReturnType ], Args ]:
350- return Autorun (
348+ return self . store_options . autorun_class (
351349 store = self ,
352350 selector = selector ,
353351 comparator = comparator ,
@@ -403,7 +401,7 @@ def view_decorator(
403401 ],
404402 ) -> ViewReturnType [AwaitableOrNot [ReturnType ], Args ]:
405403 _options = options or ViewOptions ()
406- return Autorun (
404+ return self . store_options . autorun_class (
407405 store = self ,
408406 selector = selector ,
409407 comparator = None ,
0 commit comments