1use thiserror::Error;
2
3#[derive(Debug, Error, PartialEq, Eq)]
4pub enum PptxError {
5 #[error("PPTX container error: {0}")]
6 Container(String),
7 #[error("missing required PPTX part {0}")]
8 MissingPart(String),
9 #[error("malformed XML in {part} at byte {offset}: {message}")]
10 MalformedXml {
11 part: String,
12 offset: u64,
13 message: String,
14 },
15 #[error("unsafe XML in {part}: {kind}")]
16 UnsafeXml { part: String, kind: &'static str },
17 #[error("PPTX resource limit {kind} exceeded in {part}")]
18 ResourceLimit { part: String, kind: &'static str },
19 #[error("invalid relationship target {target} from {source_part}")]
20 InvalidRelationship { source_part: String, target: String },
21 #[error("could not write {part}: {message}")]
22 Write { part: String, message: String },
23}