ferron_common/util/
config_macros.rs1#[macro_export]
3macro_rules! get_entries_for_validation {
4 ($name:literal, $config:expr, $used:expr) => {{
5 $config.entries.get($name).and_then(|value| {
6 $used.insert($name.to_string());
7 value.get_value().map(|_| value)
8 })
9 }};
10}
11
12#[macro_export]
14macro_rules! get_values_for_validation {
15 ($name:literal, $config:expr, $used:expr) => {{
16 $config
17 .entries
18 .get($name)
19 .and_then(|value| {
20 $used.insert($name.to_string());
21 value.get_value().map(|_| value)
22 })
23 .map_or(Vec::new(), |value| value.get_values())
24 }};
25}
26
27#[macro_export]
29macro_rules! get_entries {
30 ($name:literal, $config:expr) => {{
31 $config
32 .entries
33 .get($name)
34 .and_then(|value| value.get_value().map(|_| value))
35 }};
36}
37
38#[macro_export]
40macro_rules! get_entry {
41 ($name:literal, $config:expr) => {{
42 $config
43 .entries
44 .get($name)
45 .and_then(|value| value.get_value().map(|_| value))
46 .and_then(|value| value.get_entry())
47 }};
48}
49
50#[macro_export]
52macro_rules! get_value {
53 ($name:literal, $config:expr) => {{
54 $config
55 .entries
56 .get($name)
57 .and_then(|value| value.get_value().map(|_| value))
58 .and_then(|value| value.get_value())
59 }};
60}
61
62#[macro_export]
64macro_rules! get_values {
65 ($name:literal, $config:expr) => {{
66 $config
67 .entries
68 .get($name)
69 .and_then(|value| value.get_value().map(|_| value))
70 .map_or(Vec::new(), |value| value.get_values())
71 }};
72}