use thiserror::Error;
use crate::{HGTPError, String255};
use serde::{Deserialize, Serialize};
#[derive(Error, Debug, Clone, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "UPPERCASE")]
#[error("{errcode:?} error: {message}")]
pub struct AvesterraError {
pub errcode: HGTPError,
pub message: String255,
}
#[macro_export]
macro_rules! adapt_error {
($($arg:tt)*) => {{
AvesterraError {
errcode: HGTPError::Adapter,
message: String255::from_str_truncate(&format!($($arg)*)),
}
}};
}
#[macro_export]
macro_rules! bail_adapt_error {
($($arg:tt)*) => {{
return Err(AvesterraError {
errcode: HGTPError::Adapter,
message: String255::from_str_truncate(&format!($($arg)*)),
})
}};
}