1#![allow(
10 non_snake_case,
11 unpredictable_function_pointer_comparisons,
12)]
13
14pub mod batch;
15pub mod bus;
16pub mod cmd;
17pub mod component;
18pub mod effect;
19pub mod env;
20pub mod error;
21pub mod interp;
22pub mod macros;
23pub mod optics;
24pub mod program;
25pub mod reduce_panic;
26pub mod reducer;
27pub mod replay;
28pub mod scope;
29pub mod shared;
30pub mod sub;
31pub mod test_runtime;
32#[cfg(feature = "runtime")]
33pub mod test_store;
34pub mod test_support;
35
36#[cfg(feature = "runtime")]
37pub mod runtime;
38#[cfg(feature = "runtime")]
39pub mod store;
40#[cfg(feature = "runtime")]
41pub mod subscription;
42
43pub mod keypath {
45 pub use key_paths_core::{KeyPath, KpTrait, Readable, RefKpTrait, Writable};
46 pub use rust_key_paths::{EnumKp, EnumKpType, EnumValueKpType, Kp};
47}
48
49pub use batch::batch;
50pub use bus::{Bus, BusSender};
51pub use cmd::Cmd;
52pub use component::{lift, Slot};
53pub use effect::{Effect, EffectId, EnvTaskFn, RunSender, TaskFn};
54pub use dependencies::{
55 Clock, ClockDep, ClockKey, DepRng, DependencyError, DependencyKey, DependencyValues,
56 LiveRng, LiveUuidGen, Now, NowDep, NowKey, RealClock, RngDep, RngKey, SeededRng,
57 SeededUuidGen, TestClock, TestNow, UuidDep, UuidGen, UuidKey,
58};
59pub use rust_dependencies as dependencies;
60pub use env::{defer_batch, Environment, FakeClock, MockHttp};
61pub use error::EffectError;
62pub use interp::{flatten_effects, normalize, InterpretCtx};
63pub use rust_identified_vec::{Identifiable, IdentifiedVec};
64pub use optics::{
65 enum_err, enum_ok, enum_some, enum_variant, variant_of, CasePath, Casepath, EnumKp,
66 EnumKpType, EnumValueKpType, Kp,
67};
68pub use program::{Program, ReducerProgram};
69pub use reduce_panic::{catch_reduce, catch_reduce_panic, ReducePanic};
70pub use reducer::{coerce_fn, CatchReducer, CombineReducers, Reduce, Reducer, RollbackCatchReducer};
71pub use replay::{ReplayHarness, ReplayLog};
72#[cfg(feature = "serde")]
73pub use replay::StateSnapshot;
74#[cfg(feature = "runtime")]
75pub use runtime::{Runtime, RuntimeConfig};
76pub use scope::{
77 lift_cmd, lift_cmd_with_id, ForEachReducer, IfCaseLetReducer, IfLetReducer, OptionalReducer,
78 ScopeReducer,
79};
80pub use shared::{InMemoryStorage, Shared, SharedSubscriber, Storage, StorageError};
81#[cfg(feature = "serde")]
82pub use shared::FileStorage;
83#[cfg(feature = "runtime")]
84pub use store::{
85 ScopedStore, StateSubscriber, Store, StoreTask, StoreTaskError,
86};
87pub use sub::Sub;
88pub use test_runtime::TestRuntime;
89#[cfg(feature = "runtime")]
90pub use test_store::{ExhaustiveTestStore, TestStoreError};
91pub use test_support::{
92 allow_state_clones, on_state_clone, replay_snapshot, shared_get, shared_with_mut,
93};
94#[cfg(feature = "runtime")]
95pub use test_support::{
96 scoped_child_state, scoped_subscribe_state, scoped_subscriber_next, store_state,
97 subscribe_state, subscriber_wait_next,
98};
99
100pub use rust_key_paths;
101pub use key_paths_core;