enigma_node_types/
error.rs1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum EnigmaNodeTypesError {
5 #[error("invalid username")]
6 InvalidUsername,
7 #[error("invalid hex input")]
8 InvalidHex,
9 #[error("invalid base64 input")]
10 InvalidBase64,
11 #[error("invalid field: {0}")]
12 InvalidField(&'static str),
13 #[error("json error")]
14 JsonError,
15 #[error("utf8 error")]
16 Utf8Error,
17}
18
19pub type Result<T> = std::result::Result<T, EnigmaNodeTypesError>;
20
21impl From<serde_json::Error> for EnigmaNodeTypesError {
22 fn from(_: serde_json::Error) -> Self {
23 EnigmaNodeTypesError::JsonError
24 }
25}
26
27impl From<std::str::Utf8Error> for EnigmaNodeTypesError {
28 fn from(_: std::str::Utf8Error) -> Self {
29 EnigmaNodeTypesError::Utf8Error
30 }
31}
32
33impl From<base64::DecodeError> for EnigmaNodeTypesError {
34 fn from(_: base64::DecodeError) -> Self {
35 EnigmaNodeTypesError::InvalidBase64
36 }
37}
38
39impl From<hex::FromHexError> for EnigmaNodeTypesError {
40 fn from(_: hex::FromHexError) -> Self {
41 EnigmaNodeTypesError::InvalidHex
42 }
43}