bogrep 0.10.1

Full-text search for bookmarks from multiple browsers
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::errors::BogrepError;
use serde::{de::DeserializeOwned, Serialize};

pub fn serialize(value: &impl Serialize) -> Result<Vec<u8>, BogrepError> {
    let mut buf = Vec::new();
    let formatter = serde_json::ser::PrettyFormatter::with_indent(b"    ");
    let mut serializer = serde_json::Serializer::with_formatter(&mut buf, formatter);
    value
        .serialize(&mut serializer)
        .map_err(BogrepError::SerializeJson)?;
    Ok(buf)
}

pub fn deserialize<T: DeserializeOwned>(slice: &[u8]) -> Result<T, BogrepError> {
    let value = serde_json::from_slice(slice).map_err(BogrepError::DeserializeJson)?;
    Ok(value)
}