Fix transform-simplify-comparison-operators plugin

This commit is contained in:
Henry Zhu 2015-11-02 09:27:41 -05:00
parent 72f384bb29
commit 44e64c41f8
4 changed files with 22 additions and 4 deletions

View File

@ -0,0 +1,7 @@
typeof 1 === "number";
typeof 1 !== "string";
typeof 1 == "number";
typeof 1 != "string";
a > b;

View File

@ -0,0 +1,7 @@
typeof 1 == "number";
typeof 1 != "string";
typeof 1 == "number";
typeof 1 != "string";
a > b;

View File

@ -0,0 +1,3 @@
{
"plugins": ["transform-simplify-comparison-operators"]
}

View File

@ -1,12 +1,13 @@
export default function () {
return {
visitor: {
BinaryExpression(node) {
let op = node.operator;
BinaryExpression(path) {
let { node, op } = path;
if (op !== "===" && op !== "!==") return;
let left = this.get("left");
let right = this.get("right");
let left = path.get("left");
let right = path.get("right");
if (left.baseTypeStrictlyMatches(right)) {
node.operator = node.operator.slice(0, -1);
}