Sleded

A sled-ed database.

Description

a simple crate that exposes a minimalist API for storing persistent data to a file. Backed by sled and serde with RON.

Example

```rs // Something to store, needs to be serializable.

[derive(Debug, Serialize, Deserialize)]

pub struct Student { name: String, value: usize, }

impl TableLayout for Student { // adding the name of the stored table. fn table_name() -> String { "student".into() } }

// storing an item let db = open("./db").unwrap(); let table = db.table(); let bob_key = table.push(Student { name: "bob".into(), value: 0, });

// query one item let bob = table.get(&bob_key); dbg!(bob);

// query all items for (key, value) in table.iter() { let key = key.value(&table); println!("key: {key}, student: {value:?}"); }

// update items for key in table.keys() { table.update(&key, |student| { if let Some(student) = student { student.value += 1; } }) } ```

TODOs