use std::ops::RangeInclusive;
pub fn char_verifier(value: char) -> impl Fn(usize, char) -> bool {
move |_, c| value == c
}
pub fn text_verifier(value: &str) -> impl Fn(usize, char) -> bool + '_ {
move |_, c| value.contains(c)
}
pub fn range_verifier(value: RangeInclusive<char>) -> impl Fn(usize, char) -> bool {
move |_, c| value.contains(&c)
}
pub fn interval_verifier(value: &'static [RangeInclusive<char>]) -> impl Fn(usize, char) -> bool {
move |_, c| {
for range in value.iter() {
if &c < range.start() {
break;
}
if range.contains(&c) {
return true;
}
}
false
}
}