iter_state/
iter_state.rs

1use rs_store::{DispatchOp, FnReducer, StoreImpl};
2
3fn main() {
4    // new store with reducer
5    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    // dispatch actions
16    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    // stop the store
23    store.stop();
24
25    assert_eq!(iter.next(), None);
26    eprintln!("exit");
27}