mod cache; mod error; use async_std::{ channel::{unbounded, Sender}, path::PathBuf, task::spawn, }; use cache::Cache; use error::{ErrorCode, MTTError}; #[derive(Clone, Debug)] struct Data { id: String, } #[derive(Clone)] pub struct MoreThanText { to_cache: Sender, } impl MoreThanText { fn new(to_cache: Sender) -> Self { Self { to_cache: to_cache } } async fn session(&self) { } } #[cfg(test)] mod mtt { use super::*; use tempfile::tempdir; #[async_std::test] async fn create_new() { let dir = tempdir().unwrap(); let mtt = start_db(dir.path()).await.unwrap(); mtt.session().await; } } pub async fn start_db

(dir: P) -> Result where P: Into, { let path = dir.into(); let (s, r) = unbounded(); spawn(async move { let cache = Cache::new(path).await; cache.listen(r).await; }); Ok(MoreThanText::new(s)) }