From 32ff6ce2d75e898cd350172916751ec13226d5f8 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Wed, 9 Apr 2025 03:13:42 -0400 Subject: Reorganize into workspace --- src/save.rs | 43 ------------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 src/save.rs (limited to 'src/save.rs') diff --git a/src/save.rs b/src/save.rs deleted file mode 100644 index 3f244cc..0000000 --- a/src/save.rs +++ /dev/null @@ -1,43 +0,0 @@ -#[cfg(target_arch = "wasm32")] -pub fn save(id: &str, data: &W) where W: serde::Serialize { - let window = web_sys::window().expect("failed to get window object"); - let storage = window.local_storage() - .expect("failed to get local storage") - .expect("local storage not present"); - let key = format!("{}_save", id); - let val = serde_json::to_string(data).expect("failed to serialize save"); - storage.set_item(&key, &val).expect("failed to set save"); -} - -#[cfg(target_arch = "wasm32")] -pub fn load(id: &str) -> Option where W: serde::de::DeserializeOwned { - let window = web_sys::window().expect("failed to get window object"); - let storage = window.local_storage() - .expect("failed to get local storage") - .expect("local storage not present"); - let key = format!("{}_save", id); - let s = storage.get_item(&key).expect("failed to get save").expect("save not present"); - let mut cur = std::io::Cursor::new(s); - serde_json::from_reader(&mut cur).ok() -} - -#[cfg(not(target_arch = "wasm32"))] -pub fn save(id: &str, data: &W) where W: serde::Serialize { - let pd = directories::ProjectDirs::from("", "milkfat", id).expect("failed to get save directory"); - let _ = std::fs::create_dir_all(pd.data_dir()); - let path = pd.data_dir().join("teleia.save"); - let mut file = std::fs::File::create(&path).expect("failed to open save file"); - // serde_json::to_writer(file, data).expect("failed to write save file"); - bincode::serde::encode_into_std_write(data, &mut file, bincode::config::standard()) - .expect("failed to write save file"); -} - -#[cfg(not(target_arch = "wasm32"))] -pub fn load(id: &str) -> Option where W: serde::de::DeserializeOwned { - let pd = directories::ProjectDirs::from("", "milkfat", id).expect("failed to get save directory"); - let _ = std::fs::create_dir_all(pd.data_dir()); - let path = pd.data_dir().join("teleia.save"); - let mut file = std::fs::File::open(&path).ok()?; - // serde_json::from_reader(file).ok() - bincode::serde::decode_from_std_read(&mut file, bincode::config::standard()).ok() -} -- cgit v1.2.3