Skip to main content

js_deobfuscator/engine/
error.rs

1//! Error types for the deobfuscator.
2//!
3//! Leaf type — no dependencies on other layers.
4
5use thiserror::Error;
6
7/// Deobfuscation error.
8#[derive(Error, Debug)]
9pub enum DeobError {
10    /// Source code failed to parse.
11    #[error("parse error: {0}")]
12    Parse(String),
13
14    /// A transformation pass failed.
15    #[error("transform error in {pass}: {message}")]
16    Transform {
17        pass: &'static str,
18        message: String,
19    },
20}
21
22/// Convenience result type.
23pub type Result<T> = std::result::Result<T, DeobError>;