Skip to main content

wvb_tauri/
error.rs

1use serde::{ser::Serializer, Serialize};
2
3pub type Result<T> = std::result::Result<T, Error>;
4
5#[derive(Debug, thiserror::Error)]
6pub enum Error {
7  #[error("webview bundle error: {0}")]
8  WebviewBundle(#[from] wvb::Error),
9  #[error("fail to resolve directory: {0}")]
10  FailToResolveDirectory(String),
11  #[error("tauri error: {0}")]
12  Tauri(#[from] tauri::Error),
13  #[error("duplicated protocol scheme: {scheme}")]
14  ProtocolSchemeDuplicated { scheme: String },
15}
16
17impl Serialize for Error {
18  fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
19  where
20    S: Serializer,
21  {
22    serializer.serialize_str(self.to_string().as_ref())
23  }
24}