Merge pull request #2754 from hzoo/fix-simp-comp-op

WIP: Fix transform-simplify-comparison-operators plugin
This commit is contained in:
Sebastian McKenzie
2015-11-02 19:37:28 +00:00
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);
}