mod error;
mod iter;
mod serializer;
#[cfg(feature = "stream")]
mod stream;
mod writer;
pub use error::{Error, ErrorKind, Result};
pub use iter::Iter;
#[cfg(feature = "stream")]
pub use stream::Stream;
pub use writer::{Writer, WriterBuilder};
#[derive(Clone, Copy, Debug)]
#[non_exhaustive]
pub enum QuoteStyle {
Always,
Necessary,
NonNumeric,
Never,
}
impl QuoteStyle {
fn to_core(self) -> csv_core::QuoteStyle {
match self {
QuoteStyle::Always => csv_core::QuoteStyle::Always,
QuoteStyle::Necessary => csv_core::QuoteStyle::Necessary,
QuoteStyle::NonNumeric => csv_core::QuoteStyle::NonNumeric,
QuoteStyle::Never => csv_core::QuoteStyle::Never,
}
}
}
impl Default for QuoteStyle {
fn default() -> QuoteStyle {
QuoteStyle::Necessary
}
}
#[derive(Clone, Copy, Debug)]
#[non_exhaustive]
pub enum Terminator {
CRLF,
Any(u8),
}
impl Terminator {
fn to_core(self) -> csv_core::Terminator {
match self {
Terminator::CRLF => csv_core::Terminator::CRLF,
Terminator::Any(b) => csv_core::Terminator::Any(b),
}
}
}
impl Default for Terminator {
fn default() -> Terminator {
Terminator::CRLF
}
}
#[derive(Clone, Copy, Debug, PartialEq)]
#[non_exhaustive]
pub enum Trim {
None,
Headers,
Fields,
All,
}
impl Default for Trim {
fn default() -> Trim {
Trim::None
}
}