1use iri_s::IriS;
2use rbe::Key;
3use serde::Serialize;
4use std::fmt::Display;
5
6#[derive(PartialEq, Eq, Hash, Debug, Default, Clone, Serialize)]
7pub struct Pred {
8 iri: IriS,
9}
10
11impl Pred {
12 pub fn new(iri: IriS) -> Self {
13 Pred { iri }
14 }
15
16 pub fn new_unchecked(str: &str) -> Self {
17 Pred {
18 iri: IriS::new_unchecked(str),
19 }
20 }
21
22 pub fn iri(&self) -> &IriS {
23 &self.iri
24 }
25}
26
27impl Display for Pred {
28 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
29 write!(f, "{}", self.iri)
30 }
31}
32
33impl From<IriS> for Pred {
34 fn from(iri: IriS) -> Self {
35 Pred { iri }
36 }
37}
38
39impl Key for Pred {}