summaryrefslogtreecommitdiff
path: root/src/save.rs
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2025-04-09 03:13:42 -0400
committerLLLL Colonq <llll@colonq>2025-04-09 03:13:42 -0400
commit32ff6ce2d75e898cd350172916751ec13226d5f8 (patch)
treeb0bb588e91b7f9fb0092642ae4c01588eeaefa0e /src/save.rs
parent7b3157308a0359320f5d098acfa80c6f3bff5a54 (diff)
Reorganize into workspace
Diffstat (limited to 'src/save.rs')
-rw-r--r--src/save.rs43
1 files changed, 0 insertions, 43 deletions
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<W>(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<W>(id: &str) -> Option<W> 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<W>(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<W>(id: &str) -> Option<W> 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()
-}