use crate::encoding::{MaybeValue, Value};
use alloc::vec::Vec;
use core::fmt::Debug;
pub(crate) trait Format<S, B>: Default + Clone + Copy + PartialEq + Eq + 'static {
type Old: Clone + Debug + Default;
type DeleteData: Clone + Debug + Default;
}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
pub struct ChangesetFormat;
impl<S: Clone + Debug + AsRef<str>, B: Clone + Debug + AsRef<[u8]>> Format<S, B>
for ChangesetFormat
{
type Old = MaybeValue<S, B>;
type DeleteData = Vec<Value<S, B>>;
}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
pub struct PatchsetFormat;
impl<S, B> Format<S, B> for PatchsetFormat {
type Old = ();
type DeleteData = ();
}