icydb_model/base/normalizer/intl/
iso.rs1use crate::{prelude::*, visitor::Normalizer};
8
9#[normalizer]
15pub struct Iso3166_1A2;
16
17impl Normalizer<String> for Iso3166_1A2 {
18 fn normalize(&self, value: &mut String) -> Result<(), String> {
19 let trimmed = value.trim();
21
22 if trimmed.len() != value.len() {
23 *value = trimmed.to_owned();
24 }
25
26 value.make_ascii_uppercase();
28
29 Ok(())
30 }
31}
32
33#[normalizer]
39pub struct Iso639_1;
40
41impl Normalizer<String> for Iso639_1 {
42 fn normalize(&self, value: &mut String) -> Result<(), String> {
43 let trimmed = value.trim();
44
45 if trimmed.len() != value.len() {
46 *value = trimmed.to_owned();
47 }
48
49 value.make_ascii_lowercase();
50
51 Ok(())
52 }
53}