#![warn(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
#![warn(missing_docs)]
#[cfg(all(feature = "workers", feature = "redis"))]
compile_error!(
"features `workers` and `redis` are mutually exclusive — Workers runtime cannot use fred"
);
#[cfg(all(feature = "workers", feature = "l1"))]
compile_error!("features `workers` and `l1` are mutually exclusive — moka requires std threads unavailable in wasm32");
pub mod backend;
pub mod client;
pub mod config;
pub mod error;
pub mod key;
pub mod metrics;
pub mod serializer;
pub mod session;
pub mod url_validator;
#[cfg(feature = "encryption")]
pub mod encryption;
#[cfg(feature = "l1")]
pub mod l1;
pub use client::{CacheKit, CacheKitBuilder, SharedBackend};
pub use config::CachekitConfig;
pub use error::{BackendError, BackendErrorKind, CachekitError};
#[cfg(feature = "encryption")]
pub use client::SecureCache;
#[cfg(feature = "encryption")]
pub use encryption::EncryptionLayer;
#[cfg(feature = "macros")]
pub use cachekit_macros::cachekit;
#[doc(hidden)]
pub mod __private {
pub use rmp_serde;
}
pub mod prelude {
pub use crate::{
BackendError, BackendErrorKind, CacheKit, CacheKitBuilder, CachekitConfig, CachekitError,
};
#[cfg(feature = "encryption")]
pub use crate::{EncryptionLayer, SecureCache};
}