use std::fmt;
#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub enum CompoundRegistry {
CasNumber,
PubChemCid,
Inchi,
InchiKey,
Smiles,
Custom(String),
}
impl CompoundRegistry {
#[must_use]
pub fn as_str(&self) -> &str {
match self {
Self::CasNumber => "CAS",
Self::PubChemCid => "PubChem CID",
Self::Inchi => "InChI",
Self::InchiKey => "InChIKey",
Self::Smiles => "SMILES",
Self::Custom(namespace) => namespace.as_str(),
}
}
}
impl fmt::Display for CompoundRegistry {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
formatter.write_str(self.as_str())
}
}