From 189ba81a42e6c09f6af4d2768c449c22b864101e Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Wed, 26 Mar 2025 01:20:35 +0100 Subject: [PATCH] fix: extractor: small simplification --- src/deobfuscate.rs | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/deobfuscate.rs b/src/deobfuscate.rs index aadd013..979b6a8 100644 --- a/src/deobfuscate.rs +++ b/src/deobfuscate.rs @@ -227,16 +227,19 @@ fn extract_js_fn(js: &str, name: &str) -> Result { } 2 => { if let Token::Punct(punct) = token { + let var_def_this_lvl = || { + var_def_stmt + .as_ref() + .map(|(x, _)| x == &level) + .unwrap_or_default() + }; + match punct { Punct::OpenBrace => { level.brace += 1; } Punct::CloseBrace => { - if var_def_stmt - .as_ref() - .map(|(x, _)| x == &level) - .unwrap_or_default() - { + if var_def_this_lvl() { var_def_stmt = None; } level.brace -= 1; @@ -251,11 +254,7 @@ fn extract_js_fn(js: &str, name: &str) -> Result { level.paren += 1; } Punct::CloseParen => { - if var_def_stmt - .as_ref() - .map(|(x, _)| x == &level) - .unwrap_or_default() - { + if var_def_this_lvl() { var_def_stmt = None; } level.paren -= 1; @@ -264,17 +263,15 @@ fn extract_js_fn(js: &str, name: &str) -> Result { level.bracket += 1; } Punct::CloseBracket => { - if var_def_stmt - .as_ref() - .map(|(x, _)| x == &level) - .unwrap_or_default() - { + if var_def_this_lvl() { var_def_stmt = None; } level.bracket -= 1; } Punct::SemiColon => { - var_def_stmt = None; + if var_def_this_lvl() { + var_def_stmt = None; + } } Punct::Comma => { if let Some((lvl, rhs)) = &mut var_def_stmt {