Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-destructuring

Package Overview
Dependencies
Maintainers
4
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.18.13 to 7.19.4

18

lib/index.js

@@ -8,2 +8,6 @@ 'use strict';

function isPureVoid(node) {
return core.types.isUnaryExpression(node) && node.operator === "void" && core.types.isPureish(node.argument);
}
function unshiftForXStatementBody(statementPath, newStatements) {

@@ -131,3 +135,3 @@ statementPath.ensureBlock();

}, valueRef) {
if (valueRef === null) {
if (isPureVoid(valueRef)) {
this.push(left, right);

@@ -178,4 +182,4 @@ return;

pushObjectPattern(pattern, objRef) {
if (!pattern.properties.length || objRef === null) {
this.nodes.push(core.types.expressionStatement(core.types.callExpression(this.addHelper("objectDestructuringEmpty"), objRef !== null ? [objRef] : [])));
if (!pattern.properties.length) {
this.nodes.push(core.types.expressionStatement(core.types.callExpression(this.addHelper("objectDestructuringEmpty"), isPureVoid(objRef) ? [] : [objRef])));
return;

@@ -265,2 +269,4 @@ }

pushUnpackedArrayPattern(pattern, arr) {
const holeToUndefined = el => el != null ? el : this.scope.buildUndefinedNode();
for (let i = 0; i < pattern.elements.length; i++) {

@@ -270,5 +276,5 @@ const elem = pattern.elements[i];

if (core.types.isRestElement(elem)) {
this.push(elem.argument, core.types.arrayExpression(arr.elements.slice(i)));
this.push(elem.argument, core.types.arrayExpression(arr.elements.slice(i).map(holeToUndefined)));
} else {
this.push(elem, arr.elements[i]);
this.push(elem, holeToUndefined(arr.elements[i]));
}

@@ -358,3 +364,3 @@ }

const extendsHelper = useBuiltIns ? core.types.memberExpression(core.types.identifier("Object"), core.types.identifier("assign")) : addHelper("extends");
value = core.types.callExpression(extendsHelper, [core.types.objectExpression([]), core.types.cloneNode(objRef)]);
value = core.types.callExpression(extendsHelper, [core.types.objectExpression([]), core.types.sequenceExpression([core.types.callExpression(addHelper("objectDestructuringEmpty"), [core.types.cloneNode(objRef)]), core.types.cloneNode(objRef)])]);
} else {

@@ -361,0 +367,0 @@ let keyExpression = core.types.arrayExpression(keys);

{
"name": "@babel/plugin-transform-destructuring",
"version": "7.18.13",
"version": "7.19.4",
"description": "Compile ES2015 destructuring to ES5",

@@ -20,3 +20,3 @@ "repository": {

"dependencies": {
"@babel/helper-plugin-utils": "^7.18.9"
"@babel/helper-plugin-utils": "^7.19.0"
},

@@ -27,5 +27,5 @@ "peerDependencies": {

"devDependencies": {
"@babel/core": "^7.18.13",
"@babel/core": "^7.19.3",
"@babel/helper-plugin-test-runner": "^7.18.6",
"@babel/traverse": "^7.18.13"
"@babel/traverse": "^7.19.4"
},

@@ -32,0 +32,0 @@ "engines": {

Sorry, the diff of this file is not supported yet

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