UNPKG

astx

Version:

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

43 lines (40 loc) 5.89 kB
import compilePlaceholderReplacement from './Placeholder.mjs' export default function compileClassPropertyReplacement(path, compileOptions) { const pattern = path.value const n = compileOptions.backend.t.namedTypes if (n.Identifier.check(pattern.key)) { var _pattern$typeAnnotati, _pattern$typeAnnotati2 if ( !pattern.computed && !pattern.static && pattern.variance == null && pattern.value == null && (pattern.typeAnnotation == null || (n.TypeAnnotation.check(pattern.typeAnnotation) && n.GenericTypeAnnotation.check( (_pattern$typeAnnotati = pattern.typeAnnotation) === null || _pattern$typeAnnotati === void 0 ? void 0 : _pattern$typeAnnotati.typeAnnotation ) && n.Identifier.check(pattern.typeAnnotation.typeAnnotation.id) && pattern.typeAnnotation.typeAnnotation.id.name === '$') || (n.TSTypeAnnotation.check(pattern.typeAnnotation) && n.TSTypeReference.check( (_pattern$typeAnnotati2 = pattern.typeAnnotation) === null || _pattern$typeAnnotati2 === void 0 ? void 0 : _pattern$typeAnnotati2.typeAnnotation ) && n.Identifier.check(pattern.typeAnnotation.typeAnnotation.typeName) && pattern.typeAnnotation.typeAnnotation.typeName.name === '$')) ) { const placeholderReplacement = compilePlaceholderReplacement( path, pattern.key.name, compileOptions ) if (placeholderReplacement) return placeholderReplacement } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlUGxhY2Vob2xkZXJSZXBsYWNlbWVudCIsImNvbXBpbGVDbGFzc1Byb3BlcnR5UmVwbGFjZW1lbnQiLCJwYXRoIiwiY29tcGlsZU9wdGlvbnMiLCJwYXR0ZXJuIiwidmFsdWUiLCJuIiwiYmFja2VuZCIsInQiLCJuYW1lZFR5cGVzIiwiSWRlbnRpZmllciIsImNoZWNrIiwia2V5IiwiY29tcHV0ZWQiLCJzdGF0aWMiLCJ2YXJpYW5jZSIsInR5cGVBbm5vdGF0aW9uIiwiVHlwZUFubm90YXRpb24iLCJHZW5lcmljVHlwZUFubm90YXRpb24iLCJpZCIsIm5hbWUiLCJUU1R5cGVBbm5vdGF0aW9uIiwiVFNUeXBlUmVmZXJlbmNlIiwidHlwZU5hbWUiLCJwbGFjZWhvbGRlclJlcGxhY2VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBpbGVSZXBsYWNlbWVudC9DbGFzc1Byb3BlcnR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsYXNzUHJvcGVydHksIE5vZGVQYXRoIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBDb21waWxlZFJlcGxhY2VtZW50LCBDb21waWxlUmVwbGFjZW1lbnRPcHRpb25zIH0gZnJvbSAnLidcbmltcG9ydCBjb21waWxlUGxhY2Vob2xkZXJSZXBsYWNlbWVudCBmcm9tICcuL1BsYWNlaG9sZGVyJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb21waWxlQ2xhc3NQcm9wZXJ0eVJlcGxhY2VtZW50KFxuICBwYXRoOiBOb2RlUGF0aDxDbGFzc1Byb3BlcnR5LCBDbGFzc1Byb3BlcnR5PixcbiAgY29tcGlsZU9wdGlvbnM6IENvbXBpbGVSZXBsYWNlbWVudE9wdGlvbnNcbik6IENvbXBpbGVkUmVwbGFjZW1lbnQgfCB2b2lkIHtcbiAgY29uc3QgcGF0dGVybiA9IHBhdGgudmFsdWVcbiAgY29uc3QgbiA9IGNvbXBpbGVPcHRpb25zLmJhY2tlbmQudC5uYW1lZFR5cGVzXG4gIGlmIChuLklkZW50aWZpZXIuY2hlY2socGF0dGVybi5rZXkpKSB7XG4gICAgaWYgKFxuICAgICAgIXBhdHRlcm4uY29tcHV0ZWQgJiZcbiAgICAgICFwYXR0ZXJuLnN0YXRpYyAmJlxuICAgICAgcGF0dGVybi52YXJpYW5jZSA9PSBudWxsICYmXG4gICAgICBwYXR0ZXJuLnZhbHVlID09IG51bGwgJiZcbiAgICAgIChwYXR0ZXJuLnR5cGVBbm5vdGF0aW9uID09IG51bGwgfHxcbiAgICAgICAgKG4uVHlwZUFubm90YXRpb24uY2hlY2socGF0dGVybi50eXBlQW5ub3RhdGlvbikgJiZcbiAgICAgICAgICBuLkdlbmVyaWNUeXBlQW5ub3RhdGlvbi5jaGVjayhcbiAgICAgICAgICAgIHBhdHRlcm4udHlwZUFubm90YXRpb24/LnR5cGVBbm5vdGF0aW9uXG4gICAgICAgICAgKSAmJlxuICAgICAgICAgIG4uSWRlbnRpZmllci5jaGVjayhwYXR0ZXJuLnR5cGVBbm5vdGF0aW9uLnR5cGVBbm5vdGF0aW9uLmlkKSAmJlxuICAgICAgICAgIHBhdHRlcm4udHlwZUFubm90YXRpb24udHlwZUFubm90YXRpb24uaWQubmFtZSA9PT0gJyQnKSB8fFxuICAgICAgICAobi5UU1R5cGVBbm5vdGF0aW9uLmNoZWNrKHBhdHRlcm4udHlwZUFubm90YXRpb24pICYmXG4gICAgICAgICAgbi5UU1R5cGVSZWZlcmVuY2UuY2hlY2socGF0dGVybi50eXBlQW5ub3RhdGlvbj8udHlwZUFubm90YXRpb24pICYmXG4gICAgICAgICAgbi5JZGVudGlmaWVyLmNoZWNrKHBhdHRlcm4udHlwZUFubm90YXRpb24udHlwZUFubm90YXRpb24udHlwZU5hbWUpICYmXG4gICAgICAgICAgcGF0dGVybi50eXBlQW5ub3RhdGlvbi50eXBlQW5ub3RhdGlvbi50eXBlTmFtZS5uYW1lID09PSAnJCcpKVxuICAgICkge1xuICAgICAgY29uc3QgcGxhY2Vob2xkZXJSZXBsYWNlbWVudCA9IGNvbXBpbGVQbGFjZWhvbGRlclJlcGxhY2VtZW50KFxuICAgICAgICBwYXRoLFxuICAgICAgICBwYXR0ZXJuLmtleS5uYW1lLFxuICAgICAgICBjb21waWxlT3B0aW9uc1xuICAgICAgKVxuICAgICAgaWYgKHBsYWNlaG9sZGVyUmVwbGFjZW1lbnQpIHJldHVybiBwbGFjZWhvbGRlclJlcGxhY2VtZW50XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBT0EsNkJBQVAsTUFBMEMsZUFBMUM7O0FBRUEsZUFBZSxTQUFTQywrQkFBVDtBQUNiQyxJQURhO0FBRWJDLGNBRmE7QUFHZTtFQUM1QixNQUFNQyxPQUFPLEdBQUdGLElBQUksQ0FBQ0csS0FBckI7RUFDQSxNQUFNQyxDQUFDLEdBQUdILGNBQWMsQ0FBQ0ksT0FBZixDQUF1QkMsQ0FBdkIsQ0FBeUJDLFVBQW5DO0VBQ0EsSUFBSUgsQ0FBQyxDQUFDSSxVQUFGLENBQWFDLEtBQWIsQ0FBbUJQLE9BQU8sQ0FBQ1EsR0FBM0IsQ0FBSixFQUFxQztJQUNuQztJQUNFLENBQUNSLE9BQU8sQ0FBQ1MsUUFBVDtJQUNBLENBQUNULE9BQU8sQ0FBQ1UsTUFEVDtJQUVBVixPQUFPLENBQUNXLFFBQVIsSUFBb0IsSUFGcEI7SUFHQVgsT0FBTyxDQUFDQyxLQUFSLElBQWlCLElBSGpCO0lBSUNELE9BQU8sQ0FBQ1ksY0FBUixJQUEwQixJQUExQjtJQUNFVixDQUFDLENBQUNXLGNBQUYsQ0FBaUJOLEtBQWpCLENBQXVCUCxPQUFPLENBQUNZLGNBQS9CO0lBQ0NWLENBQUMsQ0FBQ1kscUJBQUYsQ0FBd0JQLEtBQXhCO0lBQ0VQLE9BQU8sQ0FBQ1ksY0FEViwwREFDRSxzQkFBd0JBLGNBRDFCLENBREQ7O0lBSUNWLENBQUMsQ0FBQ0ksVUFBRixDQUFhQyxLQUFiLENBQW1CUCxPQUFPLENBQUNZLGNBQVIsQ0FBdUJBLGNBQXZCLENBQXNDRyxFQUF6RCxDQUpEO0lBS0NmLE9BQU8sQ0FBQ1ksY0FBUixDQUF1QkEsY0FBdkIsQ0FBc0NHLEVBQXRDLENBQXlDQyxJQUF6QyxLQUFrRCxHQU5yRDtJQU9FZCxDQUFDLENBQUNlLGdCQUFGLENBQW1CVixLQUFuQixDQUF5QlAsT0FBTyxDQUFDWSxjQUFqQztJQUNDVixDQUFDLENBQUNnQixlQUFGLENBQWtCWCxLQUFsQiwyQkFBd0JQLE9BQU8sQ0FBQ1ksY0FBaEMsMkRBQXdCLHVCQUF3QkEsY0FBaEQsQ0FERDtJQUVDVixDQUFDLENBQUNJLFVBQUYsQ0FBYUMsS0FBYixDQUFtQlAsT0FBTyxDQUFDWSxjQUFSLENBQXVCQSxjQUF2QixDQUFzQ08sUUFBekQsQ0FGRDtJQUdDbkIsT0FBTyxDQUFDWSxjQUFSLENBQXVCQSxjQUF2QixDQUFzQ08sUUFBdEMsQ0FBK0NILElBQS9DLEtBQXdELEdBZDVELENBREY7SUFnQkU7TUFDQSxNQUFNSSxzQkFBc0IsR0FBR3hCLDZCQUE2QjtNQUMxREUsSUFEMEQ7TUFFMURFLE9BQU8sQ0FBQ1EsR0FBUixDQUFZUSxJQUY4QztNQUcxRGpCLGNBSDBELENBQTVEOztNQUtBLElBQUlxQixzQkFBSixFQUE0QixPQUFPQSxzQkFBUDtJQUM3QjtFQUNGO0FBQ0YifQ==