Working implementation of into_context_element for RValue.
This commit is contained in:
parent
c5b927ca11
commit
f4f309caad
@ -17,6 +17,7 @@ use crate::renderer::WalkError;
|
||||
use crate::renderer::Walkable;
|
||||
use std::cmp::Ordering;
|
||||
use std::collections::HashMap;
|
||||
use std::rc::Rc;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct ParametersContext<'a> {
|
||||
@ -39,24 +40,18 @@ impl<'a> IntoContextElement for RValue<'a> {
|
||||
renderer: &DustRenderer,
|
||||
breadcrumbs: Option<&'b BreadcrumbTree<'b>>,
|
||||
) -> Option<IceResult<'b>> {
|
||||
todo!()
|
||||
// match self {
|
||||
// RValue::RVLiteral(owned_literal) => Some(owned_literal),
|
||||
// RValue::RVPath(path) => walk_path(breadcrumbs, &path.keys)
|
||||
// .map(|ice| ice.into_context_element(renderer, breadcrumbs))
|
||||
// .ok()
|
||||
// .flatten(),
|
||||
// RValue::RVTemplate(template) => {
|
||||
// // TODO
|
||||
// // renderer
|
||||
// // .render_partial_name(template, breadcrumbs)
|
||||
// // .map(|rendered| OwnedLiteral::LString(rendered))
|
||||
// // .ok()
|
||||
// // .as_ref()
|
||||
// // .map(|l| l as _)
|
||||
// todo!()
|
||||
// }
|
||||
// }
|
||||
match self {
|
||||
RValue::RVLiteral(owned_literal) => Some(IceResult::Borrowed(owned_literal)),
|
||||
RValue::RVPath(path) => walk_path(breadcrumbs, &path.keys)
|
||||
.map(|ice| ice.into_context_element(renderer, breadcrumbs))
|
||||
.ok()
|
||||
.flatten(),
|
||||
RValue::RVTemplate(template) => renderer
|
||||
.render_partial_name(template, breadcrumbs)
|
||||
.map(|rendered| OwnedLiteral::LString(rendered))
|
||||
.ok()
|
||||
.map(|owned_literal| IceResult::Owned(Rc::new(owned_literal))),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user