From fc0190bdb98d4d61478265eef42cc5d1ba4c9778 Mon Sep 17 00:00:00 2001 From: James Henry Date: Wed, 16 Aug 2017 03:15:14 +0100 Subject: [PATCH] Fix: Exp. operator assignment is AssignmentExpression (fixes #355) --- lib/convert.js | 7 +++++++ tests/lib/__snapshots__/ecma-features.js.snap | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/convert.js b/lib/convert.js index 892b6f0..a40e6e6 100644 --- a/lib/convert.js +++ b/lib/convert.js @@ -1461,6 +1461,13 @@ module.exports = function convert(config) { result.expressions.push(right); } + } else if (node.operatorToken && node.operatorToken.kind === SyntaxKind.AsteriskAsteriskEqualsToken) { + Object.assign(result, { + type: AST_NODE_TYPES.AssignmentExpression, + operator: nodeUtils.getTextForTokenKind(node.operatorToken.kind), + left: convertChild(node.left), + right: convertChild(node.right) + }); } else { Object.assign(result, { type: nodeUtils.getBinaryExpressionType(node.operatorToken), diff --git a/tests/lib/__snapshots__/ecma-features.js.snap b/tests/lib/__snapshots__/ecma-features.js.snap index 883912e..2fceee6 100644 --- a/tests/lib/__snapshots__/ecma-features.js.snap +++ b/tests/lib/__snapshots__/ecma-features.js.snap @@ -65558,7 +65558,7 @@ Object { "type": "Literal", "value": 4, }, - "type": "BinaryExpression", + "type": "AssignmentExpression", }, "loc": Object { "end": Object {