1pub type Result<T> = std::result::Result<T, Error>;
5
6#[derive(Debug, thiserror::Error)]
8pub enum Error {
9 #[error("I/O error: {0}")]
11 Io(String),
12
13 #[error("Serialization error: {0}")]
15 Serialization(String),
16
17 #[error("Cache entry has expired")]
19 Expired,
20}
21
22impl From<std::io::Error> for Error {
23 fn from(err: std::io::Error) -> Self {
24 Error::Io(err.to_string())
25 }
26}
27
28impl From<serde_json::Error> for Error {
29 fn from(err: serde_json::Error) -> Self {
30 Error::Serialization(err.to_string())
31 }
32}