warlocks_cauldron/
macros.rs

1#[macro_export]
2macro_rules! dict(
3    { $($key:expr => $value:expr), + } => {
4        {
5            let mut m = HashMap::new();
6            $(
7                m.insert($key, $value);
8            )+
9            m
10        }
11     };
12);
13
14#[macro_export]
15macro_rules! list(
16    { $($value:expr), + } => {
17        {
18            let mut v = Vec::new();
19            $(
20                v.push($value.to_string());
21            )+
22            
23            v
24        }
25     };
26);
27
28
29#[macro_export]
30macro_rules! generate_payload(
31    ($lang_code:literal) => {(
32        $lang_code,
33        include_str!(concat!("jsons/", $lang_code, "/address.json")),
34        include_str!(concat!("jsons/", $lang_code, "/datetime.json")),
35        include_str!(concat!("jsons/", $lang_code, "/finance.json")),
36        include_str!(concat!("jsons/", $lang_code, "/food.json")),
37        include_str!(concat!("jsons/", $lang_code, "/person.json")),
38        include_str!(concat!("jsons/", $lang_code, "/text.json")),
39        None,
40    )};
41
42    ($lang_code:literal, with_builtin) => {(
43        $lang_code,
44        include_str!(concat!("jsons/", $lang_code, "/address.json")),
45        include_str!(concat!("jsons/", $lang_code, "/datetime.json")),
46        include_str!(concat!("jsons/", $lang_code, "/finance.json")),
47        include_str!(concat!("jsons/", $lang_code, "/food.json")),
48        include_str!(concat!("jsons/", $lang_code, "/person.json")),
49        include_str!(concat!("jsons/", $lang_code, "/text.json")),
50        Some(include_str!(concat!("jsons/", $lang_code, "/builtin.json"))),
51    )};
52);