summaryrefslogtreecommitdiff
path: root/node_modules/@babel/plugin-transform-object-rest-spread/lib/index.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2024-05-14 14:05:49 +0800
committerlittleblack111 <littleblack11111@gmail.com>2024-05-14 14:05:49 +0800
commit06823fbf1c2e763a5bf76c3990ca98fbbcd98691 (patch)
tree4280bece3888d12a022093bf1a9cd1b049393602 /node_modules/@babel/plugin-transform-object-rest-spread/lib/index.js
parent1368909b3cd552dbb0d12d5863c597f5be46177d (diff)
updated node_modules
Diffstat (limited to 'node_modules/@babel/plugin-transform-object-rest-spread/lib/index.js')
-rw-r--r--node_modules/@babel/plugin-transform-object-rest-spread/lib/index.js95
1 files changed, 55 insertions, 40 deletions
diff --git a/node_modules/@babel/plugin-transform-object-rest-spread/lib/index.js b/node_modules/@babel/plugin-transform-object-rest-spread/lib/index.js
index f97fffb1..d627f51a 100644
--- a/node_modules/@babel/plugin-transform-object-rest-spread/lib/index.js
+++ b/node_modules/@babel/plugin-transform-object-rest-spread/lib/index.js
@@ -6,46 +6,50 @@ var helperPluginUtils = require('@babel/helper-plugin-utils');
var core = require('@babel/core');
var pluginTransformParameters = require('@babel/plugin-transform-parameters');
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 {
- isObjectProperty: isObjectProperty$1,
- isArrayPattern,
- isObjectPattern,
- isAssignmentPattern: isAssignmentPattern$1,
- isRestElement,
- isIdentifier
-} = core.types;
function shouldStoreRHSInTemporaryVariable(node) {
- if (isArrayPattern(node)) {
+ if (!node) return false;
+ if (node.type === "ArrayPattern") {
const nonNullElements = node.elements.filter(element => element !== null);
if (nonNullElements.length > 1) return true;else return shouldStoreRHSInTemporaryVariable(nonNullElements[0]);
- } else if (isObjectPattern(node)) {
+ } else if (node.type === "ObjectPattern") {
const {
properties
} = node;
if (properties.length > 1) return true;else if (properties.length === 0) return false;else {
const firstProperty = properties[0];
- if (isObjectProperty$1(firstProperty)) {
+ if (firstProperty.type === "ObjectProperty") {
return shouldStoreRHSInTemporaryVariable(firstProperty.value);
} else {
return shouldStoreRHSInTemporaryVariable(firstProperty);
}
}
- } else if (isAssignmentPattern$1(node)) {
+ } else if (node.type === "AssignmentPattern") {
return shouldStoreRHSInTemporaryVariable(node.left);
- } else if (isRestElement(node)) {
- if (isIdentifier(node.argument)) return true;
+ } else if (node.type === "RestElement") {
+ if (node.argument.type === "Identifier") return true;
return shouldStoreRHSInTemporaryVariable(node.argument);
} else {
return false;
}
}
+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 {
isAssignmentPattern,
isObjectProperty
@@ -58,10 +62,10 @@ const {
}
var index = helperPluginUtils.declare((api, opts) => {
var _api$assumption, _api$assumption2, _api$assumption3, _api$assumption4;
- api.assertVersion(7);
+ api.assertVersion("^7.0.0-0 || >8.0.0-alpha <8.0.0-beta");
const targets = api.targets();
- const supportsObjectAssign = !helperCompilationTargets.isRequired("es6.object.assign", targets, {
- compatData: compatData__default.default
+ const supportsObjectAssign = !helperCompilationTargets.isRequired("Object.assign", targets, {
+ compatData
});
const {
useBuiltIns = supportsObjectAssign,
@@ -120,24 +124,33 @@ var index = helperPluginUtils.declare((api, opts) => {
function extractNormalizedKeys(node) {
const props = node.properties;
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;
+ }
}
}
return {
keys,
- allLiteral,
+ allPrimitives,
hasTemplateLiteral
};
}
@@ -173,14 +186,14 @@ var index = helperPluginUtils.declare((api, opts) => {
const impureComputedPropertyDeclarators = replaceImpureComputedKeys(path.get("properties"), path.scope);
const {
keys,
- allLiteral,
+ allPrimitives,
hasTemplateLiteral
} = extractNormalizedKeys(path.node);
if (keys.length === 0) {
return [impureComputedPropertyDeclarators, restElement.argument, core.types.callExpression(getExtendsHelper(file), [core.types.objectExpression([]), core.types.sequenceExpression([core.types.callExpression(file.addHelper("objectDestructuringEmpty"), [core.types.cloneNode(objRef)]), core.types.cloneNode(objRef)])])];
}
let keyExpression;
- if (!allLiteral) {
+ if (!allPrimitives) {
keyExpression = core.types.callExpression(core.types.memberExpression(core.types.arrayExpression(keys), core.types.identifier("map")), [file.addHelper("toPropertyKey")]);
} else {
keyExpression = core.types.arrayExpression(keys);
@@ -222,7 +235,7 @@ var index = helperPluginUtils.declare((api, opts) => {
}
return {
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: {
Function(path) {
const params = path.get("params");
@@ -407,11 +420,13 @@ var index = helperPluginUtils.declare((api, opts) => {
if (setSpreadProperties) {
helper = getExtendsHelper(file);
} else {
- try {
- helper = file.addHelper("objectSpread2");
- } catch (_unused) {
- this.file.declarations["objectSpread2"] = null;
- helper = file.addHelper("objectSpread");
+ {
+ try {
+ helper = file.addHelper("objectSpread2");
+ } catch (_unused) {
+ this.file.declarations["objectSpread2"] = null;
+ helper = file.addHelper("objectSpread");
+ }
}
}
let exp = null;