mirror of
https://github.com/bendtherules/react-fiber-traverse.git
synced 2026-08-18 22:01:49 +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;
|
||||
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