UNPKG

astx

Version:

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

31 lines (25 loc) 1.2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = compileObjectTypePropertyMatcher; var _Placeholder = _interopRequireDefault(require("./Placeholder")); function compileObjectTypePropertyMatcher(path, compileOptions) { var pattern = path.value; var n = compileOptions.backend.t.namedTypes; if (n.Identifier.check(pattern.key)) { if (!pattern["static"] && !pattern.proto && !pattern.method && !pattern.optional && n.GenericTypeAnnotation.check(pattern.value) && n.Identifier.check(pattern.value.id) && pattern.value.id.name === '$' && pattern.variance == null) { var placeholderMatcher = (0, _Placeholder["default"])(path, pattern.key.name, compileOptions, { nodeType: 'Flow', getCondition: function getCondition() { return function (path) { var _path$parent; return n.ObjectTypeAnnotation.check((_path$parent = path.parent) === null || _path$parent === void 0 ? void 0 : _path$parent.value); }; } }); if (placeholderMatcher) return placeholderMatcher; } } }