index.js 729 B

1234567891011121314151617181920212223242526272829
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.isTransparentExprWrapper = isTransparentExprWrapper;
  6. exports.skipTransparentExprWrappers = skipTransparentExprWrappers;
  7. var _t = require("@babel/types");
  8. const {
  9. isParenthesizedExpression,
  10. isTSAsExpression,
  11. isTSNonNullExpression,
  12. isTSTypeAssertion,
  13. isTypeCastExpression
  14. } = _t;
  15. function isTransparentExprWrapper(node) {
  16. return isTSAsExpression(node) || isTSTypeAssertion(node) || isTSNonNullExpression(node) || isTypeCastExpression(node) || isParenthesizedExpression(node);
  17. }
  18. function skipTransparentExprWrappers(path) {
  19. while (isTransparentExprWrapper(path.node)) {
  20. path = path.get("expression");
  21. }
  22. return path;
  23. }