1#![allow(incomplete_features)]
2#![feature(specialization)]
3
4pub(crate) mod cache;
5pub(crate) mod effect_stack;
6pub(crate) mod memo_stack;
7pub(crate) mod observable;
8
9pub mod effect;
10pub mod macros;
11pub mod memo;
12pub mod signal;
13
14pub(crate) use cache::{remove_from_cache, store_in_cache, touch};
15pub use effect::Effect;
16pub(crate) use memo::IMemo;
17pub use memo::Memo;
18pub(crate) use observable::IObservable;
19pub use signal::{Signal, SignalSetter};
20
21pub use once_cell::unsync::Lazy;
22
23pub mod prelude {
24 pub use crate::Effect;
25 pub use crate::Memo;
26 pub use crate::Signal;
27 pub use crate::SignalSetter as _;
28}
29
30#[cfg(feature = "macros")]
31#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
32pub use reactive_macros::*;