use std::env; use cached::DiskCache; use directories::BaseDirs; use serde::{Serialize, de::DeserializeOwned}; pub fn make_cache(name: &str) -> DiskCache where K: ToString, V: Serialize + DeserializeOwned, { let dir = match BaseDirs::new() { Some(base_dirs) => base_dirs.cache_dir().join("lleap"), None => env::current_dir() .expect("unable to determine current directory") .join("lleap_cache"), }; DiskCache::new(name) .set_disk_directory(dir) .set_sync_to_disk_on_cache_change(true) .build() .expect("unable to open disk cache") }