diff --git a/packages/babel-helper-builder-conditional-assignment-operator-visitor/.npmignore b/packages/babel-helper-builder-conditional-assignment-operator-visitor/.npmignore deleted file mode 100644 index f9806945836e..000000000000 --- a/packages/babel-helper-builder-conditional-assignment-operator-visitor/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -src -test -*.log diff --git a/packages/babel-helper-builder-conditional-assignment-operator-visitor/README.md b/packages/babel-helper-builder-conditional-assignment-operator-visitor/README.md deleted file mode 100644 index f9d44147c35f..000000000000 --- a/packages/babel-helper-builder-conditional-assignment-operator-visitor/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# babel-helper-builder-conditional-assignment-operator-visitor - -## Usage - -TODO diff --git a/packages/babel-helper-builder-conditional-assignment-operator-visitor/package.json b/packages/babel-helper-builder-conditional-assignment-operator-visitor/package.json deleted file mode 100644 index b9bba213120e..000000000000 --- a/packages/babel-helper-builder-conditional-assignment-operator-visitor/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "babel-helper-builder-conditional-assignment-operator-visitor", - "version": "7.0.0-alpha.9", - "description": "Helper function to build conditional assignment operator visitors", - "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-builder-conditional-assignment-operator-visitor", - "license": "MIT", - "main": "lib/index.js", - "dependencies": { - "babel-helper-explode-assignable-expression": "7.0.0-alpha.9", - "babel-types": "7.0.0-alpha.9" - } -} diff --git a/packages/babel-helper-builder-conditional-assignment-operator-visitor/src/index.js b/packages/babel-helper-builder-conditional-assignment-operator-visitor/src/index.js deleted file mode 100644 index ae5c1772cbd9..000000000000 --- a/packages/babel-helper-builder-conditional-assignment-operator-visitor/src/index.js +++ /dev/null @@ -1,52 +0,0 @@ -import explode from "babel-helper-explode-assignable-expression"; -import * as t from "babel-types"; - -export default function ( - exports: Object, - opts: { - build: Function; - is: Function; - }, -) { - const buildAssignment = function (left, right) { - return t.assignmentExpression("=", left, right); - }; - - exports.ExpressionStatement = function (path, file) { - // hit the `AssignmentExpression` one below - if (path.isCompletionRecord()) return; - - const expr = path.node.expression; - if (!opts.is(expr, file)) return; - - const nodes = []; - - const exploded = explode(expr.left, nodes, file, path.scope); - - nodes.push(t.ifStatement( - opts.build(exploded.uid, file), - t.expressionStatement(buildAssignment(exploded.ref, expr.right)) - )); - - return nodes; - }; - - exports.AssignmentExpression = function (path, file) { - const node = path.node; - if (!opts.is(node, file)) return; - - const nodes = []; - const exploded = explode(node.left, nodes, file, path.scope); - - nodes.push(t.logicalExpression( - "&&", - opts.build(exploded.uid, file), - buildAssignment(exploded.ref, node.right) - )); - - // todo: duplicate expression node - nodes.push(exploded.ref); - - return nodes; - }; -}