use crate::Codec;
use multi_trait::EncodeIntoArray;
use serde::ser;
impl ser::Serialize for Codec {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: ser::Serializer,
{
if serializer.is_human_readable() {
let s: &str = (*self).into();
serializer.serialize_str(s)
} else {
let code: u64 = (*self).into();
let (buf, len) = code.encode_into_array();
serializer.serialize_bytes(&buf[..len])
}
}
}