Add PackageError

This commit is contained in:
raychu86 2020-08-28 22:54:36 -07:00
parent ee308530f5
commit 75ebf0cef5
2 changed files with 82 additions and 0 deletions

View File

@ -23,6 +23,9 @@ pub use inputs::*;
pub mod outputs;
pub use outputs::*;
pub mod package;
pub use self::package::*;
pub mod root;
pub use self::root::*;

View File

@ -0,0 +1,79 @@
use std::io;
#[derive(Debug, Error)]
pub enum PackageError {
#[error("{}: {}", _0, _1)]
Crate(&'static str, String),
#[error("`{}` creating: {}", _0, _1)]
Creating(&'static str, io::Error),
#[error("`{}` metadata: {}", _0, _1)]
Removing(&'static str, io::Error),
}
impl From<std::io::Error> for PackageError {
fn from(error: std::io::Error) -> Self {
PackageError::Crate("std::io", format!("{}", error))
}
}
impl From<crate::errors::GitignoreError> for PackageError {
fn from(error: crate::errors::GitignoreError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}
impl From<crate::errors::InputFileError> for PackageError {
fn from(error: crate::errors::InputFileError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}
impl From<crate::errors::InputsDirectoryError> for PackageError {
fn from(error: crate::errors::InputsDirectoryError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}
impl From<crate::errors::ImportsDirectoryError> for PackageError {
fn from(error: crate::errors::ImportsDirectoryError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}
impl From<crate::errors::OutputsDirectoryError> for PackageError {
fn from(error: crate::errors::OutputsDirectoryError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}
impl From<crate::errors::SourceDirectoryError> for PackageError {
fn from(error: crate::errors::SourceDirectoryError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}
impl From<crate::errors::StateFileError> for PackageError {
fn from(error: crate::errors::StateFileError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}
impl From<crate::errors::LibFileError> for PackageError {
fn from(error: crate::errors::LibFileError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}
impl From<crate::errors::ManifestError> for PackageError {
fn from(error: crate::errors::ManifestError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}
impl From<crate::errors::MainFileError> for PackageError {
fn from(error: crate::errors::MainFileError) -> Self {
PackageError::Crate("leo_package", format!("{}", error))
}
}