| "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; |
| } |