Skip to main content

gremlin_client/process/traversal/step/
to.rs

1use crate::process::traversal::TraversalBuilder;
2use crate::structure::{GValue, Vertex};
3
4pub struct ToStep {
5    params: Vec<GValue>,
6}
7
8impl ToStep {
9    fn new(params: Vec<GValue>) -> Self {
10        ToStep { params }
11    }
12}
13
14impl From<ToStep> for Vec<GValue> {
15    fn from(step: ToStep) -> Self {
16        step.params
17    }
18}
19
20impl From<&str> for ToStep {
21    fn from(param: &str) -> Self {
22        ToStep::new(vec![param.into()])
23    }
24}
25
26impl From<&Vertex> for ToStep {
27    fn from(param: &Vertex) -> Self {
28        ToStep::new(vec![param.into()])
29    }
30}
31
32impl From<TraversalBuilder> for ToStep {
33    fn from(param: TraversalBuilder) -> Self {
34        ToStep::new(vec![param.bytecode.into()])
35    }
36}