shex_ast/ast/
node_kind.rs

1use std::fmt::{Display, Formatter};
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Deserialize, Serialize, Debug, PartialEq, Clone)]
6#[serde(rename_all = "lowercase")]
7pub enum NodeKind {
8    Iri,
9    BNode,
10    NonLiteral,
11    Literal,
12}
13
14impl Display for NodeKind {
15    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
16        match self {
17            NodeKind::Iri => write!(f, "IRI"),
18            NodeKind::BNode => write!(f, "BNode"),
19            NodeKind::NonLiteral => write!(f, "NonLiteral"),
20            NodeKind::Literal => write!(f, "Literal"),
21        }
22    }
23}