pub mod impls;
use crate::SerdeVaultError;
use serde::{Deserialize, Serialize};
pub trait SerializerType {
type S;
fn new(serialized: Vec<u8>) -> Self
where
Self: Sized;
fn as_slice(&self) -> &[u8];
fn into_vec(self) -> Vec<u8>;
fn serialize(v: &Self::S) -> Result<Self, SerdeVaultError>
where
Self: Sized,
Self::S: Serialize;
fn deserialize<'de>(&'de self) -> Result<Self::S, SerdeVaultError>
where
Self::S: Deserialize<'de>;
}