vos_core/constraint/decimal_constraint/
mod.rs

1use super::*;
2
3#[derive(Clone, Debug, Default, Serialize, Deserialize)]
4pub struct DecimalConstraint {
5    pub kind: DecimalKind,
6    /// Minimum length of utf8 string
7    pub min: Option<BigDecimal>,
8    /// Minimum number of unicode characters
9    pub min_inclusive: bool,
10    /// Maximum length of utf8 string
11    pub max: Option<BigDecimal>,
12    /// Maximum number of unicode characters
13    pub max_inclusive: bool,
14    #[serde(flatten)]
15    pub info: SharedConstraint,
16}
17
18#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
19pub enum DecimalKind {
20    Decimal,
21    Decimal8,
22    Decimal16,
23    Decimal32,
24    Decimal64,
25    Decimal128,
26}
27
28impl Default for DecimalKind {
29    fn default() -> Self {
30        Self::Decimal32
31    }
32}