diff options
author | Ashelyn Rose <git@ashen.earth> | 2025-04-25 01:28:20 -0600 |
---|---|---|
committer | Ashelyn Rose <git@ashen.earth> | 2025-04-25 01:28:20 -0600 |
commit | 9f29a187b2395c5d1d4039600917e642948ad26b (patch) | |
tree | 88852805dc6c0642bf9e3ebf3a25a0ba4f597642 /src | |
parent | b115605055e72c5a261f9f024d7db8f508517fc9 (diff) |
Working proc macro proc_macro
Diffstat (limited to 'src')
-rw-r--r-- | src/render.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/render.rs b/src/render.rs index 3bb6e41..94b193b 100644 --- a/src/render.rs +++ b/src/render.rs @@ -18,6 +18,9 @@ pub enum RenderNode { attributes: HashMap<String, String>, children: Vec<RenderNode> }, + Fragment { + children: Vec<RenderNode> + }, TextNode { content: String, }, @@ -58,6 +61,13 @@ impl RenderNode { })()) }, + RenderNode::Fragment { children } => { + Box::pin((async move || { + join_all(children.into_iter() + .map(|child| child.render_to_string())).await + .join("") + })()) + } RenderNode::TextNode { content } => Box::pin((async move || content)()), RenderNode::Null => Box::pin((async move || "".to_string())()), |