mirror of
https://github.com/bendtherules/react-fiber-traverse.git
synced 2026-08-18 13:52:36 +00:00
Merge branch 'master' of https://github.com/bendtherules/react-fiber-traverse
This commit is contained in:
+4
-7
@@ -1,5 +1,5 @@
|
|||||||
import { FiberNode } from "./mocked-types";
|
import { FiberNode } from "./mocked-types";
|
||||||
import { isNotHtmlLike } from "./utils";
|
import { isNodeNotHtmlLike } from "./utils";
|
||||||
|
|
||||||
function findNodeByComponentName(
|
function findNodeByComponentName(
|
||||||
node: FiberNode | null,
|
node: FiberNode | null,
|
||||||
@@ -9,8 +9,7 @@ function findNodeByComponentName(
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isNotHtmlLike(node) && node.type.name === expectedName) {
|
if (isNodeNotHtmlLike(node) && node.type.name === expectedName) {
|
||||||
// console.debug("Found node " + node);
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,8 +37,7 @@ function findNodeByComponent(
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isNotHtmlLike(node) && node.type === expectedClassOrFunction) {
|
if (isNodeNotHtmlLike(node) && node.type === expectedClassOrFunction) {
|
||||||
// console.debug("Found node " + node);
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,8 +65,7 @@ function findNodeByComponentInstance(
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isNotHtmlLike(node) && node.stateNode === expectedClassInstance) {
|
if (isNodeNotHtmlLike(node) && node.stateNode === expectedClassInstance) {
|
||||||
// console.debug("Found node " + node);
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+14
-5
@@ -1,11 +1,20 @@
|
|||||||
import { FiberNode, FiberNodeisHTMLLike } from './mocked-types';
|
import * as React from 'react';
|
||||||
|
import { FiberNode, FiberNodeisHTMLLike, FiberNodeForFunctionComponent, FiberNodeForComponentClass } from './mocked-types';
|
||||||
|
|
||||||
function isHtmlLike(node: FiberNode): node is FiberNodeisHTMLLike {
|
function isNodeHtmlLike(node: FiberNode): node is FiberNodeisHTMLLike {
|
||||||
return (typeof node.type === "string") || node.type === null;
|
return (typeof node.type === "string") || node.type === null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function isNotHtmlLike(node: FiberNode): node is Exclude<FiberNode, FiberNodeisHTMLLike> {
|
function isNodeNotHtmlLike(node: FiberNode): node is Exclude<FiberNode, FiberNodeisHTMLLike> {
|
||||||
return !isHtmlLike(node);
|
return !isNodeHtmlLike(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
export { isHtmlLike, isNotHtmlLike };
|
function isNodeFunctionComponent(node: FiberNode): node is FiberNodeForFunctionComponent {
|
||||||
|
return isNodeNotHtmlLike(node) && node.stateNode === null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isNodeComponentClass(node: FiberNode): node is FiberNodeForComponentClass {
|
||||||
|
return isNodeNotHtmlLike(node) && (node.stateNode instanceof React.Component);
|
||||||
|
}
|
||||||
|
|
||||||
|
export { isNodeHtmlLike, isNodeNotHtmlLike, isNodeFunctionComponent, isNodeComponentClass };
|
||||||
Reference in New Issue
Block a user