nyar-error 0.1.10

Error types for valkyrie language
Documentation
use std::fmt::{Debug, Display};

use pratt::PrattError;

use crate::NyarError;

impl<I, E> From<PrattError<I, E>> for NyarError
where
    I: Debug,
    E: Into<NyarError> + Display,
{
    fn from(value: PrattError<I, E>) -> Self {
        match value {
            PrattError::UserError(e) => e.into(),
            PrattError::EmptyInput => NyarError::runtime_error("Empty input"),
            PrattError::UnexpectedNilfix(v) => NyarError::runtime_error(format!("Unexpected nilfix: {:?}", v)),
            PrattError::UnexpectedPrefix(v) => NyarError::runtime_error(format!("Unexpected prefix: {:?}", v)),
            PrattError::UnexpectedInfix(v) => NyarError::runtime_error(format!("Unexpected infix: {:?}", v)),
            PrattError::UnexpectedPostfix(v) => NyarError::runtime_error(format!("Unexpected postfix: {:?}", v)),
        }
    }
}