use crate::{Config, InMemoryCache};
#[derive(Debug, Default)]
#[must_use]
pub struct InMemoryCacheBuilder(Config);
impl InMemoryCacheBuilder {
pub const fn new() -> Self {
Self(Config::new())
}
pub fn cache_users(mut self, value: bool) -> Self {
self.0.cache_users = value;
self
}
pub fn cache_servers(mut self, value: bool) -> Self {
self.0.cache_servers = value;
self
}
pub fn cache_channels(mut self, value: bool) -> Self {
self.0.cache_channels = value;
self
}
pub fn cache_messages(mut self, value: bool) -> Self {
self.0.cache_messages = value;
self
}
pub fn cache_emojis(mut self, value: bool) -> Self {
self.0.cache_emojis = value;
self
}
pub fn cache_members(mut self, value: bool) -> Self {
self.0.cache_members = value;
self
}
pub fn build(self) -> InMemoryCache {
InMemoryCache::new_with_config(self.0)
}
}