diff options
Diffstat (limited to 'node_modules/@babel/helper-simple-access')
| -rw-r--r-- | node_modules/@babel/helper-simple-access/README.md | 26 | ||||
| -rw-r--r-- | node_modules/@babel/helper-simple-access/lib/index.js | 81 | ||||
| -rw-r--r-- | node_modules/@babel/helper-simple-access/package.json | 15 |
3 files changed, 0 insertions, 122 deletions
diff --git a/node_modules/@babel/helper-simple-access/README.md b/node_modules/@babel/helper-simple-access/README.md deleted file mode 100644 index 81660daf..00000000 --- a/node_modules/@babel/helper-simple-access/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# @babel/helper-simple-assignment - -There are many cases where it is hard to perform transformations because a -piece of code is using complex structures. Say you want to rewrite all accesses -to a given variable, and there are cases like - -``` -i += 1 ---i; -``` - -It is difficult to work with. - -This helper can handle converting these to simple access patterns of standard -assignment. This plugin does _not_ handle - -``` -{ a } = foo; -``` - -so assignment to patterns still needs to be handled when you are processing -updates to values. - -## Usage - -TODO diff --git a/node_modules/@babel/helper-simple-access/lib/index.js b/node_modules/@babel/helper-simple-access/lib/index.js deleted file mode 100644 index bb227456..00000000 --- a/node_modules/@babel/helper-simple-access/lib/index.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = simplifyAccess; - -function t() { - const data = _interopRequireWildcard(require("@babel/types")); - - t = function t() { - return data; - }; - - return data; -} - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -function simplifyAccess(path, bindingNames) { - path.traverse(simpleAssignmentVisitor, { - scope: path.scope, - bindingNames, - seen: new WeakSet() - }); -} - -const simpleAssignmentVisitor = { - UpdateExpression: { - exit(path) { - const scope = this.scope, - bindingNames = this.bindingNames; - const arg = path.get("argument"); - if (!arg.isIdentifier()) return; - const localName = arg.node.name; - if (!bindingNames.has(localName)) return; - - if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { - return; - } - - if (path.parentPath.isExpressionStatement() && !path.isCompletionRecord()) { - const operator = path.node.operator == "++" ? "+=" : "-="; - path.replaceWith(t().assignmentExpression(operator, arg.node, t().numericLiteral(1))); - } else if (path.node.prefix) { - path.replaceWith(t().assignmentExpression("=", t().identifier(localName), t().binaryExpression(path.node.operator[0], t().unaryExpression("+", arg.node), t().numericLiteral(1)))); - } else { - const old = path.scope.generateUidIdentifierBasedOnNode(arg.node, "old"); - const varName = old.name; - path.scope.push({ - id: old - }); - const binary = t().binaryExpression(path.node.operator[0], t().identifier(varName), t().numericLiteral(1)); - path.replaceWith(t().sequenceExpression([t().assignmentExpression("=", t().identifier(varName), t().unaryExpression("+", arg.node)), t().assignmentExpression("=", t().cloneNode(arg.node), binary), t().identifier(varName)])); - } - } - - }, - AssignmentExpression: { - exit(path) { - const scope = this.scope, - seen = this.seen, - bindingNames = this.bindingNames; - if (path.node.operator === "=") return; - if (seen.has(path.node)) return; - seen.add(path.node); - const left = path.get("left"); - if (!left.isIdentifier()) return; - const localName = left.node.name; - if (!bindingNames.has(localName)) return; - - if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { - return; - } - - path.node.right = t().binaryExpression(path.node.operator.slice(0, -1), t().cloneNode(path.node.left), path.node.right); - path.node.operator = "="; - } - - } -};
\ No newline at end of file diff --git a/node_modules/@babel/helper-simple-access/package.json b/node_modules/@babel/helper-simple-access/package.json deleted file mode 100644 index 0a01c724..00000000 --- a/node_modules/@babel/helper-simple-access/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "@babel/helper-simple-access", - "version": "7.0.0-beta.47", - "description": "Babel helper for ensuring that access to a given value is performed through simple accesses", - "author": "Logan Smyth <loganfsmyth@gmail.com>", - "homepage": "https://babeljs.io/", - "license": "MIT", - "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-simple-access", - "main": "lib/index.js", - "dependencies": { - "@babel/template": "7.0.0-beta.47", - "@babel/types": "7.0.0-beta.47", - "lodash": "^4.17.5" - } -} |
