use anyhow::Result;
use chrono::Utc;
use wnfs::{common::MemoryBlockStore, public::PublicDirectory};
#[async_std::main]
async fn main() -> Result<()> {
let store = MemoryBlockStore::default();
let root_dir = &mut PublicDirectory::new_rc(Utc::now());
root_dir
.mkdir(&["pictures".into(), "cats".into()], Utc::now(), &store)
.await?;
root_dir
.write(
&["pictures".into(), "dogs".into(), "billie.jpeg".into()],
b"Hello, world!".to_vec(),
Utc::now(),
&store,
)
.await?;
root_dir
.rm(&["pictures".into(), "cats".into()], &store)
.await?;
let result = root_dir.ls(&["pictures".into()], &store).await.unwrap();
println!("Files in /pictures: {result:#?}");
Ok(())
}