Skip to main content

graphrecords_query/error/
groups.rs

1use crate::{
2    Diagnostic, ErrorGroup, FailureKind,
3    error::{
4        argument::ArgumentAbsent,
5        grouping::MissingGroupAggregate,
6        structure::{MissingAttribute, MissingTraversedAttribute},
7    },
8};
9use graphrecords_core::graphrecord::NodeIndex;
10
11pub struct AbsenceErrors;
12
13impl ErrorGroup for AbsenceErrors {
14    fn name() -> &'static str {
15        "AbsenceErrors"
16    }
17
18    fn contains(kind: &FailureKind) -> bool {
19        kind.is::<ArgumentAbsent>()
20            || kind.is::<MissingAttribute>()
21            || kind.name() == MissingTraversedAttribute::<NodeIndex>::name()
22            || kind.is::<MissingGroupAggregate>()
23    }
24}