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