Skip to main content

fjall_cli/types/
prefix_kind.rs

1use fjall::Slice;
2
3#[derive(clap::ValueEnum, Copy, Clone, Debug)]
4#[clap(rename_all = "kebab")]
5pub enum PrefixKind {
6    LenU64Le,
7    LenU64Be,
8}
9
10impl PrefixKind {
11    pub fn write(self, slice: &Slice) -> Vec<u8> {
12        use PrefixKind::*;
13        let len = slice.len();
14        match self {
15            LenU64Le => (len as u64).to_le_bytes().to_vec(),
16            LenU64Be => (len as u64).to_be_bytes().to_vec(),
17        }
18    }
19}