chore: error conversion implementation

This commit is contained in:
zaaarf 2024-02-12 19:58:23 +01:00
parent 0a759cfc29
commit ecfe19f7e8
No known key found for this signature in database
GPG key ID: 102E445F4C3F829B
2 changed files with 15 additions and 11 deletions

View file

@ -4,30 +4,34 @@ use fluent::FluentResource;
pub type Result<T> = StdResult<T, Error>;
#[derive(Debug)]
pub enum Error {
IoError(String)
IoError(std::io::Error),
LanguageIdentifierError(unic_langid::LanguageIdentifierError),
FluentError(Vec<fluent::FluentError>)
}
impl From<std::io::Error> for Error {
fn from(value: std::io::Error) -> Self {
todo!()
fn from(err: std::io::Error) -> Self {
Self::IoError(err)
}
}
impl From<(FluentResource, Vec<fluent_syntax::parser::ParserError>)> for Error {
fn from(value: (FluentResource, Vec<fluent_syntax::parser::ParserError>)) -> Self {
todo!()
fn from(err: (FluentResource, Vec<fluent_syntax::parser::ParserError>)) -> Self {
let err = err.1.iter().map(|e| fluent::FluentError::ParserError(e.clone())).collect();
Self::FluentError(err)
}
}
impl From<Vec<fluent::FluentError>> for Error {
fn from(value: Vec<fluent::FluentError>) -> Self {
todo!()
fn from(err: Vec<fluent::FluentError>) -> Self {
Self::FluentError(err)
}
}
impl From<unic_langid::LanguageIdentifierError> for Error {
fn from(value: unic_langid::LanguageIdentifierError) -> Self {
todo!()
fn from(err: unic_langid::LanguageIdentifierError) -> Self {
Self::LanguageIdentifierError(err)
}
}

View file

@ -8,8 +8,8 @@ pub mod error;
type TypedFluentBundle = FluentBundle<Arc<FluentResource>, IntlLangMemoizer>;
pub struct Localiser {
bundles: HashMap<LanguageIdentifier, TypedFluentBundle>,
default_language: LanguageIdentifier
pub bundles: HashMap<LanguageIdentifier, TypedFluentBundle>,
pub default_language: LanguageIdentifier
}
impl Localiser {