atomr_remote/serialization/json_codec.rs
1//! JSON codec helpers (debug-friendly fallback).
2
3use serde::{de::DeserializeOwned, Serialize};
4
5use super::SerializeError;
6
7pub fn json_encode<T: Serialize>(value: &T) -> Result<Vec<u8>, SerializeError> {
8 serde_json::to_vec(value).map_err(|e| SerializeError::Encode(e.to_string()))
9}
10
11pub fn json_decode<T: DeserializeOwned>(bytes: &[u8]) -> Result<T, SerializeError> {
12 serde_json::from_slice(bytes).map_err(|e| SerializeError::Decode(e.to_string()))
13}