use serde::{Serialize, de::DeserializeOwned};
pub fn to_json<T: Serialize>(value: &T) -> Result<String, serde_json::Error> {
serde_json::to_string(value)
}
pub fn to_json_pretty<T: Serialize>(value: &T) -> Result<String, serde_json::Error> {
serde_json::to_string_pretty(value)
}
pub fn from_json<T: DeserializeOwned>(s: &str) -> Result<T, serde_json::Error> {
serde_json::from_str(s)
}
pub fn from_value<T: DeserializeOwned>(v: serde_json::Value) -> Result<T, serde_json::Error> {
serde_json::from_value(v)
}
pub fn to_value<T: Serialize>(value: &T) -> Result<serde_json::Value, serde_json::Error> {
serde_json::to_value(value)
}
#[cfg(test)]
#[path = "codec_tests.rs"]
mod tests;