serde_amqp/
util.rs

1use crate::{descriptor::PeekDescriptor, value::de::ValueType};
2
3#[derive(Debug, Default)]
4pub(crate) enum SequenceType {
5    #[default]
6    List,
7    Array,
8    TransparentVec,
9}
10
11#[derive(Debug)]
12pub(crate) enum NonNativeType {
13    Dec32,
14    Dec64,
15    Dec128,
16    Symbol,
17    SymbolRef,
18    Timestamp,
19    Uuid,
20    LazyValue,
21}
22
23#[derive(Debug, Clone)]
24pub enum IsArrayElement {
25    False,
26    FirstElement,
27    OtherElement,
28}
29
30#[derive(Debug, Clone)]
31pub enum EnumType {
32    None,
33    Array,
34    Descriptor,
35    Value,
36}
37
38impl Default for EnumType {
39    fn default() -> Self {
40        Self::None
41    }
42}
43
44/// Described type has the descriptor as the first field
45#[derive(Debug)]
46pub(crate) enum FieldRole {
47    Descriptor,
48    Fields,
49}
50
51#[derive(Debug, Clone)]
52#[repr(u8)]
53pub enum StructEncoding {
54    None,
55    DescribedList,
56    DescribedMap,
57    DescribedBasic,
58}
59
60impl Default for StructEncoding {
61    fn default() -> Self {
62        Self::None
63    }
64}
65
66#[derive(Debug, PartialEq, Eq)]
67pub(crate) enum PeekTypeCode {
68    Primitive(ValueType),
69    Composite(PeekDescriptor),
70}