aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive/src/asserts.rs
diff options
context:
space:
mode:
authorVincent Prouillet2018-09-13 18:42:32 +0200
committerVincent Prouillet2018-09-13 18:42:32 +0200
commitab93a250013ad01620992581923583cbf93ed3db (patch)
tree742920f0e0929aaf3709e3ffe93bbd9e857e7a1d /validator_derive/src/asserts.rs
parentdfdc289626c448522c43c13f8d72033fe0d1cae8 (diff)
downloadvalidator-ab93a250013ad01620992581923583cbf93ed3db.tar.bz2
Rustfmt
Diffstat (limited to 'validator_derive/src/asserts.rs')
-rw-r--r--validator_derive/src/asserts.rs61
1 files changed, 45 insertions, 16 deletions
diff --git a/validator_derive/src/asserts.rs b/validator_derive/src/asserts.rs
index cdd0028..1a8dfff 100644
--- a/validator_derive/src/asserts.rs
+++ b/validator_derive/src/asserts.rs
@@ -5,20 +5,44 @@ lazy_static! {
}
pub static NUMBER_TYPES: [&'static str; 36] = [
- "usize", "u8", "u16", "u32", "u64",
- "isize", "i8", "i16", "i32", "i64",
- "f32", "f64",
-
- "Option<usize>", "Option<u8>", "Option<u16>", "Option<u32>", "Option<u64>",
- "Option<isize>", "Option<i8>", "Option<i16>", "Option<i32>", "Option<i64>",
- "Option<f32>", "Option<f64>",
-
- "Option<Option<usize>>", "Option<Option<u8>>", "Option<Option<u16>>", "Option<Option<u32>>", "Option<Option<u64>>",
- "Option<Option<isize>>", "Option<Option<i8>>", "Option<Option<i16>>", "Option<Option<i32>>", "Option<Option<i64>>",
- "Option<Option<f32>>", "Option<Option<f64>>",
+ "usize",
+ "u8",
+ "u16",
+ "u32",
+ "u64",
+ "isize",
+ "i8",
+ "i16",
+ "i32",
+ "i64",
+ "f32",
+ "f64",
+ "Option<usize>",
+ "Option<u8>",
+ "Option<u16>",
+ "Option<u32>",
+ "Option<u64>",
+ "Option<isize>",
+ "Option<i8>",
+ "Option<i16>",
+ "Option<i32>",
+ "Option<i64>",
+ "Option<f32>",
+ "Option<f64>",
+ "Option<Option<usize>>",
+ "Option<Option<u8>>",
+ "Option<Option<u16>>",
+ "Option<Option<u32>>",
+ "Option<Option<u64>>",
+ "Option<Option<isize>>",
+ "Option<Option<i8>>",
+ "Option<Option<i16>>",
+ "Option<Option<i32>>",
+ "Option<Option<i64>>",
+ "Option<Option<f32>>",
+ "Option<Option<f64>>",
];
-
pub fn assert_string_type(name: &str, field_type: &String) {
if field_type != "String"
&& field_type != "&str"
@@ -26,8 +50,12 @@ pub fn assert_string_type(name: &str, field_type: &String) {
&& field_type != "Option<String>"
&& field_type != "Option<Option<String>>"
&& !(field_type.starts_with("Option<") && field_type.ends_with("str>"))
- && !(field_type.starts_with("Option<Option<") && field_type.ends_with("str>>")) {
- panic!("`{}` validator can only be used on String, &str, Cow<'_,str> or an Option of those", name);
+ && !(field_type.starts_with("Option<Option<") && field_type.ends_with("str>>"))
+ {
+ panic!(
+ "`{}` validator can only be used on String, &str, Cow<'_,str> or an Option of those",
+ name
+ );
}
}
@@ -52,8 +80,9 @@ pub fn assert_has_len(field_name: String, field_type: &String) {
&& !(field_type.starts_with("Option<") && field_type.ends_with("str>"))
&& !(field_type.starts_with("Option<Option<") && field_type.ends_with("str>>"))
&& !COW_TYPE.is_match(field_type)
- && field_type != "&str" {
- panic!(
+ && field_type != "&str"
+ {
+ panic!(
"Validator `length` can only be used on types `String`, `&str`, Cow<'_,str> or `Vec` but found `{}` for field `{}`",
field_type, field_name
);