1use std::sync::OnceLock;
2
3pub mod enums;
4pub mod results;
5
6#[cfg(feature = "redis")]
7pub mod redis;
8
9#[cfg(any(feature = "cache-redis", feature = "cache-filesystem"))]
10pub mod cache;
11#[cfg(feature = "database")]
12pub mod database;
13pub mod env_logger;
14pub mod ext;
15mod ext_impl;
16pub mod helpers;
17#[cfg(feature = "rabbitmq")]
18pub mod rabbitmq;
19pub mod setup;
20pub mod tokio;
21
22pub static FOXTIVE: OnceLock<FoxtiveState> = OnceLock::new();
23
24pub use crate::setup::state::{FoxtiveHelpers, FoxtiveState};
25pub use anyhow::Error;
26
27pub mod prelude {
28 pub use crate::enums::app_message::AppMessage;
29 pub use crate::helpers::once_lock::OnceLockHelper;
30 #[cfg(feature = "rabbitmq")]
31 pub use crate::rabbitmq::RabbitMQ;
32 #[cfg(feature = "redis")]
33 pub use crate::redis::Redis;
34 pub use crate::results::{app_result::IntoAppResult, AppResult};
35}