UNPKG

astx

Version:

super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring

28 lines (23 loc) 824 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = compileTSTypeAnnotationMatcher; var _ = _interopRequireDefault(require(".")); function compileTSTypeAnnotationMatcher(path, compileOptions) { var typeAnnotation = path.get('typeAnnotation'); if (!typeAnnotation.value) return; var annotationMatcher = (0, _["default"])(typeAnnotation, compileOptions); if (annotationMatcher.optional) { return { pattern: path, nodeType: 'TSTypeAnnotation', optional: true, match: function match(path, matchSoFar) { if (!path.value) return matchSoFar || {}; return annotationMatcher.match(path.get('typeAnnotation'), matchSoFar); } }; } }