in transforms/React-DOM-to-react-dom-factories.js [145:172]
function replaceReactDOMReferences(j, root) {
let hasModifications = false;
// matches 'React.DOM'
const isReactDOMIdentifier = path =>
path.node.name === DOMModuleName &&
(path.parent.node.type === 'MemberExpression' &&
path.parent.node.object.name === 'React');
root
.find(j.Identifier)
.filter(isReactDOMIdentifier)
.forEach(path => {
hasModifications = true;
const DOMargs = path.parent.parent.parent.node.arguments;
const DOMFactoryPath = path.parent.parent.node.property;
const DOMFactoryType = DOMFactoryPath.name;
// React.DOM.div(... -> React.DOM.createElement(...
path.parent.parent.node.property = j.identifier('createElement');
// React.DOM.createElement(... -> React.createElement(...
j(path.parent).replaceWith(j.identifier('React'));
// React.createElement(... -> React.createElement('div'...
DOMargs.unshift(j.literal(DOMFactoryType));
});
return hasModifications;
}