finlib_ta/
errors.rs

1use core::error::Error;
2use core::fmt::{Display, Formatter};
3
4pub type Result<T> = core::result::Result<T, TaError>;
5
6#[derive(Debug, PartialEq, Eq, Clone)]
7pub enum TaError {
8    InvalidParameter,
9    DataItemIncomplete,
10    DataItemInvalid,
11}
12
13impl Display for TaError {
14    fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
15        match *self {
16            TaError::InvalidParameter => write!(f, "invalid parameter"),
17            TaError::DataItemIncomplete => write!(f, "data item is incomplete"),
18            TaError::DataItemInvalid => write!(f, "data item is invalid"),
19        }
20    }
21}
22
23impl Error for TaError {
24    fn source(&self) -> Option<&(dyn Error + 'static)> {
25        match *self {
26            TaError::InvalidParameter => None,
27            TaError::DataItemIncomplete => None,
28            TaError::DataItemInvalid => None,
29        }
30    }
31}