Files
yaak-mountain-loop/src-tauri/yaak_plugin_runtime/src/error.rs
2024-08-08 21:30:59 -07:00

41 lines
1.1 KiB
Rust

use thiserror::Error;
use tokio::io;
use tokio::sync::mpsc::error::SendError;
use crate::server::plugin_runtime::EventStreamEvent;
#[derive(Error, Debug)]
pub enum Error {
#[error("IO error")]
IoErr(#[from] io::Error),
#[error("Tauri error")]
TauriErr(#[from] tauri::Error),
#[error("Tauri shell error")]
TauriShellErr(#[from] tauri_plugin_shell::Error),
#[error("Grpc transport error")]
GrpcTransportErr(#[from] tonic::transport::Error),
#[error("Grpc send error")]
GrpcSendErr(#[from] SendError<tonic::Result<EventStreamEvent>>),
#[error("JSON error")]
JsonErr(#[from] serde_json::Error),
#[error("Plugin not found error")]
PluginNotFoundErr(String),
#[error("unknown error")]
MissingCallbackIdErr(String),
#[error("Missing callback ID error")]
MissingCallbackErr(String),
#[error("No plugins found")]
NoPluginsErr(String),
#[error("Plugin error")]
PluginErr(String),
#[error("Unknown error")]
UnknownErr(String),
}
impl Into<String> for Error {
fn into(self) -> String {
todo!()
}
}
pub type Result<T> = std::result::Result<T, Error>;