1use crate::format::Format;
2
3#[derive(Debug, thiserror::Error)]
4pub enum Error {
5 #[error("unsupported format: {0:?}")]
6 UnsupportedFormat(Format),
7
8 #[error("unknown format for file: {0}")]
9 UnknownFormat(String),
10
11 #[error("encoding not supported for {0:?} (license restriction)")]
12 EncodingNotSupported(Format),
13
14 #[error("decode error: {0}")]
15 Decode(String),
16
17 #[error("encode error: {0}")]
18 Encode(String),
19
20 #[error("resize error: {0}")]
21 Resize(String),
22
23 #[error("crop error: {0}")]
24 Crop(String),
25
26 #[error("extend error: {0}")]
27 Extend(String),
28
29 #[error(transparent)]
30 Io(#[from] std::io::Error),
31
32 #[error(transparent)]
33 Image(#[from] image::ImageError),
34}
35
36pub type Result<T> = std::result::Result<T, Error>;