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}