solomon_gremlin/process/traversal/step/
from.rs

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