negate_iife: do not add ! in front of arrow IIFE
This commit is contained in:
parent
2320d00ad3
commit
79a5683fff
|
|
@ -561,8 +561,8 @@ merge(Compressor.prototype, {
|
|||
return orig.length == 1 && orig[0] instanceof AST_SymbolLambda;
|
||||
});
|
||||
|
||||
function is_func_expr(node) {
|
||||
return node instanceof AST_Arrow || node instanceof AST_Function;
|
||||
function is_func_expr(node, traditional) {
|
||||
return node instanceof AST_Function || !traditional && node instanceof AST_Arrow;
|
||||
}
|
||||
|
||||
function is_lhs_read_only(lhs) {
|
||||
|
|
@ -706,9 +706,9 @@ merge(Compressor.prototype, {
|
|||
return x;
|
||||
};
|
||||
|
||||
function is_iife_call(node) {
|
||||
function is_iife_call(node, traditional) {
|
||||
if (node instanceof AST_Call && !(node instanceof AST_New)) {
|
||||
return is_func_expr(node.expression) || is_iife_call(node.expression);
|
||||
return is_func_expr(node.expression, traditional) || is_iife_call(node.expression);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3452,7 +3452,7 @@ merge(Compressor.prototype, {
|
|||
}
|
||||
if (compressor.option("negate_iife")
|
||||
&& compressor.parent() instanceof AST_SimpleStatement
|
||||
&& is_iife_call(self)) {
|
||||
&& is_iife_call(self, true)) {
|
||||
return self.negate(compressor, true);
|
||||
}
|
||||
var ev = self.evaluate(compressor);
|
||||
|
|
|
|||
|
|
@ -261,3 +261,18 @@ async_arrow_iife: {
|
|||
}
|
||||
expect_exact: "(async()=>{await fetch({})})();"
|
||||
}
|
||||
|
||||
async_arrow_iife_negate_iife: {
|
||||
options = {
|
||||
negate_iife: true,
|
||||
}
|
||||
input: {
|
||||
(async () => {
|
||||
await fetch();
|
||||
})();
|
||||
(() => {
|
||||
plain();
|
||||
})();
|
||||
}
|
||||
expect_exact: "(async()=>{await fetch()})();(()=>{plain()})();"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user