Compiles again.
This commit is contained in:
58
src/bin.rs
58
src/bin.rs
@@ -8,6 +8,7 @@ use renderer::DustRenderer;
|
||||
use renderer::Loopable;
|
||||
use renderer::RenderError;
|
||||
use renderer::Renderable;
|
||||
use renderer::WalkError;
|
||||
use renderer::Walkable;
|
||||
use std::env;
|
||||
use std::fs;
|
||||
@@ -91,36 +92,17 @@ impl Renderable for serde_json::Value {
|
||||
}
|
||||
|
||||
impl Walkable for serde_json::Value {
|
||||
fn walk(&self, segment: &str) -> Result<&dyn ContextElement, RenderError> {
|
||||
fn walk(&self, segment: &str) -> Result<&dyn ContextElement, WalkError> {
|
||||
match self {
|
||||
serde_json::Value::Null => Err(RenderError::CantWalk {
|
||||
segment: segment.to_string(),
|
||||
elem: self,
|
||||
}),
|
||||
serde_json::Value::Bool(_boolean) => Err(RenderError::CantWalk {
|
||||
segment: segment.to_string(),
|
||||
elem: self,
|
||||
}),
|
||||
serde_json::Value::Number(_num) => Err(RenderError::CantWalk {
|
||||
segment: segment.to_string(),
|
||||
elem: self,
|
||||
}),
|
||||
serde_json::Value::String(_string) => Err(RenderError::CantWalk {
|
||||
segment: segment.to_string(),
|
||||
elem: self,
|
||||
}),
|
||||
serde_json::Value::Array(_arr) => Err(RenderError::CantWalk {
|
||||
segment: segment.to_string(),
|
||||
elem: self,
|
||||
}),
|
||||
serde_json::Value::Object(obj) => {
|
||||
obj.get(segment)
|
||||
.map(|val| val as _)
|
||||
.ok_or(RenderError::CantWalk {
|
||||
segment: segment.to_string(),
|
||||
elem: self,
|
||||
})
|
||||
}
|
||||
serde_json::Value::Null => Err(WalkError::CantWalk),
|
||||
serde_json::Value::Bool(_boolean) => Err(WalkError::CantWalk),
|
||||
serde_json::Value::Number(_num) => Err(WalkError::CantWalk),
|
||||
serde_json::Value::String(_string) => Err(WalkError::CantWalk),
|
||||
serde_json::Value::Array(_arr) => Err(WalkError::CantWalk),
|
||||
serde_json::Value::Object(obj) => obj
|
||||
.get(segment)
|
||||
.map(|val| val as _)
|
||||
.ok_or(WalkError::CantWalk),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -128,30 +110,30 @@ impl Walkable for serde_json::Value {
|
||||
impl Loopable for serde_json::Value {
|
||||
fn get_loop_elements(&self) -> Vec<&dyn ContextElement> {
|
||||
match self {
|
||||
serde_json::Value::Null => Ok(Vec::new()),
|
||||
serde_json::Value::Null => Vec::new(),
|
||||
serde_json::Value::Bool(boolean) => {
|
||||
if *boolean {
|
||||
Ok(vec![self])
|
||||
vec![self]
|
||||
} else {
|
||||
Ok(Vec::new())
|
||||
Vec::new()
|
||||
}
|
||||
}
|
||||
serde_json::Value::Number(_num) => Ok(vec![self]),
|
||||
serde_json::Value::Number(_num) => vec![self],
|
||||
serde_json::Value::String(string_value) => {
|
||||
if string_value.is_empty() {
|
||||
Ok(Vec::new())
|
||||
Vec::new()
|
||||
} else {
|
||||
Ok(vec![self])
|
||||
vec![self]
|
||||
}
|
||||
}
|
||||
serde_json::Value::Array(array_value) => {
|
||||
if array_value.is_empty() {
|
||||
Ok(Vec::new())
|
||||
Vec::new()
|
||||
} else {
|
||||
Ok(array_value.iter().map(|x| x as _).collect())
|
||||
array_value.iter().map(|x| x as _).collect()
|
||||
}
|
||||
}
|
||||
serde_json::Value::Object(_obj) => Ok(vec![self]),
|
||||
serde_json::Value::Object(_obj) => vec![self],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user