mirror of
https://github.com/bendtherules/react-fiber-traverse.git
synced 2026-08-18 22:01:49 +00:00
traverseGenerator - Refactor config argument type to separate interface
This commit is contained in:
+7
-5
@@ -1,6 +1,11 @@
|
|||||||
// import { isNodeSimple } from './utils';
|
// import { isNodeSimple } from './utils';
|
||||||
import { FiberNode } from "./mocked-types";
|
import { FiberNode } from "./mocked-types";
|
||||||
|
|
||||||
|
interface TTraverseConfig {
|
||||||
|
order?: Array<"self" | "child" | "sibling">;
|
||||||
|
skipSiblingForStartNode?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Traverse nodes recursively using generators.
|
* Traverse nodes recursively using generators.
|
||||||
*
|
*
|
||||||
@@ -65,10 +70,7 @@ function* traverseGenerator(
|
|||||||
{
|
{
|
||||||
order = ["self", "child", "sibling"],
|
order = ["self", "child", "sibling"],
|
||||||
skipSiblingForStartNode = true
|
skipSiblingForStartNode = true
|
||||||
}: {
|
}: TTraverseConfig = {}
|
||||||
order?: Array<"self" | "child" | "sibling">;
|
|
||||||
skipSiblingForStartNode?: boolean;
|
|
||||||
} = {}
|
|
||||||
): IterableIterator<FiberNode> {
|
): IterableIterator<FiberNode> {
|
||||||
let skipChild = false,
|
let skipChild = false,
|
||||||
skipSibling = skipSiblingForStartNode;
|
skipSibling = skipSiblingForStartNode;
|
||||||
@@ -141,4 +143,4 @@ function traverse(node: FiberNode, fn: (node: FiberNode) => any) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export { traverse, traverseGenerator };
|
export { traverse, traverseGenerator, TTraverseConfig };
|
||||||
|
|||||||
Reference in New Issue
Block a user