1#![warn(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
8#![warn(missing_docs)]
9
10#[cfg(all(feature = "workers", feature = "redis"))]
12compile_error!(
13 "features `workers` and `redis` are mutually exclusive — Workers runtime cannot use fred"
14);
15
16#[cfg(all(feature = "workers", feature = "l1"))]
17compile_error!("features `workers` and `l1` are mutually exclusive — moka requires std threads unavailable in wasm32");
18
19pub mod backend;
21pub mod client;
23pub mod config;
25pub mod error;
27pub mod interop;
29pub mod metrics;
31pub mod serializer;
33pub mod session;
35pub mod url_validator;
37
38mod intents;
40
41#[cfg(feature = "encryption")]
43pub mod encryption;
44
45#[cfg(feature = "l1")]
47pub mod l1;
48
49pub use client::{CacheKit, CacheKitBuilder, SharedBackend};
51pub use config::CachekitConfig;
52pub use error::{BackendError, BackendErrorKind, CachekitError};
53
54#[cfg(feature = "encryption")]
55pub use client::SecureCache;
56#[cfg(feature = "encryption")]
57pub use encryption::EncryptionLayer;
58
59#[cfg(feature = "macros")]
60pub use cachekit_macros::cachekit;
61
62pub mod prelude {
64 pub use crate::{
65 BackendError, BackendErrorKind, CacheKit, CacheKitBuilder, CachekitConfig, CachekitError,
66 };
67
68 #[cfg(feature = "encryption")]
69 pub use crate::{EncryptionLayer, SecureCache};
70
71 #[cfg(feature = "macros")]
72 pub use crate::cachekit;
73}