From 44d54c86d2ed2820fab3d1d0f8c387e142a5a5b8 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sun, 14 Jun 2020 13:16:52 -0400 Subject: [PATCH] Implement the size helper but it has a bug somewhere. --- src/renderer/renderer.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) 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