rapido_core/component/
attribute.rs

1
2use super::*;
3mod integer;
4mod string;
5
6use integer::AttributeInteger;
7use string::AttributeString;
8
9///
10/// Column types
11/// 
12#[derive(Debug, Deserialize, Clone, Serialize, PartialEq, Eq)]
13#[serde(tag = "type", rename_all = "lowercase")]
14pub enum Attribute {
15    String(AttributeString),
16    Integer(AttributeInteger),
17}
18impl Attribute {
19    pub(super) fn into_column_type(&self) -> ColumnType {
20        match self {
21            Self::String(AttributeString {
22                max_length,
23                min_length: _,
24            }) => ColumnType::String(StringLen::N(max_length.unwrap_or(128))),
25            Self::Integer(AttributeInteger { min: _, max:_ }) => ColumnType::Integer,
26        }
27    }
28}