Skip to content

Commit

Permalink
Open or create empty database for kv
Browse files Browse the repository at this point in the history
  • Loading branch information
ruanformigoni committed Oct 19, 2024
1 parent 7ce23b9 commit 958ce65
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions gui/shared/src/db/kv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,23 @@ use std::collections::HashMap;

pub type Kv = HashMap<String, String>;

// fn open() {{{
fn open(db: &PathBuf) -> anyhow::Result<Kv>
{
Ok(serde_json::from_reader(File::open(db)?)?)
} // fn open() }}}

// pub fn read() {{{
pub fn read(db : &PathBuf) -> anyhow::Result<Kv>
{
Ok(serde_json::from_reader(File::open(db)?)?)
open(db)
} // fn: read }}}

// pub fn write() {{{
pub fn write(db : &PathBuf, key: &String, val: &String) -> anyhow::Result<()>
{
let mut kv : Kv = serde_json::from_reader(File::open(db.clone())?)?;
// Open existing or create an empty database
let mut kv : Kv = open(db).unwrap_or(Kv::default());

// Append
kv.insert(key.clone(), val.clone());
Expand Down

0 comments on commit 958ce65

Please sign in to comment.