#![doc(html_no_source)]
#![deny(missing_docs)]
#![forbid(unsafe_code)]
#![warn(rust_2018_idioms)]
#![warn(clippy::all)]
#![warn(clippy::pedantic)]
#![warn(clippy::nursery)]
#![warn(clippy::cargo)]
pub(crate) mod helpers;
pub const MAIL_CAPACITY: usize = 10_000_000;
mod implementation {
pub mod basic_parser;
pub mod mail_mime_parser;
}
pub use implementation::{
basic_parser::BasicParser, mail_mime_parser::get_mime_header, mail_mime_parser::MailMimeParser,
};
mod message {
pub mod mail;
#[allow(clippy::module_name_repetitions)]
pub mod message_body;
pub mod mime_type;
pub mod raw_body;
}
pub use message::mail::*;
pub use message::message_body::*;
pub use message::mime_type::*;
pub use message::raw_body::*;
mod traits {
pub mod error;
pub mod mail_parser;
}
pub use traits::{
error::{ParserError, ParserResult},
mail_parser::MailParser,
};
#[cfg(test)]
pub mod tests;
#[doc(hidden)]
#[macro_export]
macro_rules! collection {
($($k:expr => $v:expr),* $(,)?) => {{
use std::iter::{Iterator, IntoIterator};
Iterator::collect(IntoIterator::into_iter([$(($k, $v),)*]))
}};
($($v:expr),* $(,)?) => {{
use std::iter::{Iterator, IntoIterator};
Iterator::collect(IntoIterator::into_iter([$($v,)*]))
}};
}