1use rs_store::{DispatchOp, FnReducer, StoreImpl};
2
3fn main() {
4 let store = StoreImpl::new_with_reducer(
6 0,
7 Box::new(FnReducer::from(|state: &i32, action: &i32| {
8 println!("reducer: {} + {}", state, action);
9 DispatchOp::Dispatch(state + action, None)
10 })),
11 );
12
13 let mut iter = store.iter();
14
15 let _ = store.dispatch(41);
17 let _ = store.dispatch(1);
18
19 assert_eq!(iter.next(), Some((41, 41)));
20 assert_eq!(iter.next(), Some((42, 1)));
21
22 store.stop();
24
25 assert_eq!(iter.next(), None);
26 eprintln!("exit");
27}