#[derive(Clone, Debug)]
pub struct Edit {
pub version: u64,
pub kind: EditKind,
}
#[derive(Clone, Debug)]
pub enum EditKind {
Insert { offset: usize, len: usize },
Delete { offset: usize, len: usize },
}
impl Edit {
pub fn insert(version: u64, offset: usize, len: usize) -> Self {
Self {
version,
kind: EditKind::Insert { offset, len },
}
}
pub fn delete(version: u64, offset: usize, len: usize) -> Self {
Self {
version,
kind: EditKind::Delete { offset, len },
}
}
}