warlocks_cauldron/providers/spec/
en.rs1use super::super::dependencies::*;
2
3
4rust_enum! {
5 pub enum TrackingService(&'static [&'static str]) {
6 USPS = &[
7 "#### #### #### #### ####",
8 "@@ ### ### ### US",
9 ],
10
11 FEDEX = &[
12 "#### #### ####",
13 "#### #### #### ###",
14 ],
15
16 UPS = &[
17 "1Z@####@##########",
18 ],
19 }
20}
21
22
23pub struct USASpecProvider;
25
26impl USASpecProvider {
27 pub fn tracking_number(service: TrackingService) -> String {
29 let mask = get_random_element(service.value().iter());
30 custom_code(mask, '@', '#')
31 }
32
33 pub fn ssn() -> String {
35 let area = match randint(1, 899) {
36 666 => 665,
37 other => other,
38 };
39
40 format!("{area:03}-{:02}-{:04}", randint(1, 99), randint(1, 9999))
41 }
42}