#![forbid(unsafe_code)]
#![warn(missing_docs, clippy::pedantic)]
#![allow(
clippy::must_use_candidate,
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::module_name_repetitions,
// ClientBuilder::api_key is Option<Option<String>> deliberately: the outer layer says
// whether the caller configured a credential at all, the inner whether it was a value
// or an explicit "none". Rule G2 turns on exactly that difference.
clippy::option_option
)]
mod client;
mod error;
mod formats;
mod options;
mod result;
mod transport;
pub use client::{ClientBuilder, LabelZoomClient, API_KEY_ENV_VAR, DEFAULT_BASE_URL, VERSION};
pub use error::{ApiError, ApiErrorKind, Error, TransportError, ValidationError};
pub use formats::{SourceFormat, TargetFormat};
pub use options::{
ColorMode, ConversionOptions, ConvertRequest, LabelSize, PdfConversionMode, PdfOptions,
Position, ZplImageCompression, ZplOptions,
};
pub use result::ConversionResult;
pub use transport::{HttpRequest, HttpResponse, Sleeper, ThreadSleeper, Transport};
#[cfg(feature = "ureq-transport")]
pub use transport::UreqTransport;