use crate::prelude::*;
#[sanitizer]
pub struct E164PhoneNumber;
impl Sanitizer<String> for E164PhoneNumber {
fn sanitize(&self, value: String) -> String {
let mut out = String::with_capacity(value.len());
for c in value.chars() {
if c.is_ascii_digit() {
out.push(c);
}
}
if out.is_empty() {
out
} else {
format!("+{out}")
}
}
}