diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2024-05-14 14:05:49 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2024-05-14 14:05:49 +0800 |
| commit | 06823fbf1c2e763a5bf76c3990ca98fbbcd98691 (patch) | |
| tree | 4280bece3888d12a022093bf1a9cd1b049393602 /node_modules/@babel/plugin-transform-object-rest-spread/lib/index.js | |
| parent | 1368909b3cd552dbb0d12d5863c597f5be46177d (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.js | 95 |
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; |
