Skip to main content

render/
fragment.rs

1//! The fragment component
2
3use crate::Render;
4use std::fmt::{Result, Write};
5
6/// A top-level root component to combine a same-level components
7/// in a RSX fashion
8///
9/// ```rust
10/// # #![feature(proc_macro_hygiene)]
11/// # use pretty_assertions::assert_eq;
12/// # use render_macros::html;
13/// let result = html! {
14///     <>
15///         <a />
16///         <b />
17///     </>
18/// };
19/// assert_eq!(result, "<a/><b/>");
20/// ```
21#[derive(Debug)]
22pub struct Fragment<T: Render> {
23    pub children: T,
24}
25
26impl<T: Render> Render for Fragment<T> {
27    fn render_into<W: Write>(self, writer: &mut W) -> Result {
28        self.children.render_into(writer)
29    }
30}