diff --git a/src/renderer/renderer.rs b/src/renderer/renderer.rs index 1ac5bd6..b9b8c8e 100644 --- a/src/renderer/renderer.rs +++ b/src/renderer/renderer.rs @@ -723,8 +723,21 @@ impl<'a> DustRenderer<'a> { } } DustTag::DTHelperSize(parameterized_block) => { - //todo - todo!() + let param_map = + ParametersContext::new(self, breadcrumbs, ¶meterized_block.params, None); + let value = self.tap(breadcrumbs, ¶m_map, "key"); + let value_ce = value.as_ref().map(|maybe_ice| { + maybe_ice + .as_ref() + .map(|ice| ice.get_context_element_reference()) + .map(|ce| ce.get_size()) + }); + match value_ce { + None | Some(Err(_)) | Some(Ok(None)) => return Ok("".to_owned()), + Some(Ok(Some(ce_size))) => { + return ce_size.get_context_element_reference().render(&Vec::new()) + } + } } DustTag::DTHelperContextDump(parameterized_block) => { //todo