rave_engine 0.8.0

A secure and efficient JSON Schema validation and Rhai script execution engine
Documentation
use hdi::prelude::Timestamp;
use thiserror::Error;

#[derive(Debug, Error)]
pub enum RhaiError {
    #[error("Script execution error: {0}")]
    Execution(#[from] Box<rhai::EvalAltResult>),

    #[error("Timeout error: script execution exceeded {0:?}")]
    Timeout(Timestamp),

    #[error("Recursion depth exceeded: {0} levels")]
    RecursionDepthExceeded(u32),

    #[error("Operation limit exceeded: {0} operations")]
    OperationLimitExceeded(u64),

    #[error("Input too large")]
    InputTooLarge,

    #[error("Syntax error: {0}")]
    SyntaxError(String),

    #[error("Script error: {0}")]
    ScriptError(String),

    #[error("Module import not allowed")]
    ModuleImportError,
}