terser 5.30.3 → 5.30.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -0
- package/dist/bundle.min.js +6 -6
- package/lib/parse.js +6 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/bundle.min.js
CHANGED
@@ -3424,7 +3424,7 @@ function parse($TEXT, options) {
|
|
3424
3424
|
var prec = op != null ? PRECEDENCE[op] : null;
|
3425
3425
|
if (prec != null && (prec > min_prec || (op === "**" && min_prec === prec))) {
|
3426
3426
|
next();
|
3427
|
-
var right =
|
3427
|
+
var right = expr_ops(no_in, prec, true);
|
3428
3428
|
return expr_op(new AST_Binary({
|
3429
3429
|
start : left.start,
|
3430
3430
|
left : left,
|
@@ -3436,9 +3436,9 @@ function parse($TEXT, options) {
|
|
3436
3436
|
return left;
|
3437
3437
|
};
|
3438
3438
|
|
3439
|
-
function expr_ops(no_in) {
|
3439
|
+
function expr_ops(no_in, min_prec, allow_calls, allow_arrows) {
|
3440
3440
|
// maybe_unary won't return us a AST_SymbolPrivateProperty
|
3441
|
-
if (!no_in && is("privatename")) {
|
3441
|
+
if (!no_in && min_prec < PRECEDENCE["in"] && is("privatename")) {
|
3442
3442
|
if(!S.in_class) {
|
3443
3443
|
croak("Private field must be used in an enclosing class");
|
3444
3444
|
}
|
@@ -3455,19 +3455,19 @@ function parse($TEXT, options) {
|
|
3455
3455
|
const private_in = new AST_PrivateIn({
|
3456
3456
|
start,
|
3457
3457
|
key,
|
3458
|
-
value:
|
3458
|
+
value: expr_ops(no_in, PRECEDENCE["in"], true),
|
3459
3459
|
end: prev()
|
3460
3460
|
});
|
3461
3461
|
|
3462
3462
|
return expr_op(private_in, 0, no_in);
|
3463
3463
|
} else {
|
3464
|
-
return expr_op(maybe_unary(
|
3464
|
+
return expr_op(maybe_unary(allow_calls, allow_arrows), min_prec, no_in);
|
3465
3465
|
}
|
3466
3466
|
}
|
3467
3467
|
|
3468
3468
|
var maybe_conditional = function(no_in) {
|
3469
3469
|
var start = S.token;
|
3470
|
-
var expr = expr_ops(no_in);
|
3470
|
+
var expr = expr_ops(no_in, 0, true, true);
|
3471
3471
|
if (is("operator", "?")) {
|
3472
3472
|
next();
|
3473
3473
|
var yes = expression(false);
|
package/lib/parse.js
CHANGED
@@ -3279,7 +3279,7 @@ function parse($TEXT, options) {
|
|
3279
3279
|
var prec = op != null ? PRECEDENCE[op] : null;
|
3280
3280
|
if (prec != null && (prec > min_prec || (op === "**" && min_prec === prec))) {
|
3281
3281
|
next();
|
3282
|
-
var right =
|
3282
|
+
var right = expr_ops(no_in, prec, true);
|
3283
3283
|
return expr_op(new AST_Binary({
|
3284
3284
|
start : left.start,
|
3285
3285
|
left : left,
|
@@ -3291,9 +3291,9 @@ function parse($TEXT, options) {
|
|
3291
3291
|
return left;
|
3292
3292
|
};
|
3293
3293
|
|
3294
|
-
function expr_ops(no_in) {
|
3294
|
+
function expr_ops(no_in, min_prec, allow_calls, allow_arrows) {
|
3295
3295
|
// maybe_unary won't return us a AST_SymbolPrivateProperty
|
3296
|
-
if (!no_in && is("privatename")) {
|
3296
|
+
if (!no_in && min_prec < PRECEDENCE["in"] && is("privatename")) {
|
3297
3297
|
if(!S.in_class) {
|
3298
3298
|
croak("Private field must be used in an enclosing class");
|
3299
3299
|
}
|
@@ -3310,19 +3310,19 @@ function parse($TEXT, options) {
|
|
3310
3310
|
const private_in = new AST_PrivateIn({
|
3311
3311
|
start,
|
3312
3312
|
key,
|
3313
|
-
value:
|
3313
|
+
value: expr_ops(no_in, PRECEDENCE["in"], true),
|
3314
3314
|
end: prev()
|
3315
3315
|
});
|
3316
3316
|
|
3317
3317
|
return expr_op(private_in, 0, no_in);
|
3318
3318
|
} else {
|
3319
|
-
return expr_op(maybe_unary(
|
3319
|
+
return expr_op(maybe_unary(allow_calls, allow_arrows), min_prec, no_in);
|
3320
3320
|
}
|
3321
3321
|
}
|
3322
3322
|
|
3323
3323
|
var maybe_conditional = function(no_in) {
|
3324
3324
|
var start = S.token;
|
3325
|
-
var expr = expr_ops(no_in);
|
3325
|
+
var expr = expr_ops(no_in, 0, true, true);
|
3326
3326
|
if (is("operator", "?")) {
|
3327
3327
|
next();
|
3328
3328
|
var yes = expression(false);
|