#![cfg_attr(feature = "nightly", feature(test))]
mod base64;
mod error;
mod separator;
mod signer;
mod timed;
mod timestamp;
mod traits;
pub mod algorithm;
pub mod key_derivation;
#[cfg(feature = "serializer")]
mod multi_serializer;
#[cfg(feature = "serializer")]
mod serde_serializer;
#[cfg(feature = "serializer")]
mod serializer_traits;
pub use error::{
BadSignature, BadTimedSignature, InvalidSeparator, PayloadError, TimestampExpired,
};
pub use separator::Separator;
pub use signer::{default_builder, SignerBuilder};
pub use timed::UnsignedValue;
pub use traits::{AsSigner, IntoTimestampSigner, Signer, TimestampSigner};
#[cfg(feature = "serializer")]
pub use multi_serializer::MultiSerializer;
#[cfg(feature = "serializer")]
pub use serde_serializer::{
serializer_with_signer, timed_serializer_with_signer, NullEncoding, URLSafeEncoding,
UnsignedTimedSerializerValue, UnverifiedTimedValue, UnverifiedValue,
};
#[cfg(feature = "serializer")]
pub use serializer_traits::{Encoding, Serializer, TimedSerializer};