UNPKG

astx

Version:

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

37 lines (34 loc) 4.15 kB
import compilePlaceholderMatcher from './Placeholder.mjs' export default function compileTSPropertySignatureMatcher( path, compileOptions ) { const pattern = path.value const n = compileOptions.backend.t.namedTypes if (n.Identifier.check(pattern.key)) { var _pattern$typeAnnotati if ( !pattern.optional && !pattern.computed && (pattern.typeAnnotation == null || (n.TSTypeReference.check( (_pattern$typeAnnotati = pattern.typeAnnotation) === null || _pattern$typeAnnotati === void 0 ? void 0 : _pattern$typeAnnotati.typeAnnotation ) && n.Identifier.check(pattern.typeAnnotation.typeAnnotation.typeName) && pattern.typeAnnotation.typeAnnotation.typeName.name === '$')) ) { const placeholderMatcher = compilePlaceholderMatcher( path, pattern.key.name, compileOptions, { nodeType: 'TSTypeElement', } ) if (placeholderMatcher) return placeholderMatcher } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlUGxhY2Vob2xkZXJNYXRjaGVyIiwiY29tcGlsZVRTUHJvcGVydHlTaWduYXR1cmVNYXRjaGVyIiwicGF0aCIsImNvbXBpbGVPcHRpb25zIiwicGF0dGVybiIsInZhbHVlIiwibiIsImJhY2tlbmQiLCJ0IiwibmFtZWRUeXBlcyIsIklkZW50aWZpZXIiLCJjaGVjayIsImtleSIsIm9wdGlvbmFsIiwiY29tcHV0ZWQiLCJ0eXBlQW5ub3RhdGlvbiIsIlRTVHlwZVJlZmVyZW5jZSIsInR5cGVOYW1lIiwibmFtZSIsInBsYWNlaG9sZGVyTWF0Y2hlciIsIm5vZGVUeXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBpbGVNYXRjaGVyL1RTUHJvcGVydHlTaWduYXR1cmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVFNQcm9wZXJ0eVNpZ25hdHVyZSwgTm9kZVBhdGggfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IENvbXBpbGVkTWF0Y2hlciwgQ29tcGlsZU9wdGlvbnMgfSBmcm9tICcuJ1xuaW1wb3J0IGNvbXBpbGVQbGFjZWhvbGRlck1hdGNoZXIgZnJvbSAnLi9QbGFjZWhvbGRlcidcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcGlsZVRTUHJvcGVydHlTaWduYXR1cmVNYXRjaGVyKFxuICBwYXRoOiBOb2RlUGF0aDxUU1Byb3BlcnR5U2lnbmF0dXJlLCBUU1Byb3BlcnR5U2lnbmF0dXJlPixcbiAgY29tcGlsZU9wdGlvbnM6IENvbXBpbGVPcHRpb25zXG4pOiBDb21waWxlZE1hdGNoZXIgfCB2b2lkIHtcbiAgY29uc3QgcGF0dGVybjogVFNQcm9wZXJ0eVNpZ25hdHVyZSA9IHBhdGgudmFsdWVcbiAgY29uc3QgbiA9IGNvbXBpbGVPcHRpb25zLmJhY2tlbmQudC5uYW1lZFR5cGVzXG5cbiAgaWYgKG4uSWRlbnRpZmllci5jaGVjayhwYXR0ZXJuLmtleSkpIHtcbiAgICBpZiAoXG4gICAgICAhcGF0dGVybi5vcHRpb25hbCAmJlxuICAgICAgIXBhdHRlcm4uY29tcHV0ZWQgJiZcbiAgICAgIChwYXR0ZXJuLnR5cGVBbm5vdGF0aW9uID09IG51bGwgfHxcbiAgICAgICAgKG4uVFNUeXBlUmVmZXJlbmNlLmNoZWNrKHBhdHRlcm4udHlwZUFubm90YXRpb24/LnR5cGVBbm5vdGF0aW9uKSAmJlxuICAgICAgICAgIG4uSWRlbnRpZmllci5jaGVjayhwYXR0ZXJuLnR5cGVBbm5vdGF0aW9uLnR5cGVBbm5vdGF0aW9uLnR5cGVOYW1lKSAmJlxuICAgICAgICAgIHBhdHRlcm4udHlwZUFubm90YXRpb24udHlwZUFubm90YXRpb24udHlwZU5hbWUubmFtZSA9PT0gJyQnKSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTWF0Y2hlciA9IGNvbXBpbGVQbGFjZWhvbGRlck1hdGNoZXIoXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHBhdHRlcm4ua2V5Lm5hbWUsXG4gICAgICAgIGNvbXBpbGVPcHRpb25zLFxuICAgICAgICB7IG5vZGVUeXBlOiAnVFNUeXBlRWxlbWVudCcgfVxuICAgICAgKVxuXG4gICAgICBpZiAocGxhY2Vob2xkZXJNYXRjaGVyKSByZXR1cm4gcGxhY2Vob2xkZXJNYXRjaGVyXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBT0EseUJBQVAsTUFBc0MsZUFBdEM7O0FBRUEsZUFBZSxTQUFTQyxpQ0FBVDtBQUNiQyxJQURhO0FBRWJDLGNBRmE7QUFHVztFQUN4QixNQUFNQyxPQUE0QixHQUFHRixJQUFJLENBQUNHLEtBQTFDO0VBQ0EsTUFBTUMsQ0FBQyxHQUFHSCxjQUFjLENBQUNJLE9BQWYsQ0FBdUJDLENBQXZCLENBQXlCQyxVQUFuQzs7RUFFQSxJQUFJSCxDQUFDLENBQUNJLFVBQUYsQ0FBYUMsS0FBYixDQUFtQlAsT0FBTyxDQUFDUSxHQUEzQixDQUFKLEVBQXFDO0lBQ25DO0lBQ0UsQ0FBQ1IsT0FBTyxDQUFDUyxRQUFUO0lBQ0EsQ0FBQ1QsT0FBTyxDQUFDVSxRQURUO0lBRUNWLE9BQU8sQ0FBQ1csY0FBUixJQUEwQixJQUExQjtJQUNFVCxDQUFDLENBQUNVLGVBQUYsQ0FBa0JMLEtBQWxCLDBCQUF3QlAsT0FBTyxDQUFDVyxjQUFoQywwREFBd0Isc0JBQXdCQSxjQUFoRDtJQUNDVCxDQUFDLENBQUNJLFVBQUYsQ0FBYUMsS0FBYixDQUFtQlAsT0FBTyxDQUFDVyxjQUFSLENBQXVCQSxjQUF2QixDQUFzQ0UsUUFBekQsQ0FERDtJQUVDYixPQUFPLENBQUNXLGNBQVIsQ0FBdUJBLGNBQXZCLENBQXNDRSxRQUF0QyxDQUErQ0MsSUFBL0MsS0FBd0QsR0FMNUQsQ0FERjtJQU9FO01BQ0EsTUFBTUMsa0JBQWtCLEdBQUduQix5QkFBeUI7TUFDbERFLElBRGtEO01BRWxERSxPQUFPLENBQUNRLEdBQVIsQ0FBWU0sSUFGc0M7TUFHbERmLGNBSGtEO01BSWxELEVBQUVpQixRQUFRLEVBQUUsZUFBWixFQUprRCxDQUFwRDs7O01BT0EsSUFBSUQsa0JBQUosRUFBd0IsT0FBT0Esa0JBQVA7SUFDekI7RUFDRjtBQUNGIn0=