diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2024-08-30 17:21:18 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2024-08-30 17:21:18 +0800 |
| commit | efbc2ffe6a1ee5ec38a4396305561d6515d0943e (patch) | |
| tree | 2b4c94f18f2c792dfda813050755d5c0273fae22 /node_modules/@babel/generator/lib/node/index.js | |
| parent | 43acceb75957c880a5ba5a31aae221394a36d5f6 (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.js | 35 |
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 |
