#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
#[cfg_attr(
feature = "borsh",
derive(borsh::BorshSerialize, borsh::BorshDeserialize)
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum StatementSlot {
Subject,
Predicate,
Object,
Context,
}
impl StatementSlot {
pub fn as_char(&self) -> char {
match self {
Self::Subject => 's',
Self::Predicate => 'p',
Self::Object => 'o',
Self::Context => 'c', }
}
pub fn as_str(&self) -> &'static str {
match self {
Self::Subject => "subject",
Self::Predicate => "predicate",
Self::Object => "object",
Self::Context => "context",
}
}
}