lazy_db/lazy_type/
converter.rs1use super::*;
2use crate::LDBError;
3use std::convert::TryFrom;
4
5
6impl TryFrom<u8> for LazyType {
7 type Error = LDBError;
8
9 fn try_from(byte: u8) -> Result<Self, Self::Error> {
10 use LazyType::*;
11 Ok(match byte {
12 0 => Void,
13 1 => String,
14 2 => Binary,
15 3 => I8,
16 4 => I16,
17 5 => I32,
18 6 => I64,
19 7 => I128,
20 8 => U8,
21 9 => U16,
22 10 => U32,
23 11 => U64,
24 12 => U128,
25 13 => F32,
26 14 => F64,
27 15 => True,
28 16 => False,
29 17 => Link,
30 18 => Array,
31 _ => return Err(LDBError::InvalidLazyType(byte)),
32 })
33 }
34}
35
36impl From<LazyType> for u8 {
37 fn from(value: LazyType) -> Self {
38 use LazyType::*;
39 match value {
40 Void => 0,
41 String => 1,
42 Binary => 2,
43 I8 => 3,
44 I16 => 4,
45 I32 => 5,
46 I64 => 6,
47 I128 => 7,
48 U8 => 8,
49 U16 => 9,
50 U32 => 10,
51 U64 => 11,
52 U128 => 12,
53 F32 => 13,
54 F64 => 14,
55 True => 15,
56 False => 16,
57 Link => 17,
58 Array => 18,
59 }
60 }
61}