Skip to main content

graphrecords_python/querying/
value_target.rs

1use graphrecords_query::dynamic::DynValueTarget;
2use pyo3::prelude::*;
3
4#[pyclass(frozen, eq, eq_int)]
5#[derive(Clone, Copy, Debug, PartialEq, Eq)]
6pub enum PyValueTarget {
7    Value,
8    ValueIndex,
9    AttributeName,
10    AttributeNameIndex,
11    NodeIndex,
12    EdgeIndex,
13    PositionalIndex,
14    BoolIndex,
15    Mask,
16    FailureKind,
17    FailureKindIndex,
18}
19
20impl From<PyValueTarget> for DynValueTarget {
21    fn from(target: PyValueTarget) -> Self {
22        match target {
23            PyValueTarget::Value => Self::Value,
24            PyValueTarget::ValueIndex => Self::ValueIndex,
25            PyValueTarget::AttributeName => Self::AttributeName,
26            PyValueTarget::AttributeNameIndex => Self::AttributeNameIndex,
27            PyValueTarget::NodeIndex => Self::NodeIndex,
28            PyValueTarget::EdgeIndex => Self::EdgeIndex,
29            PyValueTarget::PositionalIndex => Self::PositionalIndex,
30            PyValueTarget::BoolIndex => Self::BoolIndex,
31            PyValueTarget::Mask => Self::Mask,
32            PyValueTarget::FailureKind => Self::FailureKind,
33            PyValueTarget::FailureKindIndex => Self::FailureKindIndex,
34        }
35    }
36}