diff --git a/src/error.rs b/src/error.rs index 35fdedc..7a4dadf 100644 --- a/src/error.rs +++ b/src/error.rs @@ -1,21 +1,6 @@ use nom; #[derive(Debug, PartialEq)] -pub enum IMFError<'a> { - Segment(nom::Err>), - ExtractFields(nom::Err>), - DateTimeParse(nom::Err>), - DateTimeLogic, - Mailbox(nom::Err>), - MailboxList(nom::Err>), - AddressList(nom::Err>), - NullableAddressList(nom::Err>), - MessageID(nom::Err>), - MessageIDList(nom::Err>), - Unstructured(nom::Err>), - PhraseList(nom::Err>), - ReceivedLog(nom::Err>), - Version(nom::Err>), - ContentType(nom::Err>), - Mechanism(nom::Err>), +pub enum EMLError<'a> { + ParseError(nom::Err>), } diff --git a/src/lib.rs b/src/lib.rs index 08a32b5..de631f9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,21 +1,18 @@ -pub mod error; -pub mod text; -pub mod header; -pub mod rfc5322; -pub mod mime; -pub mod part; +mod error; +mod text; +mod header; +mod rfc5322; +mod mime; +mod part; -/* -use crate::part; -use crate::mime; -use crate::rfc5322 as imf; -use crate::header; - -pub fn email(input: &[u8]) -> Result { - message(mime::mime::Message::default())(input).map(|(_, v)| v) +pub fn email(input: &[u8]) -> Result { + part::part::message(mime::mime::Message::default())(input) + .map(|(_, v)| v) + .map_err(error::EMLError::ParseError) } -pub fn imf(input: &[u8]) -> Result { - header::header(imf::field::field) - map(header(field), |v| FieldList(v.known()).message())(fullmail) -}*/ +pub fn imf(input: &[u8]) -> Result { + rfc5322::field::message(input) + .map(|(_, v)| v) + .map_err(error::EMLError::ParseError) +}