1#[derive(Clone, Debug)]
3pub struct Edit {
4 pub version: u64,
5 pub kind: EditKind,
6}
7
8#[derive(Clone, Debug)]
10pub enum EditKind {
11 Insert { offset: usize, len: usize },
13 Delete { offset: usize, len: usize },
15}
16
17impl Edit {
18 pub fn insert(version: u64, offset: usize, len: usize) -> Self {
20 Self {
21 version,
22 kind: EditKind::Insert { offset, len },
23 }
24 }
25
26 pub fn delete(version: u64, offset: usize, len: usize) -> Self {
28 Self {
29 version,
30 kind: EditKind::Delete { offset, len },
31 }
32 }
33}