1
2use getrandom::Error as GetrandomError;
3use srp::types::SrpAuthError;
4
5#[derive(Debug)]
6pub enum Error {
7 SrpError(SrpAuthError),
8 RngError(GetrandomError)
9}
10
11impl std::fmt::Display for Error {
12 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13 match self {
14 Error::SrpError(err) => {
15 return f.write_str(format!("{}", err).as_str());
16 },
17 Error::RngError(err) => {
18 return f.write_str(format!("{}", err).as_str());
19 },
20 };
21 }
22}
23
24impl std::error::Error for Error {
25}
26
27impl From<GetrandomError> for Error {
28 fn from(value: GetrandomError) -> Self {
29 return Error::RngError(value);
30 }
31}
32
33impl From<SrpAuthError> for Error {
34 fn from(value: SrpAuthError) -> Self {
35 return Error::SrpError(value);
36 }
37}
38
39pub type Result<T> = std::result::Result<T, crate::types::Error>;