Working implementation of into_context_element for RValue.

This commit is contained in:
Tom Alexander 2020-06-06 18:10:30 -04:00
parent c5b927ca11
commit f4f309caad
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE

View File

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