Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-destructuring

Package Overview
Dependencies
Maintainers
5
Versions
102
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-transform-destructuring - npm Package Compare versions

Comparing version 7.4.0 to 7.4.3

41

lib/index.js

@@ -65,2 +65,12 @@ "use strict";

function hasObjectRest(pattern) {
for (const elem of pattern.properties) {
if (_core().types.isRestElement(elem)) {
return true;
}
}
return false;
}
const STOP_TRAVERSAL = {};

@@ -97,3 +107,3 @@

if (op) {
node = _core().types.expressionStatement(_core().types.assignmentExpression(op, id, _core().types.cloneNode(init)));
node = _core().types.expressionStatement(_core().types.assignmentExpression(op, id, _core().types.cloneNode(init) || this.scope.buildUndefinedNode()));
} else {

@@ -225,2 +235,31 @@ node = _core().types.variableDeclaration(this.kind, [_core().types.variableDeclarator(id, _core().types.cloneNode(init))]);

if (hasObjectRest(pattern)) {
let copiedPattern;
for (let i = 0; i < pattern.properties.length; i++) {
const prop = pattern.properties[i];
if (_core().types.isRestElement(prop)) {
break;
}
const key = prop.key;
if (prop.computed && !this.scope.isPure(key)) {
const name = this.scope.generateUidIdentifierBasedOnNode(key);
this.nodes.push(this.buildVariableDeclaration(name, key));
if (!copiedPattern) {
copiedPattern = pattern = Object.assign({}, pattern, {
properties: pattern.properties.slice()
});
}
copiedPattern.properties[i] = Object.assign({}, copiedPattern.properties[i], {
key: name
});
}
}
}
for (let i = 0; i < pattern.properties.length; i++) {

@@ -227,0 +266,0 @@ const prop = pattern.properties[i];

6

package.json
{
"name": "@babel/plugin-transform-destructuring",
"version": "7.4.0",
"version": "7.4.3",
"description": "Compile ES2015 destructuring to ES5",

@@ -21,6 +21,6 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-destructuring",

"devDependencies": {
"@babel/core": "^7.4.0",
"@babel/core": "^7.4.3",
"@babel/helper-plugin-test-runner": "^7.0.0"
},
"gitHead": "f1328fb913b5a93d54dfc6e3728b1f56c8f4a804"
"gitHead": "508fde4009f31883f318b9e6546459ac1b086a91"
}
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