2023-10-22 17:31:12 -04:00
|
|
|
use std::str::Utf8Error;
|
|
|
|
use std::string::FromUtf8Error;
|
|
|
|
|
2023-10-22 13:44:03 -04:00
|
|
|
#[derive(Debug)]
|
|
|
|
pub(crate) enum CustomError {
|
|
|
|
Static(&'static str),
|
|
|
|
IO(std::io::Error),
|
|
|
|
TomlSerialize(toml::ser::Error),
|
|
|
|
TomlDeserialize(toml::de::Error),
|
|
|
|
WalkDir(walkdir::Error),
|
|
|
|
Tokio(tokio::task::JoinError),
|
2023-10-22 16:01:42 -04:00
|
|
|
Serde(serde_json::Error),
|
2023-10-22 17:31:12 -04:00
|
|
|
Utf8(Utf8Error),
|
|
|
|
FromUtf8(FromUtf8Error),
|
2023-10-22 17:37:27 -04:00
|
|
|
DusterCompile(duster::renderer::CompileError),
|
2023-10-22 18:30:01 -04:00
|
|
|
DusterRender(duster::renderer::RenderError),
|
2023-10-22 13:44:03 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
impl From<std::io::Error> for CustomError {
|
|
|
|
fn from(value: std::io::Error) -> Self {
|
|
|
|
CustomError::IO(value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<&'static str> for CustomError {
|
|
|
|
fn from(value: &'static str) -> Self {
|
|
|
|
CustomError::Static(value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<toml::ser::Error> for CustomError {
|
|
|
|
fn from(value: toml::ser::Error) -> Self {
|
|
|
|
CustomError::TomlSerialize(value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<toml::de::Error> for CustomError {
|
|
|
|
fn from(value: toml::de::Error) -> Self {
|
|
|
|
CustomError::TomlDeserialize(value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<walkdir::Error> for CustomError {
|
|
|
|
fn from(value: walkdir::Error) -> Self {
|
|
|
|
CustomError::WalkDir(value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<tokio::task::JoinError> for CustomError {
|
|
|
|
fn from(value: tokio::task::JoinError) -> Self {
|
|
|
|
CustomError::Tokio(value)
|
|
|
|
}
|
|
|
|
}
|
2023-10-22 16:01:42 -04:00
|
|
|
|
|
|
|
impl From<serde_json::Error> for CustomError {
|
|
|
|
fn from(value: serde_json::Error) -> Self {
|
|
|
|
CustomError::Serde(value)
|
|
|
|
}
|
|
|
|
}
|
2023-10-22 17:31:12 -04:00
|
|
|
|
|
|
|
impl From<Utf8Error> for CustomError {
|
|
|
|
fn from(value: Utf8Error) -> Self {
|
|
|
|
CustomError::Utf8(value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<FromUtf8Error> for CustomError {
|
|
|
|
fn from(value: FromUtf8Error) -> Self {
|
|
|
|
CustomError::FromUtf8(value)
|
|
|
|
}
|
|
|
|
}
|
2023-10-22 17:37:27 -04:00
|
|
|
|
|
|
|
impl From<duster::renderer::CompileError> for CustomError {
|
|
|
|
fn from(value: duster::renderer::CompileError) -> Self {
|
|
|
|
CustomError::DusterCompile(value)
|
|
|
|
}
|
|
|
|
}
|
2023-10-22 18:30:01 -04:00
|
|
|
|
|
|
|
impl From<duster::renderer::RenderError> for CustomError {
|
|
|
|
fn from(value: duster::renderer::RenderError) -> Self {
|
|
|
|
CustomError::DusterRender(value)
|
|
|
|
}
|
|
|
|
}
|