tentatively seems to be working.
This commit is contained in:
15
src/bin.rs
15
src/bin.rs
@@ -1,5 +1,6 @@
|
||||
extern crate nom;
|
||||
|
||||
use crate::renderer::CompareContextElement;
|
||||
use crate::renderer::IntoBoxedContextElement;
|
||||
use parser::Filter;
|
||||
use renderer::compile_template;
|
||||
@@ -11,6 +12,7 @@ use renderer::RenderError;
|
||||
use renderer::Renderable;
|
||||
use renderer::WalkError;
|
||||
use renderer::Walkable;
|
||||
use std::any::Any;
|
||||
use std::env;
|
||||
use std::fs;
|
||||
use std::io::{self, Read};
|
||||
@@ -144,3 +146,16 @@ impl IntoBoxedContextElement for serde_json::Value {
|
||||
Box::new(self.clone())
|
||||
}
|
||||
}
|
||||
|
||||
impl CompareContextElement for serde_json::Value {
|
||||
fn to_any(&self) -> &dyn Any {
|
||||
self
|
||||
}
|
||||
|
||||
fn equals(&self, other: &dyn ContextElement) -> bool {
|
||||
other
|
||||
.to_any()
|
||||
.downcast_ref::<Self>()
|
||||
.map_or(false, |a| self == a)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user