use log::{Level, LevelFilter};
use redux_rs::middlewares::logger::LoggerMiddleware;
use redux_rs::{Store, StoreApi};
#[derive(Default)]
struct EmptyStore;
#[derive(Debug)]
struct LogableAction(&'static str);
fn nop_reducer(store: EmptyStore, _action: LogableAction) -> EmptyStore {
store
}
#[tokio::main]
async fn main() {
env_logger::builder().filter(None, LevelFilter::Debug).init();
let logger_middleware = LoggerMiddleware::new(Level::Debug);
let store = Store::new(nop_reducer).wrap(logger_middleware).await;
store.dispatch(LogableAction("First action")).await;
store.dispatch(LogableAction("Second action")).await;
store.dispatch(LogableAction("Third action")).await;
}