bippy 0.3.34 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -3
- package/dist/index-Cj-DSMxK.d.cts +345 -0
- package/dist/index-YNyYB6YK.d.ts +345 -0
- package/dist/index.cjs +1 -82
- package/dist/index.d.cts +1 -240
- package/dist/index.d.ts +1 -240
- package/dist/index.iife.js +1 -1
- package/dist/index.js +1 -3
- package/dist/source.cjs +9 -17
- package/dist/source.d.cts +84 -24
- package/dist/source.d.ts +84 -24
- package/dist/source.js +9 -4
- package/dist/src-B1XV7Ej_.js +9 -0
- package/dist/src-CZc5lOwK.cjs +9 -0
- package/package.json +2 -12
- package/dist/experiments/inspect.cjs +0 -292
- package/dist/experiments/inspect.d.cts +0 -18
- package/dist/experiments/inspect.d.ts +0 -18
- package/dist/experiments/inspect.js +0 -289
- package/dist/source-BAPwFAwe.cjs +0 -2634
- package/dist/source-D2grjLFe.js +0 -2545
- package/dist/src-DnJsD_Sy.js +0 -884
- package/dist/src-J3uOnLH2.cjs +0 -1364
- package/dist/types-D7j5ftmS.d.ts +0 -105
- package/dist/types-Da_t1jWa.d.cts +0 -105
package/README.md
CHANGED
|
@@ -244,7 +244,7 @@ traverseProps(fiber, (propName, next, prev) => {
|
|
|
244
244
|
|
|
245
245
|
### traverseState
|
|
246
246
|
|
|
247
|
-
traverses the state (useState
|
|
247
|
+
traverses the state (`useState`, `useReducer`, etc.) and effects that set state of a fiber.
|
|
248
248
|
|
|
249
249
|
```typescript
|
|
250
250
|
import { traverseState } from 'bippy';
|
|
@@ -258,7 +258,7 @@ traverseState(fiber, (next, prev) => {
|
|
|
258
258
|
|
|
259
259
|
### traverseContexts
|
|
260
260
|
|
|
261
|
-
traverses the contexts (useContext) of a fiber.
|
|
261
|
+
traverses the contexts (`useContext`) of a fiber.
|
|
262
262
|
|
|
263
263
|
```typescript
|
|
264
264
|
import { traverseContexts } from 'bippy';
|
|
@@ -464,7 +464,7 @@ the function accepts a fiber and a partial object containing the props to overri
|
|
|
464
464
|
|
|
465
465
|
### overrideHookState
|
|
466
466
|
|
|
467
|
-
overrides hook state (
|
|
467
|
+
overrides hook state (`useState`, `useReducer`, etc.) at runtime by hook id.
|
|
468
468
|
|
|
469
469
|
```typescript
|
|
470
470
|
import { overrideHookState } from 'bippy';
|
|
@@ -505,6 +505,35 @@ overrideContext(fiber, ThemeContext, 'dark');
|
|
|
505
505
|
|
|
506
506
|
the function traverses up the fiber tree to find the context provider matching the provided context type and overrides its value.
|
|
507
507
|
|
|
508
|
+
### getSource
|
|
509
|
+
|
|
510
|
+
gets the source code location of a composite fiber.
|
|
511
|
+
|
|
512
|
+
```typescript
|
|
513
|
+
import { getSource } from 'bippy/source';
|
|
514
|
+
|
|
515
|
+
// random fiber on the DOM
|
|
516
|
+
const hostFiber = getFiberFromHostInstance(document.querySelector('div'));
|
|
517
|
+
|
|
518
|
+
// get nearest composite fiber up the tree
|
|
519
|
+
const compositeFiber = traverseFiber(
|
|
520
|
+
hostFiber,
|
|
521
|
+
(fiber) => {
|
|
522
|
+
if (isCompositeFiber(fiber)) {
|
|
523
|
+
return fiber;
|
|
524
|
+
}
|
|
525
|
+
},
|
|
526
|
+
true,
|
|
527
|
+
);
|
|
528
|
+
|
|
529
|
+
const source = await getSource(compositeFiber);
|
|
530
|
+
// {
|
|
531
|
+
// columnNumber: 12,
|
|
532
|
+
// fileName: 'path/to/file.tsx',
|
|
533
|
+
// lineNumber: 12,
|
|
534
|
+
// }
|
|
535
|
+
```
|
|
536
|
+
|
|
508
537
|
## examples
|
|
509
538
|
|
|
510
539
|
the best way to understand bippy is to [read the source code](https://github.com/aidenybai/bippy/blob/main/src/core.ts). here are some examples of how you can use it:
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import { BundleType, ComponentSelector, DevToolsConfig, Fiber, FiberRoot, Flags, HasPseudoClassSelector, HookType, HostConfig, LanePriority, Lanes, MutableSource, OpaqueHandle, OpaqueRoot, React$AbstractComponent, ReactConsumer, ReactContext, ReactPortal, ReactProvider, ReactProviderType, RefObject, RoleSelector, RootTag, Selector, Source, SuspenseHydrationCallbacks, TestNameSelector, TextSelector, Thenable, TransitionTracingCallbacks, TypeOfMode, WorkTag } from "react-reconciler";
|
|
3
|
+
|
|
4
|
+
//#region src/types.d.ts
|
|
5
|
+
interface ContextDependency<T> {
|
|
6
|
+
context: ReactContext<T>;
|
|
7
|
+
memoizedValue: T;
|
|
8
|
+
next: ContextDependency<unknown> | null;
|
|
9
|
+
observedBits: number;
|
|
10
|
+
}
|
|
11
|
+
interface Dependencies {
|
|
12
|
+
firstContext: ContextDependency<unknown> | null;
|
|
13
|
+
lanes: Lanes;
|
|
14
|
+
}
|
|
15
|
+
interface Effect {
|
|
16
|
+
[key: string]: unknown;
|
|
17
|
+
create: (...args: unknown[]) => unknown;
|
|
18
|
+
deps: null | unknown[];
|
|
19
|
+
destroy: ((...args: unknown[]) => unknown) | null;
|
|
20
|
+
next: Effect | null;
|
|
21
|
+
tag: number;
|
|
22
|
+
}
|
|
23
|
+
interface Family {
|
|
24
|
+
current: unknown;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Represents a react-internal Fiber node.
|
|
28
|
+
*/
|
|
29
|
+
type Fiber$1<T = any> = Omit<Fiber, 'alternate' | 'child' | 'dependencies' | 'memoizedProps' | 'memoizedState' | 'pendingProps' | 'return' | 'sibling' | 'stateNode' | 'updateQueue'> & {
|
|
30
|
+
_debugInfo?: Array<{
|
|
31
|
+
debugLocation?: unknown;
|
|
32
|
+
env?: string;
|
|
33
|
+
name?: string;
|
|
34
|
+
}>;
|
|
35
|
+
_debugOwner?: Fiber$1;
|
|
36
|
+
_debugSource?: {
|
|
37
|
+
columnNumber?: number;
|
|
38
|
+
fileName: string;
|
|
39
|
+
lineNumber: number;
|
|
40
|
+
};
|
|
41
|
+
_debugStack?: Error & {
|
|
42
|
+
stack: string;
|
|
43
|
+
};
|
|
44
|
+
alternate: Fiber$1 | null;
|
|
45
|
+
child: Fiber$1 | null;
|
|
46
|
+
dependencies: Dependencies | null;
|
|
47
|
+
memoizedProps: Props;
|
|
48
|
+
memoizedState: MemoizedState;
|
|
49
|
+
pendingProps: Props;
|
|
50
|
+
return: Fiber$1 | null;
|
|
51
|
+
sibling: Fiber$1 | null;
|
|
52
|
+
stateNode: T;
|
|
53
|
+
updateQueue: {
|
|
54
|
+
[key: string]: unknown;
|
|
55
|
+
lastEffect: Effect | null;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
interface MemoizedState {
|
|
59
|
+
[key: string]: unknown;
|
|
60
|
+
memoizedState: unknown;
|
|
61
|
+
next: MemoizedState | null;
|
|
62
|
+
}
|
|
63
|
+
interface Props {
|
|
64
|
+
[key: string]: unknown;
|
|
65
|
+
}
|
|
66
|
+
interface ReactDevToolsGlobalHook {
|
|
67
|
+
_instrumentationIsActive?: boolean;
|
|
68
|
+
_instrumentationSource?: string;
|
|
69
|
+
checkDCE: (fn: unknown) => void;
|
|
70
|
+
hasUnsupportedRendererAttached: boolean;
|
|
71
|
+
inject: (renderer: ReactRenderer) => number;
|
|
72
|
+
on: () => void;
|
|
73
|
+
onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: number | void) => void;
|
|
74
|
+
onCommitFiberUnmount: (rendererID: number, fiber: Fiber$1) => void;
|
|
75
|
+
onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
|
|
76
|
+
renderers: Map<number, ReactRenderer>;
|
|
77
|
+
supportsFiber: boolean;
|
|
78
|
+
supportsFlight: boolean;
|
|
79
|
+
}
|
|
80
|
+
interface ReactRenderer {
|
|
81
|
+
bundleType: 0 | 1;
|
|
82
|
+
currentDispatcherRef: any;
|
|
83
|
+
findFiberByHostInstance?: (hostInstance: unknown) => Fiber$1 | null;
|
|
84
|
+
getCurrentFiber?: (fiber: Fiber$1) => Fiber$1 | null;
|
|
85
|
+
overrideContext?: (fiber: Fiber$1, contextType: unknown, path: string[], value: unknown) => void;
|
|
86
|
+
overrideHookState?: (fiber: Fiber$1, id: string, path: string[], value: unknown) => void;
|
|
87
|
+
overrideHookStateDeletePath?: (fiber: Fiber$1, id: number, path: Array<number | string>) => void;
|
|
88
|
+
overrideHookStateRenamePath?: (fiber: Fiber$1, id: number, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
|
|
89
|
+
overrideProps?: (fiber: Fiber$1, path: string[], value: unknown) => void;
|
|
90
|
+
overridePropsDeletePath?: (fiber: Fiber$1, path: Array<number | string>) => void;
|
|
91
|
+
overridePropsRenamePath?: (fiber: Fiber$1, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
|
|
92
|
+
reconcilerVersion: string;
|
|
93
|
+
rendererPackageName: string;
|
|
94
|
+
scheduleRefresh?: (root: FiberRoot, update: {
|
|
95
|
+
staleFamilies: Set<Family>;
|
|
96
|
+
updatedFamilies: Set<Family>;
|
|
97
|
+
}) => void;
|
|
98
|
+
scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
|
|
99
|
+
scheduleUpdate?: (fiber: Fiber$1) => void;
|
|
100
|
+
setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber$1) => boolean) => void;
|
|
101
|
+
setRefreshHandler?: (handler: ((fiber: Fiber$1) => Family | null) | null) => void;
|
|
102
|
+
setSuspenseHandler?: (newShouldSuspendImpl: (suspenseInstance: unknown) => void) => void;
|
|
103
|
+
version: string;
|
|
104
|
+
}
|
|
105
|
+
declare global {
|
|
106
|
+
var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined;
|
|
107
|
+
} //#endregion
|
|
108
|
+
//#region src/rdt-hook.d.ts
|
|
109
|
+
declare const version: string | undefined;
|
|
110
|
+
declare const BIPPY_INSTRUMENTATION_STRING: string;
|
|
111
|
+
declare const isRealReactDevtools: (rdtHook?: ReactDevToolsGlobalHook) => boolean;
|
|
112
|
+
declare const isReactRefresh: (rdtHook?: ReactDevToolsGlobalHook) => boolean;
|
|
113
|
+
declare const _renderers: Set<ReactRenderer>;
|
|
114
|
+
declare const installRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
115
|
+
declare const patchRDTHook: (onActive?: () => unknown) => void;
|
|
116
|
+
declare const hasRDTHook: () => boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Returns the current React DevTools global hook.
|
|
119
|
+
*/
|
|
120
|
+
declare const getRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
121
|
+
declare const isClientEnvironment: () => boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Usually used purely for side effect
|
|
124
|
+
*/
|
|
125
|
+
declare const safelyInstallRDTHook: () => void;
|
|
126
|
+
|
|
127
|
+
//#endregion
|
|
128
|
+
//#region src/core.d.ts
|
|
129
|
+
declare const FunctionComponentTag = 0;
|
|
130
|
+
declare const ClassComponentTag = 1;
|
|
131
|
+
declare const HostRootTag = 3;
|
|
132
|
+
declare const HostComponentTag = 5;
|
|
133
|
+
declare const HostTextTag = 6;
|
|
134
|
+
declare const FragmentTag = 7;
|
|
135
|
+
declare const ContextConsumerTag = 9;
|
|
136
|
+
declare const ForwardRefTag = 11;
|
|
137
|
+
declare const SuspenseComponentTag = 13;
|
|
138
|
+
declare const MemoComponentTag = 14;
|
|
139
|
+
declare const SimpleMemoComponentTag = 15;
|
|
140
|
+
declare const LazyComponentTag = 16;
|
|
141
|
+
declare const DehydratedSuspenseComponentTag = 18;
|
|
142
|
+
declare const SuspenseListComponentTag = 19;
|
|
143
|
+
declare const OffscreenComponentTag = 22;
|
|
144
|
+
declare const LegacyHiddenComponentTag = 23;
|
|
145
|
+
declare const HostHoistableTag = 26;
|
|
146
|
+
declare const HostSingletonTag = 27;
|
|
147
|
+
declare const ActivityComponentTag = 28;
|
|
148
|
+
declare const ViewTransitionComponentTag = 30;
|
|
149
|
+
declare const CONCURRENT_MODE_NUMBER = 60111;
|
|
150
|
+
declare const ELEMENT_TYPE_SYMBOL_STRING = "Symbol(react.element)";
|
|
151
|
+
declare const TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING = "Symbol(react.transitional.element)";
|
|
152
|
+
declare const CONCURRENT_MODE_SYMBOL_STRING = "Symbol(react.concurrent_mode)";
|
|
153
|
+
declare const DEPRECATED_ASYNC_MODE_SYMBOL_STRING = "Symbol(react.async_mode)";
|
|
154
|
+
/**
|
|
155
|
+
* Returns `true` if object is a React Element.
|
|
156
|
+
*
|
|
157
|
+
* @see https://react.dev/reference/react/isValidElement
|
|
158
|
+
*/
|
|
159
|
+
declare const isValidElement: (element: unknown) => element is React$1.ReactElement;
|
|
160
|
+
/**
|
|
161
|
+
* Returns `true` if object is a React Fiber.
|
|
162
|
+
*/
|
|
163
|
+
declare const isValidFiber: (fiber: unknown) => fiber is Fiber$1;
|
|
164
|
+
/**
|
|
165
|
+
* Returns `true` if fiber is a host fiber. Host fibers are DOM nodes in react-dom, `View` in react-native, etc.
|
|
166
|
+
*
|
|
167
|
+
* @see https://reactnative.dev/architecture/glossary#host-view-tree-and-host-view
|
|
168
|
+
*/
|
|
169
|
+
declare const isHostFiber: (fiber: Fiber$1) => boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Returns `true` if fiber is a composite fiber. Composite fibers are fibers that can render (like functional components, class components, etc.)
|
|
172
|
+
*
|
|
173
|
+
* @see https://reactnative.dev/architecture/glossary#react-composite-components
|
|
174
|
+
*/
|
|
175
|
+
declare const isCompositeFiber: (fiber: Fiber$1) => boolean;
|
|
176
|
+
/**
|
|
177
|
+
* Returns `true` if the two {@link Fiber}s are the same reference
|
|
178
|
+
*/
|
|
179
|
+
declare const areFiberEqual: (fiberA: Fiber$1, fiberB: Fiber$1) => boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Traverses up or down a {@link Fiber}'s contexts, return `true` to stop and select the current and previous context value.
|
|
182
|
+
*/
|
|
183
|
+
declare const traverseContexts: (fiber: Fiber$1, selector: (nextValue: ContextDependency<unknown> | null | undefined, prevValue: ContextDependency<unknown> | null | undefined) => boolean | void) => boolean;
|
|
184
|
+
/**
|
|
185
|
+
* Traverses up or down a {@link Fiber}'s states, return `true` to stop and select the current and previous state value. This stores both state values and effects.
|
|
186
|
+
*/
|
|
187
|
+
declare const traverseState: (fiber: Fiber$1, selector: (nextValue: MemoizedState | null | undefined, prevValue: MemoizedState | null | undefined) => boolean | void) => boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Traverses up or down a {@link Fiber}'s props, return `true` to stop and select the current and previous props value.
|
|
190
|
+
*/
|
|
191
|
+
declare const traverseProps: (fiber: Fiber$1, selector: (propName: string, nextValue: unknown, prevValue: unknown) => boolean | void) => boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Returns `true` if the {@link Fiber} has rendered. Note that this does not mean the fiber has rendered in the current commit, just that it has rendered in the past.
|
|
194
|
+
*/
|
|
195
|
+
declare const didFiberRender: (fiber: Fiber$1) => boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Returns `true` if the {@link Fiber} has committed. Note that this does not mean the fiber has committed in the current commit, just that it has committed in the past.
|
|
198
|
+
*/
|
|
199
|
+
declare const didFiberCommit: (fiber: Fiber$1) => boolean;
|
|
200
|
+
/**
|
|
201
|
+
* Returns all host {@link Fiber}s that have committed and rendered.
|
|
202
|
+
*/
|
|
203
|
+
declare const getMutatedHostFibers: (fiber: Fiber$1) => Fiber$1[];
|
|
204
|
+
/**
|
|
205
|
+
* Returns the stack of {@link Fiber}s from the current fiber to the root fiber.
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```ts
|
|
209
|
+
* [fiber, fiber.return, fiber.return.return, ...]
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
declare const getFiberStack: (fiber: Fiber$1) => Fiber$1[];
|
|
213
|
+
/**
|
|
214
|
+
* Returns `true` if the {@link Fiber} should be filtered out during reconciliation.
|
|
215
|
+
*/
|
|
216
|
+
declare const shouldFilterFiber: (fiber: Fiber$1) => boolean;
|
|
217
|
+
/**
|
|
218
|
+
* Returns the nearest host {@link Fiber} to the current {@link Fiber}.
|
|
219
|
+
*/
|
|
220
|
+
declare const getNearestHostFiber: (fiber: Fiber$1, ascending?: boolean) => Fiber$1 | null;
|
|
221
|
+
/**
|
|
222
|
+
* Returns all host {@link Fiber}s in the tree that are associated with the current {@link Fiber}.
|
|
223
|
+
*/
|
|
224
|
+
declare const getNearestHostFibers: (fiber: Fiber$1) => Fiber$1[];
|
|
225
|
+
/**
|
|
226
|
+
* Traverses up or down a {@link Fiber}, return `true` to stop and select a node.
|
|
227
|
+
*/
|
|
228
|
+
declare function traverseFiber(fiber: Fiber$1 | null, selector: (node: Fiber$1) => boolean | void, ascending?: boolean): Fiber$1 | null;
|
|
229
|
+
declare function traverseFiber(fiber: Fiber$1 | null, selector: (node: Fiber$1) => Promise<boolean | void>, ascending?: boolean): Promise<Fiber$1 | null>;
|
|
230
|
+
declare const traverseFiberSync: (fiber: Fiber$1 | null, selector: (node: Fiber$1) => boolean | void, ascending?: boolean) => Fiber$1 | null;
|
|
231
|
+
declare const traverseFiberAsync: (fiber: Fiber$1 | null, selector: (node: Fiber$1) => Promise<boolean | void>, ascending?: boolean) => Promise<Fiber$1 | null>;
|
|
232
|
+
/**
|
|
233
|
+
* Returns the timings of the {@link Fiber}.
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```ts
|
|
237
|
+
* const { selfTime, totalTime } = getTimings(fiber);
|
|
238
|
+
* console.log(selfTime, totalTime);
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
241
|
+
declare const getTimings: (fiber?: Fiber$1 | null) => {
|
|
242
|
+
selfTime: number;
|
|
243
|
+
totalTime: number;
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* Returns `true` if the {@link Fiber} uses React Compiler's memo cache.
|
|
247
|
+
*/
|
|
248
|
+
declare const hasMemoCache: (fiber: Fiber$1) => boolean;
|
|
249
|
+
/**
|
|
250
|
+
* Returns the type (e.g. component definition) of the {@link Fiber}
|
|
251
|
+
*/
|
|
252
|
+
declare const getType: (type: unknown) => null | React$1.ComponentType<unknown>;
|
|
253
|
+
/**
|
|
254
|
+
* Returns the display name of the {@link Fiber} type.
|
|
255
|
+
*/
|
|
256
|
+
declare const getDisplayName: (type: unknown) => null | string;
|
|
257
|
+
/**
|
|
258
|
+
* Returns the build type of the React renderer.
|
|
259
|
+
*/
|
|
260
|
+
declare const detectReactBuildType: (renderer: ReactRenderer) => "development" | "production";
|
|
261
|
+
/**
|
|
262
|
+
* Returns `true` if bippy's instrumentation is active.
|
|
263
|
+
*/
|
|
264
|
+
declare const isInstrumentationActive: () => boolean;
|
|
265
|
+
/**
|
|
266
|
+
* Returns the latest fiber (since it may be double-buffered).
|
|
267
|
+
*/
|
|
268
|
+
declare const getLatestFiber: (fiber: Fiber$1) => Fiber$1;
|
|
269
|
+
type RenderHandler = <S>(fiber: Fiber$1, phase: RenderPhase, state?: S) => unknown;
|
|
270
|
+
type RenderPhase = 'mount' | 'unmount' | 'update';
|
|
271
|
+
declare const fiberIdMap: WeakMap<Fiber$1, number>;
|
|
272
|
+
declare const setFiberId: (fiber: Fiber$1, id?: number) => void;
|
|
273
|
+
declare const getFiberId: (fiber: Fiber$1) => number;
|
|
274
|
+
declare const mountFiberRecursively: (onRender: RenderHandler, firstChild: Fiber$1, traverseSiblings: boolean) => void;
|
|
275
|
+
declare const updateFiberRecursively: (onRender: RenderHandler, nextFiber: Fiber$1, prevFiber: Fiber$1, parentFiber: Fiber$1 | null) => void;
|
|
276
|
+
declare const unmountFiber: (onRender: RenderHandler, fiber: Fiber$1) => void;
|
|
277
|
+
declare const unmountFiberChildrenRecursively: (onRender: RenderHandler, fiber: Fiber$1) => void;
|
|
278
|
+
/**
|
|
279
|
+
* Creates a fiber visitor function. Must pass a fiber root and a render handler.
|
|
280
|
+
* @example
|
|
281
|
+
* traverseRenderedFibers(root, (fiber, phase) => {
|
|
282
|
+
* console.log(phase)
|
|
283
|
+
* })
|
|
284
|
+
*/
|
|
285
|
+
declare const traverseRenderedFibers: (root: FiberRoot, onRender: RenderHandler) => void;
|
|
286
|
+
/**
|
|
287
|
+
* @deprecated use `traverseRenderedFibers` instead
|
|
288
|
+
*/
|
|
289
|
+
declare const createFiberVisitor: ({
|
|
290
|
+
onRender
|
|
291
|
+
}: {
|
|
292
|
+
onError: (error: unknown) => unknown;
|
|
293
|
+
onRender: RenderHandler;
|
|
294
|
+
}) => (<S>(_rendererID: number, root: Fiber$1 | FiberRoot, _state?: S) => void);
|
|
295
|
+
declare const injectOverrideMethods: () => {
|
|
296
|
+
overrideContext: ((fiber: Fiber$1, contextType: unknown, path: string[], value: unknown) => void) | null | undefined;
|
|
297
|
+
overrideHookState: ((fiber: Fiber$1, id: string, path: string[], value: unknown) => void) | null | undefined;
|
|
298
|
+
overrideProps: ((fiber: Fiber$1, path: string[], value: unknown) => void) | null | undefined;
|
|
299
|
+
} | null | undefined;
|
|
300
|
+
declare const overrideProps: (fiber: Fiber$1, partialValue: Record<string, unknown>) => void;
|
|
301
|
+
declare const overrideHookState: (fiber: Fiber$1, id: number, partialValue: Record<string, unknown> | unknown) => void;
|
|
302
|
+
declare const overrideContext: (fiber: Fiber$1, contextType: unknown, partialValue: Record<string, unknown> | unknown) => void;
|
|
303
|
+
interface InstrumentationOptions {
|
|
304
|
+
name?: string;
|
|
305
|
+
onActive?: () => unknown;
|
|
306
|
+
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: number | void) => unknown;
|
|
307
|
+
onCommitFiberUnmount?: (rendererID: number, fiber: Fiber$1) => unknown;
|
|
308
|
+
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) => unknown;
|
|
309
|
+
onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: React$1.ReactNode) => unknown;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Instruments the DevTools hook.
|
|
313
|
+
* @example
|
|
314
|
+
* const hook = instrument({
|
|
315
|
+
* onActive() {
|
|
316
|
+
* console.log('initialized');
|
|
317
|
+
* },
|
|
318
|
+
* onCommitFiberRoot(rendererID, root) {
|
|
319
|
+
* console.log('fiberRoot', root.current)
|
|
320
|
+
* },
|
|
321
|
+
* });
|
|
322
|
+
*/
|
|
323
|
+
declare const instrument: (options: InstrumentationOptions) => ReactDevToolsGlobalHook;
|
|
324
|
+
declare const getFiberFromHostInstance: <T>(hostInstance: T) => Fiber$1 | null;
|
|
325
|
+
declare const INSTALL_ERROR: Error;
|
|
326
|
+
declare const _fiberRoots: Set<any>;
|
|
327
|
+
declare const secure: (options: InstrumentationOptions, secureOptions?: {
|
|
328
|
+
dangerouslyRunInProduction?: boolean;
|
|
329
|
+
installCheckTimeout?: number;
|
|
330
|
+
isProduction?: boolean;
|
|
331
|
+
minReactMajorVersion?: number;
|
|
332
|
+
onError?: (error?: unknown) => unknown;
|
|
333
|
+
}) => InstrumentationOptions;
|
|
334
|
+
/**
|
|
335
|
+
* a wrapper around the {@link instrument} function that sets the `onCommitFiberRoot` hook.
|
|
336
|
+
*
|
|
337
|
+
* @example
|
|
338
|
+
* onCommitFiberRoot((root) => {
|
|
339
|
+
* console.log(root.current);
|
|
340
|
+
* });
|
|
341
|
+
*/
|
|
342
|
+
declare const onCommitFiberRoot: (handler: (root: FiberRoot) => void) => ReactDevToolsGlobalHook;
|
|
343
|
+
|
|
344
|
+
//#endregion
|
|
345
|
+
export { ActivityComponentTag, BIPPY_INSTRUMENTATION_STRING, BundleType, CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ComponentSelector, ContextConsumerTag, ContextDependency, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponentTag, Dependencies, DevToolsConfig, ELEMENT_TYPE_SYMBOL_STRING, Effect, Family, Fiber$1 as Fiber, FiberRoot, Flags, ForwardRefTag, FragmentTag, FunctionComponentTag, HasPseudoClassSelector, HookType, HostComponentTag, HostConfig, HostHoistableTag, HostRootTag, HostSingletonTag, HostTextTag, INSTALL_ERROR, InstrumentationOptions, LanePriority, Lanes, LazyComponentTag, LegacyHiddenComponentTag, MemoComponentTag, MemoizedState, MutableSource, OffscreenComponentTag, OpaqueHandle, OpaqueRoot, Props, React$AbstractComponent, ReactConsumer, ReactContext, ReactDevToolsGlobalHook, ReactPortal, ReactProvider, ReactProviderType, ReactRenderer, RefObject, RenderHandler, RenderPhase, RoleSelector, RootTag, Selector, SimpleMemoComponentTag, Source, SuspenseComponentTag, SuspenseHydrationCallbacks, SuspenseListComponentTag, TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING, TestNameSelector, TextSelector, Thenable, TransitionTracingCallbacks, TypeOfMode, ViewTransitionComponentTag, WorkTag, _fiberRoots, _renderers, areFiberEqual, createFiberVisitor, detectReactBuildType, didFiberCommit, didFiberRender, fiberIdMap, getDisplayName, getFiberFromHostInstance, getFiberId, getFiberStack, getLatestFiber, getMutatedHostFibers, getNearestHostFiber, getNearestHostFibers, getRDTHook, getTimings, getType, hasMemoCache, hasRDTHook, injectOverrideMethods, installRDTHook, instrument, isClientEnvironment, isCompositeFiber, isHostFiber, isInstrumentationActive, isReactRefresh, isRealReactDevtools, isValidElement, isValidFiber, mountFiberRecursively, onCommitFiberRoot, overrideContext, overrideHookState, overrideProps, patchRDTHook, safelyInstallRDTHook, secure, setFiberId, shouldFilterFiber, traverseContexts, traverseFiber, traverseFiberAsync, traverseFiberSync, traverseProps, traverseRenderedFibers, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively, version };
|