/
githubmirror
/
material-ui
Обзор
Документация
Войти
/
githubmirror
/
material-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
packages/mui-codemod/src/util/renameClassKey.js
20 строк
824 B
Marija Najdova
[codemod] Fix various reported issues on `preset-safe` (#28183)
06 сен 2021, 22:52
Не верифицирован
06 сен 2021, 22:52
f588d8f
Код
Авторство
О чём код?
export default function renameClassKey({ root, componentName, classes, printOptions }) { const source = root .findJSXElements(componentName) .forEach((path) => { path.node.openingElement.attributes.forEach((node) => { if (node.type === 'JSXAttribute' && node.name.name === 'classes') { node.value?.expression?.properties?.forEach((subNode) => { if (Object.keys(classes).includes(subNode.key.name)) { subNode.key.name = classes[subNode.key.name]; } }); } }); }) .toSource(printOptions); return Object.entries(classes).reduce((result, [currentKey, newKey]) => { const regex = new RegExp(`.Mui${componentName}-${currentKey}`, 'gm'); return result.replace(regex, `.Mui${componentName}-${newKey}`); }, source); }