1use std::error::Error;
3use std::fmt;
4
5use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
9#[serde(deny_unknown_fields)]
10pub struct ErrorMessage(pub String);
11
12impl ErrorMessage {
13 pub fn new<T>(message: T) -> Self
15 where
16 T: Into<String>,
17 {
18 ErrorMessage(message.into())
19 }
20}
21
22impl fmt::Display for ErrorMessage {
23 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
24 write!(f, "{}", self.0)
25 }
26}
27
28impl Error for ErrorMessage {}