use std::result::Result as StdResult; use fluent::FluentResource; pub type Result = StdResult; #[derive(Debug)] pub enum Error { IoError(std::io::Error), LanguageIdentifierError(unic_langid::LanguageIdentifierError), FluentError(Vec) } impl From for Error { fn from(err: std::io::Error) -> Self { Self::IoError(err) } } impl From<(FluentResource, Vec)> for Error { fn from(err: (FluentResource, Vec)) -> Self { let err = err.1.iter().map(|e| fluent::FluentError::ParserError(e.clone())).collect(); Self::FluentError(err) } } impl From> for Error { fn from(err: Vec) -> Self { Self::FluentError(err) } } impl From for Error { fn from(err: unic_langid::LanguageIdentifierError) -> Self { Self::LanguageIdentifierError(err) } }