Skip to content

Commit c6332e3

Browse files
committed
feat(frender-html): proxy_csr_element_render_update!
1 parent a984c73 commit c6332e3

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

packages/frender-html/src/element.rs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -166,23 +166,30 @@ macro_rules! proxy_csr_element {
166166
$expr.pinned_render_init(render_context, states)
167167
}
168168

169-
fn pinned_render_update<Ctx: ?Sized + $crate::HtmlRenderContext>(
169+
fn unpinned_render_init<Ctx: ?Sized + $crate::HtmlRenderContext>(
170170
//
171171
self,
172172
render_context: &mut Ctx,
173-
states: $crate::__private::PinnedMutRenderStatesOfKind<Self::RenderStateKind, Ctx::Renderer>,
174-
) {
173+
) -> $crate::__private::UnpinnedRenderStatesOfKind<Self::RenderStateKind, Ctx::Renderer> {
175174
let $this = self;
176-
$expr.pinned_render_update(render_context, states)
175+
$expr.unpinned_render_init(render_context)
177176
}
178177

179-
fn unpinned_render_init<Ctx: ?Sized + $crate::HtmlRenderContext>(
178+
$crate::proxy_csr_element_render_update!(|$this| $expr);
179+
};
180+
}
181+
182+
#[macro_export]
183+
macro_rules! proxy_csr_element_render_update {
184+
(|$this:pat_param| $expr:expr) => {
185+
fn pinned_render_update<Ctx: ?Sized + $crate::HtmlRenderContext>(
180186
//
181187
self,
182188
render_context: &mut Ctx,
183-
) -> $crate::__private::UnpinnedRenderStatesOfKind<Self::RenderStateKind, Ctx::Renderer> {
189+
states: $crate::__private::PinnedMutRenderStatesOfKind<Self::RenderStateKind, Ctx::Renderer>,
190+
) {
184191
let $this = self;
185-
$expr.unpinned_render_init(render_context)
192+
$expr.pinned_render_update(render_context, states)
186193
}
187194

188195
fn unpinned_render_update<Ctx: ?Sized + $crate::HtmlRenderContext>(

0 commit comments

Comments
 (0)