summaryrefslogtreecommitdiff
path: root/node_modules/@babel/generator/lib/node/index.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
committerlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
commitefbc2ffe6a1ee5ec38a4396305561d6515d0943e (patch)
tree2b4c94f18f2c792dfda813050755d5c0273fae22 /node_modules/@babel/generator/lib/node/index.js
parent43acceb75957c880a5ba5a31aae221394a36d5f6 (diff)
node fixes, updates
Diffstat (limited to 'node_modules/@babel/generator/lib/node/index.js')
-rw-r--r--node_modules/@babel/generator/lib/node/index.js35
1 files changed, 30 insertions, 5 deletions
diff --git a/node_modules/@babel/generator/lib/node/index.js b/node_modules/@babel/generator/lib/node/index.js
index 385a7ad1..b5640509 100644
--- a/node_modules/@babel/generator/lib/node/index.js
+++ b/node_modules/@babel/generator/lib/node/index.js
@@ -3,6 +3,7 @@
Object.defineProperty(exports, "__esModule", {
value: true
});
+exports.TokenContext = void 0;
exports.needsParens = needsParens;
exports.needsWhitespace = needsWhitespace;
exports.needsWhitespaceAfter = needsWhitespaceAfter;
@@ -13,17 +14,28 @@ var _t = require("@babel/types");
const {
FLIPPED_ALIAS_KEYS,
isCallExpression,
+ isDecorator,
isExpressionStatement,
isMemberExpression,
- isNewExpression
+ isNewExpression,
+ isParenthesizedExpression
} = _t;
+const TokenContext = exports.TokenContext = {
+ expressionStatement: 1,
+ arrowBody: 2,
+ exportDefault: 4,
+ forHead: 8,
+ forInHead: 16,
+ forOfHead: 32,
+ arrowFlowReturnType: 64
+};
function expandAliases(obj) {
const map = new Map();
function add(type, func) {
const fn = map.get(type);
- map.set(type, fn ? function (node, parent, stack) {
+ map.set(type, fn ? function (node, parent, stack, inForInit) {
var _fn;
- return (_fn = fn(node, parent, stack)) != null ? _fn : func(node, parent, stack);
+ return (_fn = fn(node, parent, stack, inForInit)) != null ? _fn : func(node, parent, stack, inForInit);
} : func);
}
for (const type of Object.keys(obj)) {
@@ -64,13 +76,26 @@ function needsWhitespaceBefore(node, parent) {
function needsWhitespaceAfter(node, parent) {
return needsWhitespace(node, parent, 2);
}
-function needsParens(node, parent, printStack) {
+function needsParens(node, parent, tokenContext, inForInit) {
var _expandedParens$get;
if (!parent) return false;
if (isNewExpression(parent) && parent.callee === node) {
if (isOrHasCallExpression(node)) return true;
}
- return (_expandedParens$get = expandedParens.get(node.type)) == null ? void 0 : _expandedParens$get(node, parent, printStack);
+ if (isDecorator(parent)) {
+ return !isDecoratorMemberExpression(node) && !(isCallExpression(node) && isDecoratorMemberExpression(node.callee)) && !isParenthesizedExpression(node);
+ }
+ return (_expandedParens$get = expandedParens.get(node.type)) == null ? void 0 : _expandedParens$get(node, parent, tokenContext, inForInit);
+}
+function isDecoratorMemberExpression(node) {
+ switch (node.type) {
+ case "Identifier":
+ return true;
+ case "MemberExpression":
+ return !node.computed && node.property.type === "Identifier" && isDecoratorMemberExpression(node.object);
+ default:
+ return false;
+ }
}
//# sourceMappingURL=index.js.map