fix: extractor: small simplification
This commit is contained in:
parent
e56b2d7701
commit
fa9c5d7fdf
1 changed files with 13 additions and 16 deletions
|
|
@ -227,16 +227,19 @@ fn extract_js_fn(js: &str, name: &str) -> Result<String, DeobfError> {
|
||||||
}
|
}
|
||||||
2 => {
|
2 => {
|
||||||
if let Token::Punct(punct) = token {
|
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 {
|
match punct {
|
||||||
Punct::OpenBrace => {
|
Punct::OpenBrace => {
|
||||||
level.brace += 1;
|
level.brace += 1;
|
||||||
}
|
}
|
||||||
Punct::CloseBrace => {
|
Punct::CloseBrace => {
|
||||||
if var_def_stmt
|
if var_def_this_lvl() {
|
||||||
.as_ref()
|
|
||||||
.map(|(x, _)| x == &level)
|
|
||||||
.unwrap_or_default()
|
|
||||||
{
|
|
||||||
var_def_stmt = None;
|
var_def_stmt = None;
|
||||||
}
|
}
|
||||||
level.brace -= 1;
|
level.brace -= 1;
|
||||||
|
|
@ -251,11 +254,7 @@ fn extract_js_fn(js: &str, name: &str) -> Result<String, DeobfError> {
|
||||||
level.paren += 1;
|
level.paren += 1;
|
||||||
}
|
}
|
||||||
Punct::CloseParen => {
|
Punct::CloseParen => {
|
||||||
if var_def_stmt
|
if var_def_this_lvl() {
|
||||||
.as_ref()
|
|
||||||
.map(|(x, _)| x == &level)
|
|
||||||
.unwrap_or_default()
|
|
||||||
{
|
|
||||||
var_def_stmt = None;
|
var_def_stmt = None;
|
||||||
}
|
}
|
||||||
level.paren -= 1;
|
level.paren -= 1;
|
||||||
|
|
@ -264,17 +263,15 @@ fn extract_js_fn(js: &str, name: &str) -> Result<String, DeobfError> {
|
||||||
level.bracket += 1;
|
level.bracket += 1;
|
||||||
}
|
}
|
||||||
Punct::CloseBracket => {
|
Punct::CloseBracket => {
|
||||||
if var_def_stmt
|
if var_def_this_lvl() {
|
||||||
.as_ref()
|
|
||||||
.map(|(x, _)| x == &level)
|
|
||||||
.unwrap_or_default()
|
|
||||||
{
|
|
||||||
var_def_stmt = None;
|
var_def_stmt = None;
|
||||||
}
|
}
|
||||||
level.bracket -= 1;
|
level.bracket -= 1;
|
||||||
}
|
}
|
||||||
Punct::SemiColon => {
|
Punct::SemiColon => {
|
||||||
var_def_stmt = None;
|
if var_def_this_lvl() {
|
||||||
|
var_def_stmt = None;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Punct::Comma => {
|
Punct::Comma => {
|
||||||
if let Some((lvl, rhs)) = &mut var_def_stmt {
|
if let Some((lvl, rhs)) = &mut var_def_stmt {
|
||||||
|
|
|
||||||
Reference in a new issue