handle rsx!{cx, ...}

This commit is contained in:
Evan Almloff committed 2022-06-05 07:38:05 -05:00
1 parent 586e29d815
commit 2a6d9ed075
3 files changed
+15 -5

No files matched your search

@@ -4,7 +4,7 @@ use dioxus_rsx::{
};
use quote::{quote, ToTokens, TokenStreamExt};
use std::collections::HashMap;
use syn::{Expr, Result};
use syn::{Expr, Ident, Result};
#[derive(Default)]
pub struct CapturedContextBuilder {
@@ -14,6 +14,7 @@ pub struct CapturedContextBuilder {
pub iterators: Vec<BodyNode>,
pub captured_expressions: Vec<Expr>,
pub listeners: Vec<ElementAttrNamed>,
pub custom_context: Option<Ident>,
}
impl CapturedContextBuilder {
@@ -28,6 +29,7 @@ impl CapturedContextBuilder {
pub fn from_call_body(body: CallBody) -> Result<Self> {
let mut new = Self::default();
new.custom_context = body.custom_context;
for node in body.roots {
new.extend(Self::find_captured(node)?);
}
@@ -86,6 +88,7 @@ impl ToTokens for CapturedContextBuilder {
iterators,
captured_expressions,
listeners,
custom_context: _,
} = self;
let listeners_str = listeners
.iter()