Completely updated React, fixed #11, (hopefully)
This commit is contained in:
79
goTorrentWebUI/node_modules/webpack/lib/Parser.js
generated
vendored
79
goTorrentWebUI/node_modules/webpack/lib/Parser.js
generated
vendored
@@ -174,6 +174,15 @@ class Parser extends Tapable {
|
||||
res.setNumber(left.number / right.number);
|
||||
res.setRange(expr.range);
|
||||
return res;
|
||||
} else if(expr.operator === "**") {
|
||||
left = this.evaluateExpression(expr.left);
|
||||
right = this.evaluateExpression(expr.right);
|
||||
if(!left || !right) return;
|
||||
if(!left.isNumber() || !right.isNumber()) return;
|
||||
res = new BasicEvaluatedExpression();
|
||||
res.setNumber(Math.pow(left.number, right.number));
|
||||
res.setRange(expr.range);
|
||||
return res;
|
||||
} else if(expr.operator === "==" || expr.operator === "===") {
|
||||
left = this.evaluateExpression(expr.left);
|
||||
right = this.evaluateExpression(expr.right);
|
||||
@@ -200,6 +209,60 @@ class Parser extends Tapable {
|
||||
} else if(left.isBoolean() && right.isBoolean()) {
|
||||
return res.setBoolean(left.bool !== right.bool);
|
||||
}
|
||||
} else if(expr.operator === "&") {
|
||||
left = this.evaluateExpression(expr.left);
|
||||
right = this.evaluateExpression(expr.right);
|
||||
if(!left || !right) return;
|
||||
if(!left.isNumber() || !right.isNumber()) return;
|
||||
res = new BasicEvaluatedExpression();
|
||||
res.setNumber(left.number & right.number);
|
||||
res.setRange(expr.range);
|
||||
return res;
|
||||
} else if(expr.operator === "|") {
|
||||
left = this.evaluateExpression(expr.left);
|
||||
right = this.evaluateExpression(expr.right);
|
||||
if(!left || !right) return;
|
||||
if(!left.isNumber() || !right.isNumber()) return;
|
||||
res = new BasicEvaluatedExpression();
|
||||
res.setNumber(left.number | right.number);
|
||||
res.setRange(expr.range);
|
||||
return res;
|
||||
} else if(expr.operator === "^") {
|
||||
left = this.evaluateExpression(expr.left);
|
||||
right = this.evaluateExpression(expr.right);
|
||||
if(!left || !right) return;
|
||||
if(!left.isNumber() || !right.isNumber()) return;
|
||||
res = new BasicEvaluatedExpression();
|
||||
res.setNumber(left.number ^ right.number);
|
||||
res.setRange(expr.range);
|
||||
return res;
|
||||
} else if(expr.operator === ">>>") {
|
||||
left = this.evaluateExpression(expr.left);
|
||||
right = this.evaluateExpression(expr.right);
|
||||
if(!left || !right) return;
|
||||
if(!left.isNumber() || !right.isNumber()) return;
|
||||
res = new BasicEvaluatedExpression();
|
||||
res.setNumber(left.number >>> right.number);
|
||||
res.setRange(expr.range);
|
||||
return res;
|
||||
} else if(expr.operator === ">>") {
|
||||
left = this.evaluateExpression(expr.left);
|
||||
right = this.evaluateExpression(expr.right);
|
||||
if(!left || !right) return;
|
||||
if(!left.isNumber() || !right.isNumber()) return;
|
||||
res = new BasicEvaluatedExpression();
|
||||
res.setNumber(left.number >> right.number);
|
||||
res.setRange(expr.range);
|
||||
return res;
|
||||
} else if(expr.operator === "<<") {
|
||||
left = this.evaluateExpression(expr.left);
|
||||
right = this.evaluateExpression(expr.right);
|
||||
if(!left || !right) return;
|
||||
if(!left.isNumber() || !right.isNumber()) return;
|
||||
res = new BasicEvaluatedExpression();
|
||||
res.setNumber(left.number << right.number);
|
||||
res.setRange(expr.range);
|
||||
return res;
|
||||
}
|
||||
});
|
||||
this.plugin("evaluate UnaryExpression", function(expr) {
|
||||
@@ -242,6 +305,14 @@ class Parser extends Tapable {
|
||||
} else if(argument.isNumber()) {
|
||||
return new BasicEvaluatedExpression().setBoolean(!argument.number).setRange(expr.range);
|
||||
}
|
||||
} else if(expr.operator === "~") {
|
||||
const argument = this.evaluateExpression(expr.argument);
|
||||
if(!argument) return;
|
||||
if(!argument.isNumber()) return;
|
||||
const res = new BasicEvaluatedExpression();
|
||||
res.setNumber(~argument.number);
|
||||
res.setRange(expr.range);
|
||||
return res;
|
||||
}
|
||||
});
|
||||
this.plugin("evaluate typeof undefined", function(expr) {
|
||||
@@ -1047,6 +1118,14 @@ class Parser extends Tapable {
|
||||
}
|
||||
|
||||
walkNewExpression(expression) {
|
||||
const callee = this.evaluateExpression(expression.callee);
|
||||
if(callee.isIdentifier()) {
|
||||
const result = this.applyPluginsBailResult("new " + callee.identifier, expression);
|
||||
if(result === true) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.walkExpression(expression.callee);
|
||||
if(expression.arguments)
|
||||
this.walkExpressions(expression.arguments);
|
||||
|
Reference in New Issue
Block a user