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>;