solomon_gremlin/structure/
traverser.rs

1use crate::conversion::FromGValue;
2use crate::{GValue, GremlinResult};
3
4#[derive(Debug, PartialEq, Clone)]
5pub struct Traverser {
6	bulk: i64,
7	value: Box<GValue>,
8}
9
10impl Traverser {
11	pub fn new(bulk: i64, value: GValue) -> Traverser {
12		Traverser {
13			bulk,
14			value: Box::new(value),
15		}
16	}
17
18	pub fn take<T>(self) -> GremlinResult<T>
19	where
20		T: FromGValue,
21	{
22		T::from_gvalue(*self.value)
23	}
24}