warlocks_cauldron/
macros.rs1#[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);