1pub fn mask_str(str: &str) -> String {
2 let len = str.chars().by_ref().count();
3 let split = len / 2;
4 let split2 = split / 2;
5 let mut res = String::new();
6 let mut chars = str.chars();
7 res.extend(chars.by_ref().take(split2));
8 res.push_str(&"*".repeat(split));
9 let _ = chars.by_ref().take(split).count();
10 res.extend(chars);
11 res
12}
13
14pub fn limit_str(str: &str, limit: usize) -> String {
15 let len = str.chars().by_ref().count();
16 if len > limit {
17 let mut chars = str.chars();
18 let mut string = chars.by_ref().take(limit).collect::<String>();
19 string.push_str("..");
20 string
21 } else {
22 str.to_owned()
23 }
24}