solomon_gremlin/process/traversal/step/
to.rs1use 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 {
11 params,
12 }
13 }
14}
15
16impl From<ToStep> for Vec<GValue> {
17 fn from(step: ToStep) -> Self {
18 step.params
19 }
20}
21
22impl From<&str> for ToStep {
23 fn from(param: &str) -> Self {
24 ToStep::new(vec![param.into()])
25 }
26}
27
28impl From<&Vertex> for ToStep {
29 fn from(param: &Vertex) -> Self {
30 ToStep::new(vec![param.into()])
31 }
32}
33
34impl From<TraversalBuilder> for ToStep {
35 fn from(param: TraversalBuilder) -> Self {
36 ToStep::new(vec![param.bytecode.into()])
37 }
38}