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}