use std::path::PathBuf; use thiserror::Error; #[derive(Error, Debug)] pub enum Error { #[error("not implemented")] NotImplemented, #[error("file not found: `{0}`")] FileNotFound(PathBuf), #[error("file is not an image: `{0}`")] NotAnImage(PathBuf), #[error("path is not a file: `{0}`")] NotAFile(PathBuf), #[error("Image loading error")] ImageError(#[from] image::ImageError), #[error("IO error")] IOError(#[from] std::io::Error), #[error("JSON error")] JSONError(#[from] serde_json::error::Error), #[error("UTF8 Error")] UTF8Error(#[from] std::str::Utf8Error), } pub type Result<A> = std::result::Result<A, Error>;