1use clayers_xml::ContentHash;
4
5#[derive(Debug, thiserror::Error)]
7pub enum Error {
8 #[error("XML error: {0}")]
10 Xml(#[from] clayers_xml::Error),
11
12 #[error("XML parse error: {0}")]
14 XmlParse(String),
15
16 #[error("storage error: {0}")]
18 Storage(String),
19
20 #[error("object not found: {0}")]
22 NotFound(ContentHash),
23
24 #[error("invalid object: {0}")]
26 InvalidObject(String),
27
28 #[error("ref error: {0}")]
30 Ref(String),
31
32 #[error("empty document: no root element")]
34 EmptyDocument,
35}
36
37impl From<xot::Error> for Error {
38 fn from(e: xot::Error) -> Self {
39 Self::XmlParse(e.to_string())
40 }
41}
42
43pub type Result<T> = std::result::Result<T, Error>;