UNPKG

bippy

Version:

hack into react internals

72 lines (69 loc) 2.35 kB
import { FiberRoot, Fiber as Fiber$1, ReactContext, Lanes } from 'react-reconciler'; import 'react/jsx-runtime'; interface ReactDevToolsGlobalHook { checkDCE: (fn: unknown) => void; supportsFiber: boolean; supportsFlight: boolean; renderers: Map<number, ReactRenderer>; hasUnsupportedRendererAttached: boolean; onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: void | number) => void; onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void; onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void; inject: (renderer: ReactRenderer) => number; _instrumentationSource?: string; _instrumentationIsActive?: boolean; _sw?: boolean; } /** * Represents a react-internal Fiber node. */ type Fiber<T = any> = Omit<Fiber$1, 'stateNode' | 'dependencies' | 'child' | 'sibling' | 'return' | 'alternate' | 'memoizedProps' | 'pendingProps' | 'memoizedState' | 'updateQueue'> & { stateNode: T; dependencies: Dependencies | null; child: Fiber | null; sibling: Fiber | null; return: Fiber | null; alternate: Fiber | null; memoizedProps: Props; pendingProps: Props; memoizedState: MemoizedState; updateQueue: { lastEffect: Effect | null; [key: string]: unknown; }; }; interface ReactRenderer { version: string; bundleType: 0 | 1; findFiberByHostInstance?: (hostInstance: unknown) => Fiber | null; } interface ContextDependency<T> { context: ReactContext<T>; memoizedValue: T; observedBits: number; next: ContextDependency<unknown> | null; } interface Dependencies { lanes: Lanes; firstContext: ContextDependency<unknown> | null; } interface Effect { next: Effect | null; create: (...args: unknown[]) => unknown; destroy: ((...args: unknown[]) => unknown) | null; deps: unknown[] | null; tag: number; [key: string]: unknown; } interface MemoizedState { memoizedState: unknown; next: MemoizedState | null; [key: string]: unknown; } interface Props { [key: string]: unknown; } declare global { var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined; } export type { ContextDependency as C, Dependencies as D, Effect as E, Fiber as F, MemoizedState as M, Props as P, ReactDevToolsGlobalHook as R, ReactRenderer as a };