]>
Commit | Line | Data |
---|---|---|
8bb4bdeb | 1 | |
8bb4bdeb XL |
2 | macro_rules! yaml_vec_or_str { |
3 | ($v:ident, $a:ident, $c:ident) => {{ | |
4 | let maybe_vec = $v.as_vec(); | |
5 | if let Some(vec) = maybe_vec { | |
6 | for ys in vec { | |
7 | if let Some(s) = ys.as_str() { | |
8 | $a = $a.$c(s); | |
9 | } else { | |
10 | panic!("Failed to convert YAML value {:?} to a string", ys); | |
11 | } | |
12 | } | |
13 | } else { | |
14 | if let Some(s) = $v.as_str() { | |
15 | $a = $a.$c(s); | |
16 | } else { | |
17 | panic!("Failed to convert YAML value {:?} to either a vec or string", $v); | |
18 | } | |
19 | } | |
20 | $a | |
21 | } | |
22 | }; | |
23 | } | |
24 | ||
8bb4bdeb XL |
25 | macro_rules! yaml_to_str { |
26 | ($a:ident, $v:ident, $c:ident) => {{ | |
7cac9316 | 27 | $a.$c($v.as_str().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v))) |
8bb4bdeb XL |
28 | }}; |
29 | } | |
30 | ||
31 | macro_rules! yaml_to_bool { | |
32 | ($a:ident, $v:ident, $c:ident) => {{ | |
33 | $a.$c($v.as_bool().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v))) | |
34 | }}; | |
35 | } | |
36 | ||
37 | macro_rules! yaml_to_u64 { | |
38 | ($a:ident, $v:ident, $c:ident) => {{ | |
39 | $a.$c($v.as_i64().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v)) as u64) | |
40 | }}; | |
41 | } | |
42 | ||
43 | macro_rules! yaml_to_usize { | |
44 | ($a:ident, $v:ident, $c:ident) => {{ | |
45 | $a.$c($v.as_i64().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v)) as usize) | |
46 | }}; | |
47 | } |