Compare commits

...

2 Commits

Author SHA1 Message Date
Greg Johnston
0588c89bba Add html-escape dependency for view macro 2023-01-31 23:56:32 -05:00
Greg Johnston
169e55660c Make all fragment rendering lazy (closes #299 and #421) 2023-01-31 23:36:33 -05:00
2 changed files with 6 additions and 5 deletions

View File

@@ -14,6 +14,7 @@ proc-macro = true
[dependencies]
cfg-if = "1"
doc-comment = "0.3"
html-escape = "0.2"
itertools = "0.10"
pad-adapter = "0.1"
prettyplease = "0.1"

View File

@@ -171,7 +171,7 @@ pub(crate) fn render_view(
cx,
Span::call_site(),
nodes,
false,
true,
TagType::Unknown,
global_class,
)
@@ -219,7 +219,7 @@ fn fragment_to_tokens_ssr(
});
quote! {
{
leptos::Fragment::new(vec![
leptos::Fragment::lazy(|| vec![
#(#nodes),*
])
}
@@ -336,7 +336,7 @@ fn element_to_tokens_ssr(
),
Node::Text(text) => {
if let Some(value) = value_to_string(&text.value) {
template.push_str(&value);
template.push_str(&html_escape::encode_safe(&value));
} else {
template.push_str("{}");
let value = text.value.as_ref();
@@ -626,7 +626,7 @@ fn node_to_tokens(
cx,
Span::call_site(),
&fragment.children,
false,
true,
parent_type,
global_class,
),
@@ -708,7 +708,7 @@ fn element_to_tokens(
cx,
Span::call_site(),
&fragment.children,
false,
true,
parent_type,
global_class,
),