traverseGenerator - Refactor config argument type to separate interface

This commit is contained in:
2019-09-11 16:50:00 +05:30
parent 0bc8c1af99
commit 8326ec5bf7
+7 -5
View File
@@ -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 };