32 lines
689 B
Rust
32 lines
689 B
Rust
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>;
|