Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@babel/helper-simple-access

Package Overview
Dependencies
Maintainers
6
Versions
80
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/helper-simple-access - npm Package Compare versions

Comparing version 7.0.0-beta.42 to 7.0.0-beta.43

58

lib/index.js
"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"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc