|
|
|
@ -765,8 +765,41 @@ impl<'a> DustRenderer<'a> {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
DustTag::DTHelperContextDump(parameterized_block) => {
|
|
|
|
|
//todo
|
|
|
|
|
todo!()
|
|
|
|
|
let param_map =
|
|
|
|
|
ParametersContext::new(self, breadcrumbs, ¶meterized_block.params, None);
|
|
|
|
|
let value = self.tap(breadcrumbs, ¶m_map, "key");
|
|
|
|
|
let destination = self.tap(breadcrumbs, ¶m_map, "to");
|
|
|
|
|
let value_rendered = match value.as_ref().map(|maybe_ice| {
|
|
|
|
|
maybe_ice
|
|
|
|
|
.as_ref()
|
|
|
|
|
.map(|ice| ice.get_context_element_reference())
|
|
|
|
|
.map(|ce| ce.render(&Vec::new()))
|
|
|
|
|
}) {
|
|
|
|
|
Some(Ok(Ok(val))) => val,
|
|
|
|
|
_ => "current".to_owned(),
|
|
|
|
|
};
|
|
|
|
|
let destination_rendered = match destination.as_ref().map(|maybe_ice| {
|
|
|
|
|
maybe_ice
|
|
|
|
|
.as_ref()
|
|
|
|
|
.map(|ice| ice.get_context_element_reference())
|
|
|
|
|
.map(|ce| ce.render(&Vec::new()))
|
|
|
|
|
}) {
|
|
|
|
|
Some(Ok(Ok(val))) => val,
|
|
|
|
|
_ => "output".to_owned(),
|
|
|
|
|
};
|
|
|
|
|
match (
|
|
|
|
|
value_rendered.as_str(),
|
|
|
|
|
destination_rendered.as_str(),
|
|
|
|
|
breadcrumbs.last(),
|
|
|
|
|
) {
|
|
|
|
|
("current", "output", None) => return Ok("{}".to_owned()),
|
|
|
|
|
("current", "console", None) => println!("{{}}"),
|
|
|
|
|
("current", "output", Some(bc)) => return Ok(format!("{:?}", bc)),
|
|
|
|
|
("current", "console", Some(bc)) => println!("{:?}", bc),
|
|
|
|
|
("full", "output", _) => return Ok(format!("{:?}", breadcrumbs)),
|
|
|
|
|
("full", "console", _) => println!("{:?}", breadcrumbs),
|
|
|
|
|
_ => panic!("Unhandled contextDump parameters."),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|