serde_utils.rs (399B)
1 use anyhow::Result; 2 use bincode::config::standard; 3 use bincode::serde::{decode_from_slice, encode_to_vec}; 4 use serde::{de::DeserializeOwned, Serialize}; 5 6 pub fn serialize<T: Serialize>(value: &T) -> Result<Vec<u8>> { 7 Ok(encode_to_vec(value, standard())?) 8 } 9 10 pub fn deserialize<T: DeserializeOwned>(bytes: &[u8]) -> Result<T> { 11 let (v, _) = decode_from_slice(bytes, standard())?; 12 Ok(v) 13 }