bolt_proto/value/
path.rs

1use bolt_proto_derive::*;
2
3use crate::value::{Node, UnboundRelationship, SIGNATURE_PATH};
4
5#[bolt_structure(SIGNATURE_PATH)]
6#[derive(Debug, Clone, Eq, PartialEq)]
7pub struct Path {
8    pub(crate) nodes: Vec<Node>,
9    pub(crate) relationships: Vec<UnboundRelationship>,
10    pub(crate) sequence: Vec<i64>,
11}
12
13impl Path {
14    pub fn new(
15        nodes: Vec<Node>,
16        relationships: Vec<UnboundRelationship>,
17        sequence: Vec<i64>,
18    ) -> Self {
19        Self {
20            nodes,
21            relationships,
22            sequence,
23        }
24    }
25
26    pub fn nodes(&self) -> &[Node] {
27        &self.nodes
28    }
29
30    pub fn relationships(&self) -> &[UnboundRelationship] {
31        &self.relationships
32    }
33
34    pub fn sequence(&self) -> &[i64] {
35        &self.sequence
36    }
37}