1#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
7pub enum Type {
8 Bool,
9 Null,
10 Undefined,
11 U8,
12 U16,
13 U32,
14 U64,
15 I8,
16 I16,
17 I32,
18 I64,
19 Int,
20 F16,
21 F32,
22 F64,
23 Simple,
24 Bytes,
25 BytesIndef,
26 String,
27 StringIndef,
28 Array,
29 ArrayIndef,
30 Map,
31 MapIndef,
32 Tag,
33 Break,
34 Unknown(u8),
35}
36
37impl Type {
38 pub(crate) fn new(ty: minicbor::data::Type) -> Self {
39 match ty {
40 minicbor::data::Type::Bool => Self::Bool,
41 minicbor::data::Type::Null => Self::Null,
42 minicbor::data::Type::Undefined => Self::Undefined,
43 minicbor::data::Type::U8 => Self::U8,
44 minicbor::data::Type::U16 => Self::U16,
45 minicbor::data::Type::U32 => Self::U32,
46 minicbor::data::Type::U64 => Self::U64,
47 minicbor::data::Type::I8 => Self::I8,
48 minicbor::data::Type::I16 => Self::I16,
49 minicbor::data::Type::I32 => Self::I32,
50 minicbor::data::Type::I64 => Self::I64,
51 minicbor::data::Type::Int => Self::Int,
52 minicbor::data::Type::F16 => Self::F16,
53 minicbor::data::Type::F32 => Self::F32,
54 minicbor::data::Type::F64 => Self::F64,
55 minicbor::data::Type::Simple => Self::Simple,
56 minicbor::data::Type::Bytes => Self::Bytes,
57 minicbor::data::Type::BytesIndef => Self::BytesIndef,
58 minicbor::data::Type::String => Self::String,
59 minicbor::data::Type::StringIndef => Self::StringIndef,
60 minicbor::data::Type::Array => Self::Array,
61 minicbor::data::Type::ArrayIndef => Self::ArrayIndef,
62 minicbor::data::Type::Map => Self::Map,
63 minicbor::data::Type::MapIndef => Self::MapIndef,
64 minicbor::data::Type::Tag => Self::Tag,
65 minicbor::data::Type::Break => Self::Break,
66 minicbor::data::Type::Unknown(byte) => Self::Unknown(byte),
67 }
68 }
69
70 pub(crate) fn into_minicbor_type(self) -> minicbor::data::Type {
72 match self {
73 Type::Bool => minicbor::data::Type::Bool,
74 Type::Null => minicbor::data::Type::Null,
75 Type::Undefined => minicbor::data::Type::Undefined,
76 Type::U8 => minicbor::data::Type::U8,
77 Type::U16 => minicbor::data::Type::U16,
78 Type::U32 => minicbor::data::Type::U32,
79 Type::U64 => minicbor::data::Type::U64,
80 Type::I8 => minicbor::data::Type::I8,
81 Type::I16 => minicbor::data::Type::I16,
82 Type::I32 => minicbor::data::Type::I32,
83 Type::I64 => minicbor::data::Type::I64,
84 Type::Int => minicbor::data::Type::Int,
85 Type::F16 => minicbor::data::Type::F16,
86 Type::F32 => minicbor::data::Type::F32,
87 Type::F64 => minicbor::data::Type::F64,
88 Type::Simple => minicbor::data::Type::Simple,
89 Type::Bytes => minicbor::data::Type::Bytes,
90 Type::BytesIndef => minicbor::data::Type::BytesIndef,
91 Type::String => minicbor::data::Type::String,
92 Type::StringIndef => minicbor::data::Type::StringIndef,
93 Type::Array => minicbor::data::Type::Array,
94 Type::ArrayIndef => minicbor::data::Type::ArrayIndef,
95 Type::Map => minicbor::data::Type::Map,
96 Type::MapIndef => minicbor::data::Type::MapIndef,
97 Type::Tag => minicbor::data::Type::Tag,
98 Type::Break => minicbor::data::Type::Break,
99 Type::Unknown(byte) => minicbor::data::Type::Unknown(byte),
100 }
101 }
102}