1use std::path::PathBuf;
2
3#[derive(Debug, thiserror::Error)]
4pub enum Error {
5 #[error("unsupported format: {path}")]
6 UnsupportedFormat { path: PathBuf },
7 #[error("io error for {path}: {source}")]
8 Io {
9 path: PathBuf,
10 #[source]
11 source: std::io::Error,
12 },
13 #[error("file is not valid UTF-8 text: {path}")]
14 InvalidUtf8 { path: PathBuf },
15 #[error("failed to extract {path}: {message}")]
16 Extract { path: PathBuf, message: String },
17}
18
19pub type Result<T> = std::result::Result<T, Error>;