UNPKG

astx

Version:

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

29 lines (27 loc) 3.58 kB
import compilePlaceholderMatcher from './Placeholder.mjs' export default function compileImportSpecifierMatcher(path, compileOptions) { const n = compileOptions.backend.t.namedTypes const pattern = path.value const { importKind } = pattern const { imported, local } = pattern if ( n.Identifier.check(imported) && (!local || local.name === imported.name) ) { if (importKind == null || importKind === 'value') { const placeholderMatcher = compilePlaceholderMatcher( path, imported.name, compileOptions, { nodeType: [ 'ImportSpecifier', 'ImportDefaultSpecifier', 'ImportNamespaceSpecifier', ], } ) if (placeholderMatcher) return placeholderMatcher } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlUGxhY2Vob2xkZXJNYXRjaGVyIiwiY29tcGlsZUltcG9ydFNwZWNpZmllck1hdGNoZXIiLCJwYXRoIiwiY29tcGlsZU9wdGlvbnMiLCJuIiwiYmFja2VuZCIsInQiLCJuYW1lZFR5cGVzIiwicGF0dGVybiIsInZhbHVlIiwiaW1wb3J0S2luZCIsImltcG9ydGVkIiwibG9jYWwiLCJJZGVudGlmaWVyIiwiY2hlY2siLCJuYW1lIiwicGxhY2Vob2xkZXJNYXRjaGVyIiwibm9kZVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcGlsZU1hdGNoZXIvSW1wb3J0U3BlY2lmaWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEltcG9ydFNwZWNpZmllciwgTm9kZVBhdGggfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IENvbXBpbGVkTWF0Y2hlciwgQ29tcGlsZU9wdGlvbnMgfSBmcm9tICcuJ1xuaW1wb3J0IGNvbXBpbGVQbGFjZWhvbGRlck1hdGNoZXIgZnJvbSAnLi9QbGFjZWhvbGRlcidcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcGlsZUltcG9ydFNwZWNpZmllck1hdGNoZXIoXG4gIHBhdGg6IE5vZGVQYXRoPEltcG9ydFNwZWNpZmllciwgSW1wb3J0U3BlY2lmaWVyPixcbiAgY29tcGlsZU9wdGlvbnM6IENvbXBpbGVPcHRpb25zXG4pOiBDb21waWxlZE1hdGNoZXIgfCB2b2lkIHtcbiAgY29uc3QgbiA9IGNvbXBpbGVPcHRpb25zLmJhY2tlbmQudC5uYW1lZFR5cGVzXG4gIGNvbnN0IHBhdHRlcm46IEltcG9ydFNwZWNpZmllciA9IHBhdGgudmFsdWVcblxuICBjb25zdCB7IGltcG9ydEtpbmQgfSA9IHBhdHRlcm4gYXMgYW55XG4gIGNvbnN0IHsgaW1wb3J0ZWQsIGxvY2FsIH0gPSBwYXR0ZXJuXG4gIGlmIChcbiAgICBuLklkZW50aWZpZXIuY2hlY2soaW1wb3J0ZWQpICYmXG4gICAgKCFsb2NhbCB8fCBsb2NhbC5uYW1lID09PSBpbXBvcnRlZC5uYW1lKVxuICApIHtcbiAgICBpZiAoaW1wb3J0S2luZCA9PSBudWxsIHx8IGltcG9ydEtpbmQgPT09ICd2YWx1ZScpIHtcbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTWF0Y2hlciA9IGNvbXBpbGVQbGFjZWhvbGRlck1hdGNoZXIoXG4gICAgICAgIHBhdGgsXG4gICAgICAgIGltcG9ydGVkLm5hbWUsXG4gICAgICAgIGNvbXBpbGVPcHRpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgbm9kZVR5cGU6IFtcbiAgICAgICAgICAgICdJbXBvcnRTcGVjaWZpZXInLFxuICAgICAgICAgICAgJ0ltcG9ydERlZmF1bHRTcGVjaWZpZXInLFxuICAgICAgICAgICAgJ0ltcG9ydE5hbWVzcGFjZVNwZWNpZmllcicsXG4gICAgICAgICAgXSxcbiAgICAgICAgfVxuICAgICAgKVxuXG4gICAgICBpZiAocGxhY2Vob2xkZXJNYXRjaGVyKSByZXR1cm4gcGxhY2Vob2xkZXJNYXRjaGVyXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBT0EseUJBQVAsTUFBc0MsZUFBdEM7O0FBRUEsZUFBZSxTQUFTQyw2QkFBVDtBQUNiQyxJQURhO0FBRWJDLGNBRmE7QUFHVztFQUN4QixNQUFNQyxDQUFDLEdBQUdELGNBQWMsQ0FBQ0UsT0FBZixDQUF1QkMsQ0FBdkIsQ0FBeUJDLFVBQW5DO0VBQ0EsTUFBTUMsT0FBd0IsR0FBR04sSUFBSSxDQUFDTyxLQUF0Qzs7RUFFQSxNQUFNLEVBQUVDLFVBQUYsS0FBaUJGLE9BQXZCO0VBQ0EsTUFBTSxFQUFFRyxRQUFGLEVBQVlDLEtBQVosS0FBc0JKLE9BQTVCO0VBQ0E7RUFDRUosQ0FBQyxDQUFDUyxVQUFGLENBQWFDLEtBQWIsQ0FBbUJILFFBQW5CO0VBQ0MsQ0FBQ0MsS0FBRCxJQUFVQSxLQUFLLENBQUNHLElBQU4sS0FBZUosUUFBUSxDQUFDSSxJQURuQyxDQURGO0VBR0U7SUFDQSxJQUFJTCxVQUFVLElBQUksSUFBZCxJQUFzQkEsVUFBVSxLQUFLLE9BQXpDLEVBQWtEO01BQ2hELE1BQU1NLGtCQUFrQixHQUFHaEIseUJBQXlCO01BQ2xERSxJQURrRDtNQUVsRFMsUUFBUSxDQUFDSSxJQUZ5QztNQUdsRFosY0FIa0Q7TUFJbEQ7UUFDRWMsUUFBUSxFQUFFO1FBQ1IsaUJBRFE7UUFFUix3QkFGUTtRQUdSLDBCQUhRLENBRFosRUFKa0QsQ0FBcEQ7Ozs7O01BYUEsSUFBSUQsa0JBQUosRUFBd0IsT0FBT0Esa0JBQVA7SUFDekI7RUFDRjtBQUNGIn0=