diff --git a/src/traverse.ts b/src/traverse.ts index 13b52ed..849d971 100644 --- a/src/traverse.ts +++ b/src/traverse.ts @@ -1,31 +1,6 @@ // import { isNodeSimple } from './utils'; import { FiberNode } from "./mocked-types"; -/** - * Traverse nodes recursively in depth-first manner, starting from a start node. - * - * This is the default and basic traversal function, which covers basic use cases. - * You can't do advanced things like change the order of traversal, skip or cancel traversal after any node, etc. - * For more advanced usecases, see {@link traverseGenerator} - * - * @example - * ```js - * // calls fn for each node inside startNode - * traverse(startNode, fn); - * ``` - * - */ -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); - } -} - /** * Traverse nodes recursively using generators. * @@ -135,4 +110,29 @@ function* traverseGenerator( } } +/** + * Traverse nodes recursively in depth-first manner, starting from a start node. + * + * This is the default and basic traversal function, which covers basic use cases. + * You can't do advanced things like change the order of traversal, skip or cancel traversal after any node, etc. + * For more advanced usecases, see {@link traverseGenerator} + * + * @example + * ```js + * // calls fn for each node inside startNode + * traverse(startNode, fn); + * ``` + * + */ +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 { traverse, traverseGenerator };