use crate::fallback_client::FallbackClient;
use ribbit_client::Region;
use std::sync::OnceLock;
static CACHING_ENABLED: OnceLock<bool> = OnceLock::new();
pub fn set_caching_enabled(enabled: bool) {
let _ = CACHING_ENABLED.set(enabled);
}
pub fn is_caching_enabled() -> bool {
*CACHING_ENABLED.get_or_init(|| true)
}
pub async fn create_client(region: Region) -> Result<FallbackClient, Box<dyn std::error::Error>> {
let mut client = FallbackClient::new(region).await?;
if !is_caching_enabled() {
client.set_caching_enabled(false);
}
Ok(client)
}