use super::super::{
super::{data::*, errors::*, plugins::*, store::*},
vertex_finder::*,
};
use kutil::std::error::*;
impl VertexFinder {
pub fn find<StoreT, ErrorReceiverT>(
&self,
source_vertex_id: &ID,
_edge_template_id: &ID,
library: &mut Library<StoreT>,
errors: &mut ErrorReceiverT,
) -> Result<Option<ID>, FloriaError>
where
StoreT: Clone + Send + Store,
ErrorReceiverT: ErrorReceiver<FloriaError>,
{
let call_site = CallSite::new(source_vertex_id.clone(), Default::default());
Ok(self.finder.clone().dispatch(&call_site, library, errors)?.and_then(|id| match id {
Expression::Text(id) => Some(ID::parse(EntityKind::Vertex, &id)),
_ => None,
}))
}
}