mod attribute;
mod base;
mod complex;
mod custom;
mod dynamic;
mod element;
mod enumeration;
mod reference;
mod simple;
mod type_;
mod type_eq;
mod types;
mod union;
use std::ops::{Bound, Range};
pub use self::attribute::{AnyAttributeMeta, AttributeMeta, AttributeMetaVariant, AttributesMeta};
pub use self::base::Base;
pub use self::complex::{ComplexMeta, GroupMeta};
pub use self::custom::{CustomMeta, CustomMetaNamespace};
pub use self::dynamic::{DerivedTypeMeta, DynamicMeta};
pub use self::element::{AnyMeta, ElementMeta, ElementMetaVariant, ElementMode, ElementsMeta};
pub use self::enumeration::{EnumerationMeta, EnumerationMetaVariant, EnumerationMetaVariants};
pub use self::reference::ReferenceMeta;
pub use self::simple::{SimpleMeta, WhiteSpace};
pub use self::type_::{BuildInMeta, MetaType, MetaTypeVariant};
pub use self::type_eq::TypeEq;
pub use self::types::{MetaTypes, ModuleMeta, SchemaMeta};
pub use self::union::{UnionMeta, UnionMetaType, UnionMetaTypes};
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub struct Constrains {
pub range: Range<Bound<String>>,
pub total_digits: Option<usize>,
pub fraction_digits: Option<usize>,
pub patterns: Vec<String>,
pub min_length: Option<usize>,
pub max_length: Option<usize>,
pub whitespace: WhiteSpace,
}
impl Default for Constrains {
fn default() -> Self {
Self {
range: Range {
start: Bound::Unbounded,
end: Bound::Unbounded,
},
total_digits: None,
fraction_digits: None,
patterns: Vec::new(),
min_length: None,
max_length: None,
whitespace: WhiteSpace::default(),
}
}
}