astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
20 lines (18 loc) • 2.74 kB
JavaScript
import compilePlaceholderMatcher from './Placeholder.mjs'
export default function compileClassImplementsMatcher(path, compileOptions) {
const pattern = path.value
const n = compileOptions.backend.t.namedTypes
if (n.Identifier.check(pattern.id)) {
if (pattern.typeParameters == null) {
const placeholderMatcher = compilePlaceholderMatcher(
path,
pattern.id.name,
compileOptions,
{
nodeType: 'ClassImplements',
}
)
if (placeholderMatcher) return placeholderMatcher
}
}
} //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlUGxhY2Vob2xkZXJNYXRjaGVyIiwiY29tcGlsZUNsYXNzSW1wbGVtZW50c01hdGNoZXIiLCJwYXRoIiwiY29tcGlsZU9wdGlvbnMiLCJwYXR0ZXJuIiwidmFsdWUiLCJuIiwiYmFja2VuZCIsInQiLCJuYW1lZFR5cGVzIiwiSWRlbnRpZmllciIsImNoZWNrIiwiaWQiLCJ0eXBlUGFyYW1ldGVycyIsInBsYWNlaG9sZGVyTWF0Y2hlciIsIm5hbWUiLCJub2RlVHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21waWxlTWF0Y2hlci9DbGFzc0ltcGxlbWVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZVBhdGgsIENsYXNzSW1wbGVtZW50cyB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgQ29tcGlsZWRNYXRjaGVyLCBDb21waWxlT3B0aW9ucyB9IGZyb20gJy4nXG5pbXBvcnQgY29tcGlsZVBsYWNlaG9sZGVyTWF0Y2hlciBmcm9tICcuL1BsYWNlaG9sZGVyJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb21waWxlQ2xhc3NJbXBsZW1lbnRzTWF0Y2hlcihcbiAgcGF0aDogTm9kZVBhdGg8Q2xhc3NJbXBsZW1lbnRzLCBDbGFzc0ltcGxlbWVudHM+LFxuICBjb21waWxlT3B0aW9uczogQ29tcGlsZU9wdGlvbnNcbik6IENvbXBpbGVkTWF0Y2hlciB8IHZvaWQge1xuICBjb25zdCBwYXR0ZXJuOiBDbGFzc0ltcGxlbWVudHMgPSBwYXRoLnZhbHVlXG4gIGNvbnN0IG4gPSBjb21waWxlT3B0aW9ucy5iYWNrZW5kLnQubmFtZWRUeXBlc1xuXG4gIGlmIChuLklkZW50aWZpZXIuY2hlY2socGF0dGVybi5pZCkpIHtcbiAgICBpZiAocGF0dGVybi50eXBlUGFyYW1ldGVycyA9PSBudWxsKSB7XG4gICAgICBjb25zdCBwbGFjZWhvbGRlck1hdGNoZXIgPSBjb21waWxlUGxhY2Vob2xkZXJNYXRjaGVyKFxuICAgICAgICBwYXRoLFxuICAgICAgICBwYXR0ZXJuLmlkLm5hbWUsXG4gICAgICAgIGNvbXBpbGVPcHRpb25zLFxuICAgICAgICB7IG5vZGVUeXBlOiAnQ2xhc3NJbXBsZW1lbnRzJyB9XG4gICAgICApXG5cbiAgICAgIGlmIChwbGFjZWhvbGRlck1hdGNoZXIpIHJldHVybiBwbGFjZWhvbGRlck1hdGNoZXJcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPQSx5QkFBUCxNQUFzQyxlQUF0Qzs7QUFFQSxlQUFlLFNBQVNDLDZCQUFUO0FBQ2JDLElBRGE7QUFFYkMsY0FGYTtBQUdXO0VBQ3hCLE1BQU1DLE9BQXdCLEdBQUdGLElBQUksQ0FBQ0csS0FBdEM7RUFDQSxNQUFNQyxDQUFDLEdBQUdILGNBQWMsQ0FBQ0ksT0FBZixDQUF1QkMsQ0FBdkIsQ0FBeUJDLFVBQW5DOztFQUVBLElBQUlILENBQUMsQ0FBQ0ksVUFBRixDQUFhQyxLQUFiLENBQW1CUCxPQUFPLENBQUNRLEVBQTNCLENBQUosRUFBb0M7SUFDbEMsSUFBSVIsT0FBTyxDQUFDUyxjQUFSLElBQTBCLElBQTlCLEVBQW9DO01BQ2xDLE1BQU1DLGtCQUFrQixHQUFHZCx5QkFBeUI7TUFDbERFLElBRGtEO01BRWxERSxPQUFPLENBQUNRLEVBQVIsQ0FBV0csSUFGdUM7TUFHbERaLGNBSGtEO01BSWxELEVBQUVhLFFBQVEsRUFBRSxpQkFBWixFQUprRCxDQUFwRDs7O01BT0EsSUFBSUYsa0JBQUosRUFBd0IsT0FBT0Esa0JBQVA7SUFDekI7RUFDRjtBQUNGIn0=