refined_type

Macro Or

Source
macro_rules! Or {
    ($rule1:ty, $rule2:ty) => { ... };
    ($rule1:ty, $($rule2: ty), +) => { ... };
}
Expand description

A macro to generate a Rule that combines multiple rules

ยงExample

use refined_type::rule::{NonEmptyStringRule, Rule, EmailRule};
use refined_type::Or;

type NewRule = Or![EmailRule<String>, NonEmptyStringRule, EmailRule<String>];

let actual = NewRule::validate("sample@example.com".to_string());
assert!(actual.is_ok());