shacl_ast/ast/
severity.rs

1use iri_s::IriS;
2use prefixmap::IriRef;
3
4use crate::SH_INFO_STR;
5use crate::SH_VIOLATION_STR;
6use crate::SH_WARNING_STR;
7
8#[derive(Debug, Clone)]
9pub enum Severity {
10    Violation,
11    Warning,
12    Info,
13    Generic(IriRef),
14}
15
16impl From<Severity> for IriS {
17    fn from(value: Severity) -> Self {
18        match value {
19            Severity::Violation => IriS::new_unchecked(SH_VIOLATION_STR),
20            Severity::Warning => IriS::new_unchecked(SH_WARNING_STR),
21            Severity::Info => IriS::new_unchecked(SH_INFO_STR),
22            Severity::Generic(iri_ref) => iri_ref.get_iri().unwrap(),
23        }
24    }
25}