cachekit/serializer/mod.rs
1use serde::{de::DeserializeOwned, Serialize};
2
3use crate::error::CachekitError;
4
5/// Serialize `value` to MessagePack bytes using named fields (map format).
6pub fn serialize<T: Serialize>(value: &T) -> Result<Vec<u8>, CachekitError> {
7 rmp_serde::to_vec_named(value).map_err(|e| CachekitError::Serialization(e.to_string()))
8}
9
10/// Deserialize `bytes` from MessagePack into `T`.
11pub fn deserialize<T: DeserializeOwned>(bytes: &[u8]) -> Result<T, CachekitError> {
12 rmp_serde::from_slice(bytes).map_err(|e| CachekitError::Serialization(e.to_string()))
13}