moduforge_macros/
node.rs

1#[macro_export]
2macro_rules! node {
3    ($name:expr) => {
4        {
5            let mut node = moduforge_core::node::Node::default();
6            node.set_name($name);
7            node
8        }
9    };
10    ($name:expr, $desc:expr) => {
11        {
12            let mut node = moduforge_core::node::Node::default();
13            node.set_name($name).set_desc($desc);
14            node
15        }
16    };
17    ($name:expr, $desc:expr, $content:expr) => {
18        {
19            let mut node = moduforge_core::node::Node::default();
20            node.set_name($name).set_desc($desc).set_content($content);
21            node
22        }
23    };
24    ($name:expr, $desc:expr, $content:expr, $($key:expr => $value:expr),*) => {
25        {
26            let mut node = moduforge_core::node::Node::default();
27            node.set_name($name)
28                .set_desc($desc)
29                .set_content($content);
30            $(
31                node.set_attr($key, Some($value));
32            )*
33            node
34        }
35    };
36}