@babel/helper-simple-access
Advanced tools
Comparing version 7.0.0-beta.42 to 7.0.0-beta.43
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = simplifyAccess; | ||
var t = _interopRequireWildcard(require("@babel/types")); | ||
function t() { | ||
const data = _interopRequireWildcard(require("@babel/types")); | ||
t = function () { | ||
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; } } | ||
@@ -13,3 +23,3 @@ | ||
scope: path.scope, | ||
bindingNames: bindingNames, | ||
bindingNames, | ||
seen: new WeakSet() | ||
@@ -19,10 +29,12 @@ }); | ||
var simpleAssignmentVisitor = { | ||
const simpleAssignmentVisitor = { | ||
UpdateExpression: { | ||
exit: function exit(path) { | ||
var scope = this.scope, | ||
bindingNames = this.bindingNames; | ||
var arg = path.get("argument"); | ||
exit(path) { | ||
const { | ||
scope, | ||
bindingNames | ||
} = this; | ||
const arg = path.get("argument"); | ||
if (!arg.isIdentifier()) return; | ||
var localName = arg.node.name; | ||
const localName = arg.node.name; | ||
if (!bindingNames.has(localName)) return; | ||
@@ -35,22 +47,25 @@ | ||
if (path.node.prefix || path.parentPath.isExpressionStatement() && !path.isCompletionRecord()) { | ||
var operator = path.node.operator == "++" ? "+=" : "-="; | ||
path.replaceWith(t.assignmentExpression(operator, arg.node, t.numericLiteral(1))); | ||
const operator = path.node.operator == "++" ? "+=" : "-="; | ||
path.replaceWith(t().assignmentExpression(operator, arg.node, t().numericLiteral(1))); | ||
} else { | ||
var varName = path.scope.generateDeclaredUidIdentifier("old").name; | ||
var binary = t.binaryExpression(path.node.operator.slice(0, 1), t.identifier(varName), t.numericLiteral(1)); | ||
path.replaceWith(t.sequenceExpression([t.assignmentExpression("=", t.identifier(varName), arg.node), t.assignmentExpression("=", t.cloneNode(arg.node), binary), t.identifier(varName)])); | ||
const varName = path.scope.generateDeclaredUidIdentifier("old").name; | ||
const binary = t().binaryExpression(path.node.operator.slice(0, 1), t().identifier(varName), t().numericLiteral(1)); | ||
path.replaceWith(t().sequenceExpression([t().assignmentExpression("=", t().identifier(varName), arg.node), t().assignmentExpression("=", t().cloneNode(arg.node), binary), t().identifier(varName)])); | ||
} | ||
} | ||
}, | ||
AssignmentExpression: { | ||
exit: function exit(path) { | ||
var scope = this.scope, | ||
seen = this.seen, | ||
bindingNames = this.bindingNames; | ||
exit(path) { | ||
const { | ||
scope, | ||
seen, | ||
bindingNames | ||
} = this; | ||
if (path.node.operator === "=") return; | ||
if (seen.has(path.node)) return; | ||
seen.add(path.node); | ||
var left = path.get("left"); | ||
const left = path.get("left"); | ||
if (!left.isIdentifier()) return; | ||
var localName = left.node.name; | ||
const localName = left.node.name; | ||
if (!bindingNames.has(localName)) return; | ||
@@ -62,6 +77,7 @@ | ||
path.node.right = t.binaryExpression(path.node.operator.slice(0, -1), t.cloneNode(path.node.left), path.node.right); | ||
path.node.right = t().binaryExpression(path.node.operator.slice(0, -1), t().cloneNode(path.node.left), path.node.right); | ||
path.node.operator = "="; | ||
} | ||
} | ||
}; |
{ | ||
"name": "@babel/helper-simple-access", | ||
"version": "7.0.0-beta.42", | ||
"version": "7.0.0-beta.43", | ||
"description": "Babel helper for ensuring that access to a given value is performed through simple accesses", | ||
@@ -11,6 +11,6 @@ "author": "Logan Smyth <loganfsmyth@gmail.com>", | ||
"dependencies": { | ||
"@babel/template": "7.0.0-beta.42", | ||
"@babel/types": "7.0.0-beta.42", | ||
"@babel/template": "7.0.0-beta.43", | ||
"@babel/types": "7.0.0-beta.43", | ||
"lodash": "^4.2.0" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3775
66
+ Added@babel/code-frame@7.0.0-beta.43(transitive)
+ Added@babel/highlight@7.0.0-beta.43(transitive)
+ Added@babel/template@7.0.0-beta.43(transitive)
+ Added@babel/types@7.0.0-beta.43(transitive)
+ Addedbabylon@7.0.0-beta.43(transitive)
- Removed@babel/code-frame@7.0.0-beta.42(transitive)
- Removed@babel/highlight@7.0.0-beta.42(transitive)
- Removed@babel/template@7.0.0-beta.42(transitive)
- Removed@babel/types@7.0.0-beta.42(transitive)
- Removedbabylon@7.0.0-beta.42(transitive)
Updated@babel/types@7.0.0-beta.43