|
|
|
@ -394,23 +394,24 @@ impl<'a> DustRenderer<'a> {
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let left_side = match param_map
|
|
|
|
|
if !param_map.contains_key("key") {
|
|
|
|
|
return Ok("".to_owned());
|
|
|
|
|
}
|
|
|
|
|
let left_side = param_map
|
|
|
|
|
.walk("key")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs))
|
|
|
|
|
{
|
|
|
|
|
Err(WalkError::CantWalk) | Ok(None) => return Ok("".to_owned()),
|
|
|
|
|
Ok(Some(res)) => res,
|
|
|
|
|
};
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
let right_side = param_map
|
|
|
|
|
.walk("value")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
if Ok(Some(left_side.get_context_element_reference()))
|
|
|
|
|
== right_side.as_ref().map(|maybe_ice| {
|
|
|
|
|
maybe_ice
|
|
|
|
|
.as_ref()
|
|
|
|
|
.map(|ice| ice.get_context_element_reference())
|
|
|
|
|
})
|
|
|
|
|
{
|
|
|
|
|
if left_side.as_ref().map(|maybe_ice| {
|
|
|
|
|
maybe_ice
|
|
|
|
|
.as_ref()
|
|
|
|
|
.map(|ice| ice.get_context_element_reference())
|
|
|
|
|
}) == right_side.as_ref().map(|maybe_ice| {
|
|
|
|
|
maybe_ice
|
|
|
|
|
.as_ref()
|
|
|
|
|
.map(|ice| ice.get_context_element_reference())
|
|
|
|
|
}) {
|
|
|
|
|
return self.render_maybe_body(
|
|
|
|
|
¶meterized_block.contents,
|
|
|
|
|
new_breadcrumbs.as_ref().unwrap_or(breadcrumbs),
|
|
|
|
@ -453,23 +454,24 @@ impl<'a> DustRenderer<'a> {
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let left_side = match param_map
|
|
|
|
|
if !param_map.contains_key("key") {
|
|
|
|
|
return Ok("".to_owned());
|
|
|
|
|
}
|
|
|
|
|
let left_side = param_map
|
|
|
|
|
.walk("key")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs))
|
|
|
|
|
{
|
|
|
|
|
Err(WalkError::CantWalk) | Ok(None) => return Ok("".to_owned()),
|
|
|
|
|
Ok(Some(res)) => res,
|
|
|
|
|
};
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
let right_side = param_map
|
|
|
|
|
.walk("value")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
if Ok(Some(left_side.get_context_element_reference()))
|
|
|
|
|
!= right_side.as_ref().map(|maybe_ice| {
|
|
|
|
|
maybe_ice
|
|
|
|
|
.as_ref()
|
|
|
|
|
.map(|ice| ice.get_context_element_reference())
|
|
|
|
|
})
|
|
|
|
|
{
|
|
|
|
|
if left_side.as_ref().map(|maybe_ice| {
|
|
|
|
|
maybe_ice
|
|
|
|
|
.as_ref()
|
|
|
|
|
.map(|ice| ice.get_context_element_reference())
|
|
|
|
|
}) != right_side.as_ref().map(|maybe_ice| {
|
|
|
|
|
maybe_ice
|
|
|
|
|
.as_ref()
|
|
|
|
|
.map(|ice| ice.get_context_element_reference())
|
|
|
|
|
}) {
|
|
|
|
|
return self.render_maybe_body(
|
|
|
|
|
¶meterized_block.contents,
|
|
|
|
|
new_breadcrumbs.as_ref().unwrap_or(breadcrumbs),
|
|
|
|
@ -493,19 +495,18 @@ impl<'a> DustRenderer<'a> {
|
|
|
|
|
|
|
|
|
|
let param_map =
|
|
|
|
|
ParametersContext::new(self, breadcrumbs, ¶meterized_block.params);
|
|
|
|
|
let left_side = match param_map
|
|
|
|
|
if !param_map.contains_key("key") {
|
|
|
|
|
return Ok("".to_owned());
|
|
|
|
|
}
|
|
|
|
|
let left_side = param_map
|
|
|
|
|
.walk("key")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs))
|
|
|
|
|
{
|
|
|
|
|
Err(WalkError::CantWalk) | Ok(None) => return Ok("".to_owned()),
|
|
|
|
|
Ok(Some(res)) => res,
|
|
|
|
|
};
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
let right_side = param_map
|
|
|
|
|
.walk("value")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
match (right_side) {
|
|
|
|
|
Ok(Some(right_side_unwrapped)) => {
|
|
|
|
|
if left_side.get_context_element_reference()
|
|
|
|
|
match (left_side, right_side) {
|
|
|
|
|
(Ok(Some(left_side_unwrapped)), Ok(Some(right_side_unwrapped))) => {
|
|
|
|
|
if left_side_unwrapped.get_context_element_reference()
|
|
|
|
|
> right_side_unwrapped.get_context_element_reference()
|
|
|
|
|
{
|
|
|
|
|
return self.render_maybe_body(
|
|
|
|
@ -540,19 +541,18 @@ impl<'a> DustRenderer<'a> {
|
|
|
|
|
|
|
|
|
|
let param_map =
|
|
|
|
|
ParametersContext::new(self, breadcrumbs, ¶meterized_block.params);
|
|
|
|
|
let left_side = match param_map
|
|
|
|
|
if !param_map.contains_key("key") {
|
|
|
|
|
return Ok("".to_owned());
|
|
|
|
|
}
|
|
|
|
|
let left_side = param_map
|
|
|
|
|
.walk("key")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs))
|
|
|
|
|
{
|
|
|
|
|
Err(WalkError::CantWalk) | Ok(None) => return Ok("".to_owned()),
|
|
|
|
|
Ok(Some(res)) => res,
|
|
|
|
|
};
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
let right_side = param_map
|
|
|
|
|
.walk("value")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
match (right_side) {
|
|
|
|
|
Ok(Some(right_side_unwrapped)) => {
|
|
|
|
|
if left_side.get_context_element_reference()
|
|
|
|
|
match (left_side, right_side) {
|
|
|
|
|
(Ok(Some(left_side_unwrapped)), Ok(Some(right_side_unwrapped))) => {
|
|
|
|
|
if left_side_unwrapped.get_context_element_reference()
|
|
|
|
|
>= right_side_unwrapped.get_context_element_reference()
|
|
|
|
|
{
|
|
|
|
|
return self.render_maybe_body(
|
|
|
|
@ -587,19 +587,18 @@ impl<'a> DustRenderer<'a> {
|
|
|
|
|
|
|
|
|
|
let param_map =
|
|
|
|
|
ParametersContext::new(self, breadcrumbs, ¶meterized_block.params);
|
|
|
|
|
let left_side = match param_map
|
|
|
|
|
if !param_map.contains_key("key") {
|
|
|
|
|
return Ok("".to_owned());
|
|
|
|
|
}
|
|
|
|
|
let left_side = param_map
|
|
|
|
|
.walk("key")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs))
|
|
|
|
|
{
|
|
|
|
|
Err(WalkError::CantWalk) | Ok(None) => return Ok("".to_owned()),
|
|
|
|
|
Ok(Some(res)) => res,
|
|
|
|
|
};
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
let right_side = param_map
|
|
|
|
|
.walk("value")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
match (right_side) {
|
|
|
|
|
Ok(Some(right_side_unwrapped)) => {
|
|
|
|
|
if left_side.get_context_element_reference()
|
|
|
|
|
match (left_side, right_side) {
|
|
|
|
|
(Ok(Some(left_side_unwrapped)), Ok(Some(right_side_unwrapped))) => {
|
|
|
|
|
if left_side_unwrapped.get_context_element_reference()
|
|
|
|
|
< right_side_unwrapped.get_context_element_reference()
|
|
|
|
|
{
|
|
|
|
|
return self.render_maybe_body(
|
|
|
|
@ -634,19 +633,18 @@ impl<'a> DustRenderer<'a> {
|
|
|
|
|
|
|
|
|
|
let param_map =
|
|
|
|
|
ParametersContext::new(self, breadcrumbs, ¶meterized_block.params);
|
|
|
|
|
let left_side = match param_map
|
|
|
|
|
if !param_map.contains_key("key") {
|
|
|
|
|
return Ok("".to_owned());
|
|
|
|
|
}
|
|
|
|
|
let left_side = param_map
|
|
|
|
|
.walk("key")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs))
|
|
|
|
|
{
|
|
|
|
|
Err(WalkError::CantWalk) | Ok(None) => return Ok("".to_owned()),
|
|
|
|
|
Ok(Some(res)) => res,
|
|
|
|
|
};
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
let right_side = param_map
|
|
|
|
|
.walk("value")
|
|
|
|
|
.map(|ice| ice.into_context_element(self, breadcrumbs));
|
|
|
|
|
match (right_side) {
|
|
|
|
|
Ok(Some(right_side_unwrapped)) => {
|
|
|
|
|
if left_side.get_context_element_reference()
|
|
|
|
|
match (left_side, right_side) {
|
|
|
|
|
(Ok(Some(left_side_unwrapped)), Ok(Some(right_side_unwrapped))) => {
|
|
|
|
|
if left_side_unwrapped.get_context_element_reference()
|
|
|
|
|
<= right_side_unwrapped.get_context_element_reference()
|
|
|
|
|
{
|
|
|
|
|
return self.render_maybe_body(
|
|
|
|
|