pub mod crockford;
pub mod data;
pub mod doi_utils;
pub mod error;
pub mod schema_utils;
mod formats;
pub mod traits;
pub mod utils;
pub mod vocab;
pub use data::Data;
pub use error::{Error, Result};
pub use formats::crossref;
pub use formats::inveniordm::PushResult;
pub use formats::ror::AffiliationMatch;
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub fn read(from: &str, input: &str) -> Result<Data> {
formats::read(from, input)
}
pub fn convert(from: &str, to: &str, input: &str) -> Result<Vec<u8>> {
let data = formats::read(from, input)?;
formats::write(to, &data)
}
pub fn write(to: &str, data: &Data) -> Result<Vec<u8>> {
formats::write(to, data)
}
pub fn write_ror_json(data: &Data) -> Result<Vec<u8>> {
formats::ror::write_json(data)
}
pub fn match_ror_affiliation(affiliation: &str) -> Result<Vec<AffiliationMatch>> {
formats::ror::match_affiliation(affiliation)
}
pub fn convert_citation(
from: &str,
input: &str,
style: Option<&str>,
locale: Option<&str>,
) -> Result<Vec<u8>> {
let data = formats::read(from, input)?;
formats::write_citation("citation", &data, style, locale)
}
pub fn write_parquet(list: &[Data]) -> Result<Vec<u8>> {
formats::commonmeta::write_parquet_all(list)
}
pub fn push_inveniordm(list: &[Data], host: &str, token: &str) -> Vec<PushResult> {
formats::inveniordm::upsert_all(list, host, token)
}
pub fn put_inveniordm(data: &Data, host: &str, token: &str) -> PushResult {
formats::inveniordm::upsert(data, host, token)
}