mirror of
https://github.com/bendtherules/react-fiber-traverse.git
synced 2026-08-18 13:52:36 +00:00
Add better mock typedef for FiberNode
This commit is contained in:
@@ -1,5 +1,55 @@
|
|||||||
export interface FiberNode {
|
import * as React from "react";
|
||||||
|
|
||||||
|
export type FiberNode = FiberNodeForComponentClass | FiberNodeForFunctionComponent | FiberNodeForInstrinsicElement | FiberNodeForTextNode;
|
||||||
|
|
||||||
|
export interface FiberNodeForFunctionComponent {
|
||||||
child: FiberNode | null;
|
child: FiberNode | null;
|
||||||
sibling: FiberNode | null;
|
sibling: FiberNode | null;
|
||||||
// Add type
|
|
||||||
|
elementType: React.FunctionComponent;
|
||||||
|
type: React.FunctionComponent;
|
||||||
|
|
||||||
|
stateNode: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface FiberNodeForComponentClass {
|
||||||
|
child: FiberNode | null;
|
||||||
|
sibling: FiberNode | null;
|
||||||
|
|
||||||
|
elementType: React.ComponentClass;
|
||||||
|
type: React.ComponentClass;
|
||||||
|
|
||||||
|
stateNode: React.Component;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FiberNodeForInstrinsicElement {
|
||||||
|
child: FiberNode | null;
|
||||||
|
sibling: FiberNode | null;
|
||||||
|
|
||||||
|
elementType: keyof JSX.IntrinsicElements;
|
||||||
|
type: keyof JSX.IntrinsicElements;
|
||||||
|
|
||||||
|
stateNode: HTMLElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FiberNodeForInstrinsicElement {
|
||||||
|
child: FiberNode | null;
|
||||||
|
sibling: FiberNode | null;
|
||||||
|
|
||||||
|
elementType: keyof JSX.IntrinsicElements;
|
||||||
|
type: keyof JSX.IntrinsicElements;
|
||||||
|
|
||||||
|
stateNode: HTMLElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FiberNodeForTextNode {
|
||||||
|
child: null;
|
||||||
|
sibling: FiberNode | null;
|
||||||
|
|
||||||
|
elementType: null;
|
||||||
|
type: null;
|
||||||
|
|
||||||
|
stateNode: Text;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type FiberNodeisHTMLLike = FiberNodeForInstrinsicElement | FiberNodeForTextNode;
|
||||||
Reference in New Issue
Block a user