Skip to main content

gremlin_client/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}