1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
use crate::process::traversal::step::has::IntoHasStep; use crate::process::traversal::step::not::IntoNotStep; use crate::process::traversal::TraversalBuilder; use crate::structure::{GIDs, Labels}; pub struct AnonymousTraversalSource { traversal: TraversalBuilder, } impl AnonymousTraversalSource { pub fn new() -> AnonymousTraversalSource { AnonymousTraversalSource { traversal: TraversalBuilder::default(), } } pub fn v<T>(&self, ids: T) -> TraversalBuilder where T: Into<GIDs>, { self.traversal.clone().v(ids) } pub fn count(&self) -> TraversalBuilder { self.traversal.clone().count() } pub fn out<L>(&self, labels: L) -> TraversalBuilder where L: Into<Labels>, { self.traversal.clone().out(labels) } pub fn values<L>(&self, labels: L) -> TraversalBuilder where L: Into<Labels>, { self.traversal.clone().values(labels) } pub fn has_label<L>(&self, labels: L) -> TraversalBuilder where L: Into<Labels>, { self.traversal.clone().has_label(labels) } pub fn as_<A>(&self, alias: A) -> TraversalBuilder where A: Into<String>, { self.traversal.clone().as_(alias) } pub fn has<A>(&self, step: A) -> TraversalBuilder where A: IntoHasStep, { self.traversal.clone().has(step) } pub fn not<A>(&self, step: A) -> TraversalBuilder where A: IntoNotStep, { self.traversal.clone().not(step) } } impl Default for AnonymousTraversalSource { fn default() -> Self { Self::new() } }