Urara-Blog/node_modules/.pnpm-store/v3/files/20/8c8d10f3f57b228766b72b3a82f803e3e07dae206df990cac25a1197f577b0fe601a21e7f1d7a135a010d62ab73101f7841af3d8c736c15b20d068a01cbfef
2022-08-14 01:14:53 +08:00

38 lines
No EOL
947 B
Text

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isTransparentExprWrapper = isTransparentExprWrapper;
exports.skipTransparentExprWrapperNodes = skipTransparentExprWrapperNodes;
exports.skipTransparentExprWrappers = skipTransparentExprWrappers;
var _t = require("@babel/types");
const {
isParenthesizedExpression,
isTSAsExpression,
isTSNonNullExpression,
isTSTypeAssertion,
isTypeCastExpression
} = _t;
function isTransparentExprWrapper(node) {
return isTSAsExpression(node) || isTSTypeAssertion(node) || isTSNonNullExpression(node) || isTypeCastExpression(node) || isParenthesizedExpression(node);
}
function skipTransparentExprWrappers(path) {
while (isTransparentExprWrapper(path.node)) {
path = path.get("expression");
}
return path;
}
function skipTransparentExprWrapperNodes(node) {
while (isTransparentExprWrapper(node)) {
node = node.expression;
}
return node;
}