Combine the render traits into a single context_element file.

This commit is contained in:
Tom Alexander 2020-04-28 19:09:02 -04:00
parent 41ad6179d1
commit c961cf7ab8
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
5 changed files with 13 additions and 16 deletions

View File

@ -1,4 +1,4 @@
use super::renderable::Renderable;
use crate::parser::Filter;
use crate::renderer::errors::RenderError;
use std::fmt::Debug;
@ -7,3 +7,7 @@ pub trait ContextElement: Walkable + Renderable + Debug {}
pub trait Walkable {
fn walk(&self, segment: &str) -> Result<&dyn ContextElement, RenderError>;
}
pub trait Renderable {
fn render(&self, filters: &Vec<Filter>) -> Result<String, RenderError>;
}

View File

@ -1,4 +1,4 @@
use crate::renderer::walkable::ContextElement;
use crate::renderer::context_element::ContextElement;
use std::error;
use std::fmt;

View File

@ -1,15 +1,14 @@
//! This module contains a renderer for a rust implementation of LinkedIn Dust
mod context_element;
mod errors;
mod renderable;
mod renderer;
mod walkable;
pub use context_element::ContextElement;
pub use context_element::Renderable;
pub use context_element::Walkable;
pub use errors::CompileError;
pub use errors::RenderError;
pub use renderable::Renderable;
pub use renderer::compile_template;
pub use renderer::CompiledTemplate;
pub use renderer::DustRenderer;
pub use walkable::ContextElement;
pub use walkable::Walkable;

View File

@ -1,6 +0,0 @@
use crate::parser::Filter;
use crate::renderer::errors::RenderError;
pub trait Renderable {
fn render(&self, filters: &Vec<Filter>) -> Result<String, RenderError>;
}

View File

@ -3,9 +3,9 @@ use crate::parser::Body;
use crate::parser::DustTag;
use crate::parser::Template;
use crate::parser::TemplateElement;
use crate::renderer::context_element::ContextElement;
use crate::renderer::errors::CompileError;
use crate::renderer::errors::RenderError;
use crate::renderer::walkable::ContextElement;
use std::collections::HashMap;
#[derive(Clone, Debug)]
@ -114,8 +114,8 @@ fn walk_path<'a>(
mod tests {
use super::*;
use crate::parser::Filter;
use crate::renderer::renderable::Renderable;
use crate::renderer::walkable::Walkable;
use crate::renderer::context_element::Renderable;
use crate::renderer::context_element::Walkable;
#[test]
fn test_walk_path() {