diff --git a/src/index.ts b/src/index.ts index 5a7a53a..71b068c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,57 +1,3 @@ -// import { isNodeSimple } from './utils'; -import {FiberNode} from './mocked-types'; +import traverse from "./traverse"; -function traverse(node: FiberNode, fn: (node: FiberNode) => any) { - // if (node.child) { - // if (!isNodeSimple(node) && typeof node.child.type === "string") { - // node.child.stateNode.addEventListener('click', (ev) => { - // console.log('Clicked inside component: ' + node.type.name); - // ev.stopPropagation(); - // }); - // /* console.log('Set event listener for '+ node.type.name) */; - // } - // } - - fn.call(null, node); - - if (node.child !== null) { - traverse(node.child, fn); - } - if (node.sibling !== null) { - traverse(node.sibling, fn); - } -}; - - -// findComponent = (node, name) => { -// console.log(node) -// if (!isNodeSimple(node) && node.type.name === name) { -// console.log('Found node with name ' + node.type.name); - -// /* if (node.child) { -// let innerNode = node.child; -// console.log('Highlighting its inner nodes in yellow'); - -// highlightNode(node, true); - -// } */ -// return node; -// } - -// let returnVal = undefined; -// returnVal = node.child && findComponent(node.child, name); -// if (returnVal) { return returnVal } -// returnVal = node.sibling && findComponent(node.sibling, name); -// if (returnVal) { return returnVal } -// }; - -// highlightNode = (node, ignoreSibling = false) => { -// if (isNodeSimple(node)) { -// node.stateNode.style.backgroundColor = "yellow"; -// } else { -// node.child && highlightNode(node.child); -// } -// !ignoreSibling && node.sibling && highlightNode(node.sibling); -// } - -export { traverse }; \ No newline at end of file +export { traverse }; diff --git a/src/traverse.ts b/src/traverse.ts new file mode 100644 index 0000000..976f70f --- /dev/null +++ b/src/traverse.ts @@ -0,0 +1,15 @@ +// import { isNodeSimple } from './utils'; +import {FiberNode} from './mocked-types'; + +function traverse(node: FiberNode, fn: (node: FiberNode) => any) { + fn.call(null, node); + + if (node.child !== null) { + traverse(node.child, fn); + } + if (node.sibling !== null) { + traverse(node.sibling, fn); + } +}; + +export default traverse; \ No newline at end of file