code_insights/
validation.rs

1macro_rules! validate_field {
2    ($self:ident, $field:ident, $limit:expr) => {
3        let len = $self.$field.len();
4        if len > $limit {
5            return Err(Error::FieldTooLong {
6                name: stringify!($field).to_owned(),
7                len,
8                limit: $limit,
9            });
10        }
11    };
12}
13
14pub(crate) use validate_field;
15
16macro_rules! validate_optional_field {
17    ($self:ident, $field:ident, $limit:expr) => {
18        if let Some(ref $field) = $self.$field {
19            let len = $field.len();
20            if len > $limit {
21                return Err(Error::FieldTooLong {
22                    name: stringify!($field).to_owned(),
23                    len,
24                    limit: $limit,
25                });
26            }
27        }
28    };
29}
30
31pub(crate) use validate_optional_field;