graphrecords-query 0.5.0

High-performance graph-based data records
Documentation
use crate::{
    Diagnostic, ErrorGroup, FailureKind,
    error::{
        argument::ArgumentAbsent,
        grouping::MissingGroupAggregate,
        structure::{MissingAttribute, MissingTraversedAttribute},
    },
};
use graphrecords_core::graphrecord::NodeIndex;

pub struct AbsenceErrors;

impl ErrorGroup for AbsenceErrors {
    fn name() -> &'static str {
        "AbsenceErrors"
    }

    fn contains(kind: &FailureKind) -> bool {
        kind.is::<ArgumentAbsent>()
            || kind.is::<MissingAttribute>()
            || kind.name() == MissingTraversedAttribute::<NodeIndex>::name()
            || kind.is::<MissingGroupAggregate>()
    }
}