astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
24 lines (22 loc) • 3.1 kB
JavaScript
import compilePlaceholderReplacement from './Placeholder.mjs'
export default function compileExportSpecifierReplacement(
path,
compileOptions
) {
const n = compileOptions.backend.t.namedTypes
const pattern = path.value
const { exportKind, exported, local } = pattern
if (
n.Identifier.check(exported) &&
(!local || local.name === exported.name)
) {
if (exportKind == null || exportKind === 'value') {
const placeholderReplacement = compilePlaceholderReplacement(
path,
exported.name,
compileOptions
)
if (placeholderReplacement) return placeholderReplacement
}
}
} //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlUGxhY2Vob2xkZXJSZXBsYWNlbWVudCIsImNvbXBpbGVFeHBvcnRTcGVjaWZpZXJSZXBsYWNlbWVudCIsInBhdGgiLCJjb21waWxlT3B0aW9ucyIsIm4iLCJiYWNrZW5kIiwidCIsIm5hbWVkVHlwZXMiLCJwYXR0ZXJuIiwidmFsdWUiLCJleHBvcnRLaW5kIiwiZXhwb3J0ZWQiLCJsb2NhbCIsIklkZW50aWZpZXIiLCJjaGVjayIsIm5hbWUiLCJwbGFjZWhvbGRlclJlcGxhY2VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBpbGVSZXBsYWNlbWVudC9FeHBvcnRTcGVjaWZpZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0U3BlY2lmaWVyLCBOb2RlUGF0aCB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgQ29tcGlsZWRSZXBsYWNlbWVudCwgQ29tcGlsZVJlcGxhY2VtZW50T3B0aW9ucyB9IGZyb20gJy4nXG5pbXBvcnQgY29tcGlsZVBsYWNlaG9sZGVyUmVwbGFjZW1lbnQgZnJvbSAnLi9QbGFjZWhvbGRlcidcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcGlsZUV4cG9ydFNwZWNpZmllclJlcGxhY2VtZW50KFxuICBwYXRoOiBOb2RlUGF0aDxFeHBvcnRTcGVjaWZpZXIsIEV4cG9ydFNwZWNpZmllcj4sXG4gIGNvbXBpbGVPcHRpb25zOiBDb21waWxlUmVwbGFjZW1lbnRPcHRpb25zXG4pOiBDb21waWxlZFJlcGxhY2VtZW50IHwgdm9pZCB7XG4gIGNvbnN0IG4gPSBjb21waWxlT3B0aW9ucy5iYWNrZW5kLnQubmFtZWRUeXBlc1xuICBjb25zdCBwYXR0ZXJuID0gcGF0aC52YWx1ZVxuICBjb25zdCB7IGV4cG9ydEtpbmQsIGV4cG9ydGVkLCBsb2NhbCB9ID0gcGF0dGVybiBhcyBhbnlcbiAgaWYgKFxuICAgIG4uSWRlbnRpZmllci5jaGVjayhleHBvcnRlZCkgJiZcbiAgICAoIWxvY2FsIHx8IGxvY2FsLm5hbWUgPT09IGV4cG9ydGVkLm5hbWUpXG4gICkge1xuICAgIGlmIChleHBvcnRLaW5kID09IG51bGwgfHwgZXhwb3J0S2luZCA9PT0gJ3ZhbHVlJykge1xuICAgICAgY29uc3QgcGxhY2Vob2xkZXJSZXBsYWNlbWVudCA9IGNvbXBpbGVQbGFjZWhvbGRlclJlcGxhY2VtZW50KFxuICAgICAgICBwYXRoLFxuICAgICAgICBleHBvcnRlZC5uYW1lLFxuICAgICAgICBjb21waWxlT3B0aW9uc1xuICAgICAgKVxuICAgICAgaWYgKHBsYWNlaG9sZGVyUmVwbGFjZW1lbnQpIHJldHVybiBwbGFjZWhvbGRlclJlcGxhY2VtZW50XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBT0EsNkJBQVAsTUFBMEMsZUFBMUM7O0FBRUEsZUFBZSxTQUFTQyxpQ0FBVDtBQUNiQyxJQURhO0FBRWJDLGNBRmE7QUFHZTtFQUM1QixNQUFNQyxDQUFDLEdBQUdELGNBQWMsQ0FBQ0UsT0FBZixDQUF1QkMsQ0FBdkIsQ0FBeUJDLFVBQW5DO0VBQ0EsTUFBTUMsT0FBTyxHQUFHTixJQUFJLENBQUNPLEtBQXJCO0VBQ0EsTUFBTSxFQUFFQyxVQUFGLEVBQWNDLFFBQWQsRUFBd0JDLEtBQXhCLEtBQWtDSixPQUF4QztFQUNBO0VBQ0VKLENBQUMsQ0FBQ1MsVUFBRixDQUFhQyxLQUFiLENBQW1CSCxRQUFuQjtFQUNDLENBQUNDLEtBQUQsSUFBVUEsS0FBSyxDQUFDRyxJQUFOLEtBQWVKLFFBQVEsQ0FBQ0ksSUFEbkMsQ0FERjtFQUdFO0lBQ0EsSUFBSUwsVUFBVSxJQUFJLElBQWQsSUFBc0JBLFVBQVUsS0FBSyxPQUF6QyxFQUFrRDtNQUNoRCxNQUFNTSxzQkFBc0IsR0FBR2hCLDZCQUE2QjtNQUMxREUsSUFEMEQ7TUFFMURTLFFBQVEsQ0FBQ0ksSUFGaUQ7TUFHMURaLGNBSDBELENBQTVEOztNQUtBLElBQUlhLHNCQUFKLEVBQTRCLE9BQU9BLHNCQUFQO0lBQzdCO0VBQ0Y7QUFDRiJ9