#![warn(missing_docs)]
#![cfg_attr(docsrs, feature(doc_cfg))]
mod client;
mod error;
mod pager;
mod query;
mod request;
pub mod models;
pub mod resources;
pub use client::{
Client, ClientBuilder, RateLimitHook, RequestOptions, RetryHook, DEFAULT_BASE_URL,
DEFAULT_MAX_RETRIES, DEFAULT_RETRY_AFTER, DEFAULT_TIMEOUT, RETRY_STATUS_CODES,
};
pub use error::{ApiError, Error, ErrorBody, Result};
pub use pager::{ListResponse, Page, Pager};
pub use query::{encode as encode_query, IntoQuery, Query};
pub use request::{RawResponse, Request};
pub use resources::Uninstall;
pub use serde_json;
pub type Record = serde_json::Map<String, serde_json::Value>;
pub type DeleteResult = Record;
pub fn decode<T: serde::de::DeserializeOwned>(value: impl serde::Serialize) -> Result<T> {
let value = serde_json::to_value(value).map_err(|e| Error::InvalidRequest(e.to_string()))?;
serde_json::from_value(value).map_err(|e| Error::Decode {
message: e.to_string(),
source: Some(e),
})
}
#[cfg(doctest)]
#[doc = include_str!("../README.md")]
struct ReadmeDoctests;