tauri_plugin_screen_wake_lock/
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("screen wake lock state is unavailable")]
8  StateUnavailable,
9  #[error("screen wake lock is not supported on this platform")]
10  Unsupported,
11  #[cfg(desktop)]
12  #[error(transparent)]
13  ScreenWakeLock(#[from] screen_wake_lock::Error),
14  #[cfg(mobile)]
15  #[error(transparent)]
16  PluginInvoke(#[from] tauri::plugin::mobile::PluginInvokeError),
17}
18
19impl Serialize for Error {
20  fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
21  where
22    S: Serializer,
23  {
24    serializer.serialize_str(self.to_string().as_ref())
25  }
26}