#![doc = include_str!("../README.md")]
use serde::{Deserialize, Serialize};
use std::fmt;
pub mod client;
pub mod error;
pub use client::Client;
pub use client::query::*;
pub use error::{Error, Result};
#[derive(Clone, Copy, Debug, PartialEq, Deserialize, Serialize)]
pub enum Verb {
GetRecord,
Identify,
ListIdentifiers,
ListMetadataFormats,
ListRecords,
ListSets,
}
impl fmt::Display for Verb {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Verb::GetRecord => write!(f, "GetRecord"),
Verb::Identify => write!(f, "Identify"),
Verb::ListIdentifiers => write!(f, "ListIdentifiers"),
Verb::ListMetadataFormats => write!(f, "ListMetadataFormats"),
Verb::ListRecords => write!(f, "ListRecords"),
Verb::ListSets => write!(f, "ListSets"),
}
}
}
#[cfg(test)]
mod tests {
use crate::Verb;
#[test]
fn converts_verb_to_param() {
let verb = Verb::GetRecord;
assert_eq!("GetRecord", verb.to_string());
}
}