Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-object-rest-spread

Package Overview
Dependencies
56
Maintainers
4
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 7.24.0 to 7.24.1

60

lib/index.js

@@ -9,8 +9,3 @@ 'use strict';

var helperCompilationTargets = require('@babel/helper-compilation-targets');
var compatData = require('@babel/compat-data/corejs2-built-ins');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var compatData__default = /*#__PURE__*/_interopDefault(compatData);
const {

@@ -50,2 +45,18 @@ isObjectProperty: isObjectProperty$1,

var compatData = {
"Object.assign": {
chrome: "49",
opera: "36",
edge: "13",
firefox: "36",
safari: "10",
node: "6",
deno: "1",
ios: "10",
samsung: "5",
opera_mobile: "36",
electron: "0.37"
}
};
const {

@@ -65,4 +76,4 @@ isAssignmentPattern,

const targets = api.targets();
const supportsObjectAssign = !helperCompilationTargets.isRequired("es6.object.assign", targets, {
compatData: compatData__default.default
const supportsObjectAssign = !helperCompilationTargets.isRequired("Object.assign", targets, {
compatData
});

@@ -126,15 +137,24 @@ const {

const keys = [];
let allLiteral = true;
let allPrimitives = true;
let hasTemplateLiteral = false;
for (const prop of props) {
if (core.types.isIdentifier(prop.key) && !prop.computed) {
keys.push(core.types.stringLiteral(prop.key.name));
} else if (core.types.isTemplateLiteral(prop.key)) {
keys.push(core.types.cloneNode(prop.key));
const {
key
} = prop;
if (core.types.isIdentifier(key) && !prop.computed) {
keys.push(core.types.stringLiteral(key.name));
} else if (core.types.isTemplateLiteral(key)) {
keys.push(core.types.cloneNode(key));
hasTemplateLiteral = true;
} else if (core.types.isLiteral(prop.key)) {
keys.push(core.types.stringLiteral(String(prop.key.value)));
} else if (core.types.isLiteral(key)) {
keys.push(core.types.stringLiteral(String(key.value)));
} else {
keys.push(core.types.cloneNode(prop.key));
allLiteral = false;
keys.push(core.types.cloneNode(key));
if (core.types.isMemberExpression(key, {
computed: false
}) && core.types.isIdentifier(key.object, {
name: "Symbol"
}) || core.types.isCallExpression(key) && core.types.matchesPattern(key.callee, "Symbol.for")) ; else {
allPrimitives = false;
}
}

@@ -144,3 +164,3 @@ }

keys,
allLiteral,
allPrimitives,
hasTemplateLiteral

@@ -181,3 +201,3 @@ };

keys,
allLiteral,
allPrimitives,
hasTemplateLiteral

@@ -189,3 +209,3 @@ } = extractNormalizedKeys(path.node);

let keyExpression;
if (!allLiteral) {
if (!allPrimitives) {
keyExpression = core.types.callExpression(core.types.memberExpression(core.types.arrayExpression(keys), core.types.identifier("map")), [file.addHelper("toPropertyKey")]);

@@ -232,3 +252,3 @@ } else {

name: "transform-object-rest-spread",
inherits: require("@babel/plugin-syntax-object-rest-spread").default,
inherits: api.version[0] === "8" ? undefined : require("@babel/plugin-syntax-object-rest-spread").default,
visitor: {

@@ -235,0 +255,0 @@ Function(path) {

{
"name": "@babel/plugin-transform-object-rest-spread",
"version": "7.24.0",
"version": "7.24.1",
"description": "Compile object rest and spread to ES5",

@@ -20,7 +20,6 @@ "repository": {

"dependencies": {
"@babel/compat-data": "^7.23.5",
"@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
"@babel/plugin-transform-parameters": "^7.23.3"
"@babel/plugin-transform-parameters": "^7.24.1"
},

@@ -31,5 +30,5 @@ "peerDependencies": {

"devDependencies": {
"@babel/core": "^7.24.0",
"@babel/helper-plugin-test-runner": "^7.22.5",
"@babel/parser": "^7.24.0"
"@babel/core": "^7.24.1",
"@babel/helper-plugin-test-runner": "^7.24.1",
"@babel/parser": "^7.24.1"
},

@@ -36,0 +35,0 @@ "engines": {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc