1use thiserror::Error as ThisError;
2
3use xpather::{Error as XpathError, Value};
4
5use std::io::Error as IoError;
6
7pub type Result<V> = std::result::Result<V, Error>;
8
9
10#[derive(ThisError, Debug)]
11pub enum Error {
12 #[error("Xpath Error: {0}")]
14 Xpath(XpathError),
15
16 #[error("IO Error: {0}")]
17 Io(IoError),
18
19 #[error("Can't convert from Value")]
20 ConvertFromValue(Option<Value>),
21
22 #[error("Field \"{0}\" Value Error {1}")]
23 FieldValueError(&'static str, Box<Error>)
24}
25
26impl From<XpathError> for Error {
27 fn from(error: XpathError) -> Self {
28 Error::Xpath(error)
29 }
30}
31
32impl From<IoError> for Error {
33 fn from(error: IoError) -> Self {
34 Error::Io(error)
35 }
36}