skp_validator_rules/
lib.rs1pub mod string;
17pub mod numeric;
18pub mod collection;
19pub mod temporal;
20pub mod comparison;
21pub mod financial;
22pub mod transform;
23pub mod custom;
24
25pub use comparison::required::RequiredRule;
27pub use comparison::must_match::MustMatchRule;
28pub use comparison::allowed_values::AllowedValuesRule;
29pub use string::length::LengthRule;
30pub use string::ascii::AsciiRule;
31pub use string::alphanumeric::AlphanumericRule;
32pub use string::contains::{ContainsRule, PrefixRule, SuffixRule};
33pub use numeric::range::RangeRule;
34pub use numeric::multiple_of::MultipleOfRule;
35pub use collection::unique_items::UniqueItemsRule;
36pub use financial::credit_card::CreditCardRule;
37pub use transform::case::{UppercaseTransform, LowercaseTransform, CapitalizeTransform};
38pub use transform::whitespace::{TrimTransform, TrimStartTransform, TrimEndTransform, CollapseWhitespaceTransform};
39pub use custom::custom_fn::{CustomFnRule, CustomResultRule};
40pub use custom::contextual::ContextualRule;
41pub use custom::dependency::{DependencyRule, DependencyCondition};
42
43#[cfg(feature = "email")]
44pub use string::email::EmailRule;
45
46#[cfg(feature = "regex")]
47pub use string::pattern::PatternRule;
48
49#[cfg(feature = "url")]
50pub use string::url::UrlRule;
51
52#[cfg(feature = "ip")]
53pub use string::ip::{IpRule, IpVersion};
54
55#[cfg(feature = "uuid")]
56pub use string::uuid_rule::UuidRule;
57
58#[cfg(feature = "phone")]
59pub use string::phone::PhoneRule;
60
61#[cfg(feature = "chrono")]
62pub use temporal::date::DateRule;
63
64#[cfg(feature = "chrono")]
65pub use temporal::date_range::DateRangeRule;
66
67#[cfg(feature = "chrono")]
68pub use temporal::age::AgeRule;
69
70pub mod prelude {
72 pub use crate::comparison::required::RequiredRule;
73 pub use crate::comparison::must_match::MustMatchRule;
74 pub use crate::comparison::allowed_values::AllowedValuesRule;
75 pub use crate::string::length::LengthRule;
76 pub use crate::string::ascii::AsciiRule;
77 pub use crate::string::alphanumeric::AlphanumericRule;
78 pub use crate::string::contains::{ContainsRule, PrefixRule, SuffixRule};
79 pub use crate::numeric::range::RangeRule;
80 pub use crate::numeric::multiple_of::MultipleOfRule;
81 pub use crate::collection::unique_items::UniqueItemsRule;
82 pub use crate::financial::credit_card::CreditCardRule;
83 pub use crate::transform::case::{UppercaseTransform, LowercaseTransform, CapitalizeTransform};
84 pub use crate::transform::whitespace::{TrimTransform, TrimStartTransform, TrimEndTransform};
85 pub use crate::custom::custom_fn::{CustomFnRule, CustomResultRule};
86 pub use crate::custom::contextual::ContextualRule;
87 pub use crate::custom::dependency::{DependencyRule, DependencyCondition};
88
89 #[cfg(feature = "email")]
90 pub use crate::string::email::EmailRule;
91
92 #[cfg(feature = "regex")]
93 pub use crate::string::pattern::PatternRule;
94
95 #[cfg(feature = "url")]
96 pub use crate::string::url::UrlRule;
97
98 #[cfg(feature = "ip")]
99 pub use crate::string::ip::{IpRule, IpVersion};
100
101 #[cfg(feature = "uuid")]
102 pub use crate::string::uuid_rule::UuidRule;
103
104 #[cfg(feature = "phone")]
105 pub use crate::string::phone::PhoneRule;
106
107 #[cfg(feature = "chrono")]
108 pub use crate::temporal::date::DateRule;
109
110 #[cfg(feature = "chrono")]
111 pub use crate::temporal::date_range::DateRangeRule;
112
113 #[cfg(feature = "chrono")]
114 pub use crate::temporal::age::AgeRule;
115}