Initial move to returning results from render calls.
This commit is contained in:
@@ -4,6 +4,7 @@ use renderer::compile_template;
|
||||
use renderer::CompiledTemplate;
|
||||
use renderer::ContextElement;
|
||||
use renderer::DustRenderer;
|
||||
use renderer::RenderError;
|
||||
use renderer::Renderable;
|
||||
use renderer::Walkable;
|
||||
use std::env;
|
||||
@@ -85,7 +86,7 @@ impl Renderable for serde_json::Value {
|
||||
}
|
||||
|
||||
impl Walkable for serde_json::Value {
|
||||
fn walk(&self, segment: &str) -> &dyn ContextElement {
|
||||
fn walk(&self, segment: &str) -> Result<&dyn ContextElement, RenderError> {
|
||||
match self {
|
||||
serde_json::Value::Null => panic!("Attempted to walk to {} on a null value", segment),
|
||||
serde_json::Value::Bool(_boolean) => {
|
||||
@@ -98,7 +99,8 @@ impl Walkable for serde_json::Value {
|
||||
panic!("Attempted to walk to {} on a string value", segment)
|
||||
}
|
||||
serde_json::Value::Array(_arr) => todo!("Arrays not supported yet"),
|
||||
serde_json::Value::Object(obj) => obj.get(segment).unwrap(),
|
||||
// TODO: Handle this error better
|
||||
serde_json::Value::Object(obj) => Ok(obj.get(segment).unwrap()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user