@babel/plugin-transform-object-rest-spread
Advanced tools
Comparing version 7.24.0 to 7.24.1
@@ -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
72808
5
468
+ Addedcaniuse-lite@1.0.30001638(transitive)
+ Addedelectron-to-chromium@1.4.813(transitive)
- Removed@babel/compat-data@^7.23.5
- Removedcaniuse-lite@1.0.30001639(transitive)
- Removedelectron-to-chromium@1.4.816(transitive)