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 compileExportSpecifierMatcher(path, compileOptions) { const n = compileOptions.backend.t.namedTypes const pattern = path.value const { exportKind } = pattern const { exported, local } = pattern if ( n.Identifier.check(exported) && (!local || local.name === exported.name) ) { if (exportKind == null || exportKind === 'value') { const placeholderMatcher = compilePlaceholderMatcher( path, exported.name, compileOptions, { nodeType: [ 'ExportSpecifier', 'ExportDefaultSpecifier', 'ExportNamespaceSpecifier', ], } ) if (placeholderMatcher) return placeholderMatcher } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlUGxhY2Vob2xkZXJNYXRjaGVyIiwiY29tcGlsZUV4cG9ydFNwZWNpZmllck1hdGNoZXIiLCJwYXRoIiwiY29tcGlsZU9wdGlvbnMiLCJuIiwiYmFja2VuZCIsInQiLCJuYW1lZFR5cGVzIiwicGF0dGVybiIsInZhbHVlIiwiZXhwb3J0S2luZCIsImV4cG9ydGVkIiwibG9jYWwiLCJJZGVudGlmaWVyIiwiY2hlY2siLCJuYW1lIiwicGxhY2Vob2xkZXJNYXRjaGVyIiwibm9kZVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcGlsZU1hdGNoZXIvRXhwb3J0U3BlY2lmaWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydFNwZWNpZmllciwgTm9kZVBhdGggfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IENvbXBpbGVkTWF0Y2hlciwgQ29tcGlsZU9wdGlvbnMgfSBmcm9tICcuJ1xuaW1wb3J0IGNvbXBpbGVQbGFjZWhvbGRlck1hdGNoZXIgZnJvbSAnLi9QbGFjZWhvbGRlcidcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcGlsZUV4cG9ydFNwZWNpZmllck1hdGNoZXIoXG4gIHBhdGg6IE5vZGVQYXRoPEV4cG9ydFNwZWNpZmllciwgRXhwb3J0U3BlY2lmaWVyPixcbiAgY29tcGlsZU9wdGlvbnM6IENvbXBpbGVPcHRpb25zXG4pOiBDb21waWxlZE1hdGNoZXIgfCB2b2lkIHtcbiAgY29uc3QgbiA9IGNvbXBpbGVPcHRpb25zLmJhY2tlbmQudC5uYW1lZFR5cGVzXG4gIGNvbnN0IHBhdHRlcm46IEV4cG9ydFNwZWNpZmllciA9IHBhdGgudmFsdWVcblxuICBjb25zdCB7IGV4cG9ydEtpbmQgfSA9IHBhdHRlcm4gYXMgYW55XG4gIGNvbnN0IHsgZXhwb3J0ZWQsIGxvY2FsIH0gPSBwYXR0ZXJuXG4gIGlmIChcbiAgICBuLklkZW50aWZpZXIuY2hlY2soZXhwb3J0ZWQpICYmXG4gICAgKCFsb2NhbCB8fCBsb2NhbC5uYW1lID09PSBleHBvcnRlZC5uYW1lKVxuICApIHtcbiAgICBpZiAoZXhwb3J0S2luZCA9PSBudWxsIHx8IGV4cG9ydEtpbmQgPT09ICd2YWx1ZScpIHtcbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTWF0Y2hlciA9IGNvbXBpbGVQbGFjZWhvbGRlck1hdGNoZXIoXG4gICAgICAgIHBhdGgsXG4gICAgICAgIGV4cG9ydGVkLm5hbWUsXG4gICAgICAgIGNvbXBpbGVPcHRpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgbm9kZVR5cGU6IFtcbiAgICAgICAgICAgICdFeHBvcnRTcGVjaWZpZXInLFxuICAgICAgICAgICAgJ0V4cG9ydERlZmF1bHRTcGVjaWZpZXInLFxuICAgICAgICAgICAgJ0V4cG9ydE5hbWVzcGFjZVNwZWNpZmllcicsXG4gICAgICAgICAgXSxcbiAgICAgICAgfVxuICAgICAgKVxuXG4gICAgICBpZiAocGxhY2Vob2xkZXJNYXRjaGVyKSByZXR1cm4gcGxhY2Vob2xkZXJNYXRjaGVyXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBT0EseUJBQVAsTUFBc0MsZUFBdEM7O0FBRUEsZUFBZSxTQUFTQyw2QkFBVDtBQUNiQyxJQURhO0FBRWJDLGNBRmE7QUFHVztFQUN4QixNQUFNQyxDQUFDLEdBQUdELGNBQWMsQ0FBQ0UsT0FBZixDQUF1QkMsQ0FBdkIsQ0FBeUJDLFVBQW5DO0VBQ0EsTUFBTUMsT0FBd0IsR0FBR04sSUFBSSxDQUFDTyxLQUF0Qzs7RUFFQSxNQUFNLEVBQUVDLFVBQUYsS0FBaUJGLE9BQXZCO0VBQ0EsTUFBTSxFQUFFRyxRQUFGLEVBQVlDLEtBQVosS0FBc0JKLE9BQTVCO0VBQ0E7RUFDRUosQ0FBQyxDQUFDUyxVQUFGLENBQWFDLEtBQWIsQ0FBbUJILFFBQW5CO0VBQ0MsQ0FBQ0MsS0FBRCxJQUFVQSxLQUFLLENBQUNHLElBQU4sS0FBZUosUUFBUSxDQUFDSSxJQURuQyxDQURGO0VBR0U7SUFDQSxJQUFJTCxVQUFVLElBQUksSUFBZCxJQUFzQkEsVUFBVSxLQUFLLE9BQXpDLEVBQWtEO01BQ2hELE1BQU1NLGtCQUFrQixHQUFHaEIseUJBQXlCO01BQ2xERSxJQURrRDtNQUVsRFMsUUFBUSxDQUFDSSxJQUZ5QztNQUdsRFosY0FIa0Q7TUFJbEQ7UUFDRWMsUUFBUSxFQUFFO1FBQ1IsaUJBRFE7UUFFUix3QkFGUTtRQUdSLDBCQUhRLENBRFosRUFKa0QsQ0FBcEQ7Ozs7O01BYUEsSUFBSUQsa0JBQUosRUFBd0IsT0FBT0Esa0JBQVA7SUFDekI7RUFDRjtBQUNGIn0=