astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
22 lines (17 loc) • 902 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = compileObjectTypePropertyReplacement;
var _Placeholder = _interopRequireDefault(require("./Placeholder"));
function compileObjectTypePropertyReplacement(path, compileOptions) {
var n = compileOptions.backend.t.namedTypes;
var pattern = path.value;
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 placeholderReplacement = (0, _Placeholder["default"])(path, pattern.key.name, compileOptions);
if (placeholderReplacement) return placeholderReplacement;
}
}
}