bippy 0.3.32 → 0.3.34

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.
@@ -7,7 +7,7 @@
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
9
  //#region src/rdt-hook.ts
10
- const version = "0.3.32";
10
+ const version = "0.3.34";
11
11
  const BIPPY_INSTRUMENTATION_STRING = `bippy-${version}`;
12
12
  const objectDefineProperty = Object.defineProperty;
13
13
  const objectHasOwnProperty = Object.prototype.hasOwnProperty;
@@ -36,15 +36,10 @@ const installRDTHook = (onActive) => {
36
36
  const renderers = new Map();
37
37
  let i = 0;
38
38
  let rdtHook = {
39
+ _instrumentationIsActive: false,
40
+ _instrumentationSource: BIPPY_INSTRUMENTATION_STRING,
39
41
  checkDCE,
40
- supportsFiber: true,
41
- supportsFlight: true,
42
42
  hasUnsupportedRendererAttached: false,
43
- renderers,
44
- onCommitFiberRoot: NO_OP,
45
- onCommitFiberUnmount: NO_OP,
46
- onPostCommitFiberRoot: NO_OP,
47
- on: NO_OP,
48
43
  inject(renderer) {
49
44
  const nextID = ++i;
50
45
  renderers.set(nextID, renderer);
@@ -55,11 +50,18 @@ const installRDTHook = (onActive) => {
55
50
  }
56
51
  return nextID;
57
52
  },
58
- _instrumentationSource: BIPPY_INSTRUMENTATION_STRING,
59
- _instrumentationIsActive: false
53
+ on: NO_OP,
54
+ onCommitFiberRoot: NO_OP,
55
+ onCommitFiberUnmount: NO_OP,
56
+ onPostCommitFiberRoot: NO_OP,
57
+ renderers,
58
+ supportsFiber: true,
59
+ supportsFlight: true
60
60
  };
61
61
  try {
62
62
  objectDefineProperty(globalThis, "__REACT_DEVTOOLS_GLOBAL_HOOK__", {
63
+ configurable: true,
64
+ enumerable: true,
63
65
  get() {
64
66
  return rdtHook;
65
67
  },
@@ -75,24 +77,22 @@ const installRDTHook = (onActive) => {
75
77
  patchRDTHook(onActive);
76
78
  }
77
79
  }
78
- },
79
- configurable: true,
80
- enumerable: true
80
+ }
81
81
  });
82
82
  const originalWindowHasOwnProperty = window.hasOwnProperty;
83
83
  let hasRanHack = false;
84
84
  objectDefineProperty(window, "hasOwnProperty", {
85
- value: function() {
85
+ configurable: true,
86
+ value: function(...args) {
86
87
  try {
87
- if (!hasRanHack && arguments[0] === "__REACT_DEVTOOLS_GLOBAL_HOOK__") {
88
+ if (!hasRanHack && args[0] === "__REACT_DEVTOOLS_GLOBAL_HOOK__") {
88
89
  globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__ = void 0;
89
90
  hasRanHack = true;
90
91
  return -0;
91
92
  }
92
93
  } catch {}
93
- return originalWindowHasOwnProperty.apply(this, arguments);
94
+ return originalWindowHasOwnProperty.apply(this, args);
94
95
  },
95
- configurable: true,
96
96
  writable: true
97
97
  });
98
98
  } catch {
@@ -106,20 +106,21 @@ const patchRDTHook = (onActive) => {
106
106
  const rdtHook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
107
107
  if (!rdtHook) return;
108
108
  if (!rdtHook._instrumentationSource) {
109
+ const isReactDevtools = isRealReactDevtools();
109
110
  rdtHook.checkDCE = checkDCE;
110
111
  rdtHook.supportsFiber = true;
111
112
  rdtHook.supportsFlight = true;
112
113
  rdtHook.hasUnsupportedRendererAttached = false;
113
114
  rdtHook._instrumentationSource = BIPPY_INSTRUMENTATION_STRING;
114
115
  rdtHook._instrumentationIsActive = false;
115
- rdtHook.on = NO_OP;
116
+ if (!isReactDevtools) rdtHook.on = NO_OP;
116
117
  if (rdtHook.renderers.size) {
117
118
  rdtHook._instrumentationIsActive = true;
118
119
  onActiveListeners.forEach((listener) => listener());
119
120
  return;
120
121
  }
121
122
  const prevInject = rdtHook.inject;
122
- if (isReactRefresh(rdtHook) && !isRealReactDevtools()) {
123
+ if (isReactRefresh(rdtHook) && !isReactDevtools) {
123
124
  isReactRefreshOverride = true;
124
125
  const nextID = rdtHook.inject({ scheduleRefresh() {} });
125
126
  if (nextID) rdtHook._instrumentationIsActive = true;
@@ -225,11 +226,11 @@ const isHostFiber = (fiber) => {
225
226
  */
226
227
  const isCompositeFiber = (fiber) => {
227
228
  switch (fiber.tag) {
228
- case FunctionComponentTag:
229
229
  case ClassComponentTag:
230
- case SimpleMemoComponentTag:
230
+ case ForwardRefTag:
231
+ case FunctionComponentTag:
231
232
  case MemoComponentTag:
232
- case ForwardRefTag: return true;
233
+ case SimpleMemoComponentTag: return true;
233
234
  default: return false;
234
235
  }
235
236
  };
@@ -280,7 +281,7 @@ const traverseProps = (fiber, selector) => {
280
281
  try {
281
282
  const nextProps = fiber.memoizedProps;
282
283
  const prevProps = fiber.alternate?.memoizedProps || {};
283
- const allKeys = new Set([...Object.keys(prevProps), ...Object.keys(nextProps)]);
284
+ const allKeys = new Set([...Object.keys(nextProps), ...Object.keys(prevProps)]);
284
285
  for (const propName of allKeys) {
285
286
  const prevValue = prevProps?.[propName];
286
287
  const nextValue = nextProps?.[propName];
@@ -298,9 +299,9 @@ const didFiberRender = (fiber) => {
298
299
  const flags = fiber.flags ?? fiber.effectTag ?? 0;
299
300
  switch (fiber.tag) {
300
301
  case ClassComponentTag:
301
- case FunctionComponentTag:
302
302
  case ContextConsumerTag:
303
303
  case ForwardRefTag:
304
+ case FunctionComponentTag:
304
305
  case MemoComponentTag:
305
306
  case SimpleMemoComponentTag: return (flags & PerformedWork) === PerformedWork;
306
307
  default:
@@ -352,8 +353,8 @@ const getFiberStack = (fiber) => {
352
353
  const shouldFilterFiber = (fiber) => {
353
354
  switch (fiber.tag) {
354
355
  case DehydratedSuspenseComponentTag: return true;
355
- case HostTextTag:
356
356
  case FragmentTag:
357
+ case HostTextTag:
357
358
  case LegacyHiddenComponentTag:
358
359
  case OffscreenComponentTag: return true;
359
360
  case HostRootTag: return false;
@@ -607,8 +608,8 @@ const traverseRenderedFibers = (root, onRender) => {
607
608
  let rootInstance = rootInstanceMap.get(root);
608
609
  if (!rootInstance) {
609
610
  rootInstance = {
610
- prevFiber: null,
611
- id: commitId++
611
+ id: commitId++,
612
+ prevFiber: null
612
613
  };
613
614
  rootInstanceMap.set(root, rootInstance);
614
615
  }
@@ -639,9 +640,9 @@ const injectOverrideMethods = () => {
639
640
  const rdtHook = getRDTHook();
640
641
  if (!rdtHook?.renderers) return null;
641
642
  if (_overrideProps || _overrideHookState || _overrideContext) return {
642
- overrideProps: _overrideProps,
643
+ overrideContext: _overrideContext,
643
644
  overrideHookState: _overrideHookState,
644
- overrideContext: _overrideContext
645
+ overrideProps: _overrideProps
645
646
  };
646
647
  for (const [_, renderer] of Array.from(rdtHook.renderers)) try {
647
648
  if (_overrideHookState) {
@@ -750,26 +751,36 @@ const overrideContext = (fiber, contextType, partialValue) => {
750
751
  * });
751
752
  */
752
753
  const instrument = (options) => {
753
- return getRDTHook(() => {
754
- const rdtHook = getRDTHook();
755
- options.onActive?.();
756
- rdtHook._instrumentationSource = options.name ?? BIPPY_INSTRUMENTATION_STRING;
757
- const prevOnCommitFiberRoot = rdtHook.onCommitFiberRoot;
758
- if (options.onCommitFiberRoot) rdtHook.onCommitFiberRoot = (rendererID, root, priority) => {
759
- if (prevOnCommitFiberRoot) prevOnCommitFiberRoot(rendererID, root, priority);
754
+ const rdtHook = getRDTHook(options.onActive);
755
+ rdtHook._instrumentationSource = options.name ?? BIPPY_INSTRUMENTATION_STRING;
756
+ const prevOnCommitFiberRoot = rdtHook.onCommitFiberRoot;
757
+ if (options.onCommitFiberRoot) {
758
+ const handler = (rendererID, root, priority) => {
759
+ if (rdtHook.onCommitFiberRoot !== handler) return;
760
+ prevOnCommitFiberRoot?.(rendererID, root, priority);
760
761
  options.onCommitFiberRoot?.(rendererID, root, priority);
761
762
  };
762
- const prevOnCommitFiberUnmount = rdtHook.onCommitFiberUnmount;
763
- if (options.onCommitFiberUnmount) rdtHook.onCommitFiberUnmount = (rendererID, root) => {
764
- if (prevOnCommitFiberUnmount) prevOnCommitFiberUnmount(rendererID, root);
763
+ rdtHook.onCommitFiberRoot = handler;
764
+ }
765
+ const prevOnCommitFiberUnmount = rdtHook.onCommitFiberUnmount;
766
+ if (options.onCommitFiberUnmount) {
767
+ const handler = (rendererID, root) => {
768
+ if (rdtHook.onCommitFiberUnmount !== handler) return;
769
+ prevOnCommitFiberUnmount?.(rendererID, root);
765
770
  options.onCommitFiberUnmount?.(rendererID, root);
766
771
  };
767
- const prevOnPostCommitFiberRoot = rdtHook.onPostCommitFiberRoot;
768
- if (options.onPostCommitFiberRoot) rdtHook.onPostCommitFiberRoot = (rendererID, root) => {
769
- if (prevOnPostCommitFiberRoot) prevOnPostCommitFiberRoot(rendererID, root);
772
+ rdtHook.onCommitFiberUnmount = handler;
773
+ }
774
+ const prevOnPostCommitFiberRoot = rdtHook.onPostCommitFiberRoot;
775
+ if (options.onPostCommitFiberRoot) {
776
+ const handler = (rendererID, root) => {
777
+ if (rdtHook.onPostCommitFiberRoot !== handler) return;
778
+ prevOnPostCommitFiberRoot?.(rendererID, root);
770
779
  options.onPostCommitFiberRoot?.(rendererID, root);
771
780
  };
772
- });
781
+ rdtHook.onPostCommitFiberRoot = handler;
782
+ }
783
+ return rdtHook;
773
784
  };
774
785
  const getFiberFromHostInstance = (hostInstance) => {
775
786
  const rdtHook = getRDTHook();
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  //#region src/rdt-hook.ts
11
- const version = "0.3.32";
11
+ const version = "0.3.34";
12
12
  const BIPPY_INSTRUMENTATION_STRING = `bippy-${version}`;
13
13
  const objectDefineProperty = Object.defineProperty;
14
14
  const objectHasOwnProperty = Object.prototype.hasOwnProperty;
@@ -37,15 +37,10 @@ const installRDTHook = (onActive) => {
37
37
  const renderers = new Map();
38
38
  let i = 0;
39
39
  let rdtHook = {
40
+ _instrumentationIsActive: false,
41
+ _instrumentationSource: BIPPY_INSTRUMENTATION_STRING,
40
42
  checkDCE,
41
- supportsFiber: true,
42
- supportsFlight: true,
43
43
  hasUnsupportedRendererAttached: false,
44
- renderers,
45
- onCommitFiberRoot: NO_OP,
46
- onCommitFiberUnmount: NO_OP,
47
- onPostCommitFiberRoot: NO_OP,
48
- on: NO_OP,
49
44
  inject(renderer) {
50
45
  const nextID = ++i;
51
46
  renderers.set(nextID, renderer);
@@ -56,11 +51,18 @@ const installRDTHook = (onActive) => {
56
51
  }
57
52
  return nextID;
58
53
  },
59
- _instrumentationSource: BIPPY_INSTRUMENTATION_STRING,
60
- _instrumentationIsActive: false
54
+ on: NO_OP,
55
+ onCommitFiberRoot: NO_OP,
56
+ onCommitFiberUnmount: NO_OP,
57
+ onPostCommitFiberRoot: NO_OP,
58
+ renderers,
59
+ supportsFiber: true,
60
+ supportsFlight: true
61
61
  };
62
62
  try {
63
63
  objectDefineProperty(globalThis, "__REACT_DEVTOOLS_GLOBAL_HOOK__", {
64
+ configurable: true,
65
+ enumerable: true,
64
66
  get() {
65
67
  return rdtHook;
66
68
  },
@@ -76,24 +78,22 @@ const installRDTHook = (onActive) => {
76
78
  patchRDTHook(onActive);
77
79
  }
78
80
  }
79
- },
80
- configurable: true,
81
- enumerable: true
81
+ }
82
82
  });
83
83
  const originalWindowHasOwnProperty = window.hasOwnProperty;
84
84
  let hasRanHack = false;
85
85
  objectDefineProperty(window, "hasOwnProperty", {
86
- value: function() {
86
+ configurable: true,
87
+ value: function(...args) {
87
88
  try {
88
- if (!hasRanHack && arguments[0] === "__REACT_DEVTOOLS_GLOBAL_HOOK__") {
89
+ if (!hasRanHack && args[0] === "__REACT_DEVTOOLS_GLOBAL_HOOK__") {
89
90
  globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__ = void 0;
90
91
  hasRanHack = true;
91
92
  return -0;
92
93
  }
93
94
  } catch {}
94
- return originalWindowHasOwnProperty.apply(this, arguments);
95
+ return originalWindowHasOwnProperty.apply(this, args);
95
96
  },
96
- configurable: true,
97
97
  writable: true
98
98
  });
99
99
  } catch {
@@ -107,20 +107,21 @@ const patchRDTHook = (onActive) => {
107
107
  const rdtHook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
108
108
  if (!rdtHook) return;
109
109
  if (!rdtHook._instrumentationSource) {
110
+ const isReactDevtools = isRealReactDevtools();
110
111
  rdtHook.checkDCE = checkDCE;
111
112
  rdtHook.supportsFiber = true;
112
113
  rdtHook.supportsFlight = true;
113
114
  rdtHook.hasUnsupportedRendererAttached = false;
114
115
  rdtHook._instrumentationSource = BIPPY_INSTRUMENTATION_STRING;
115
116
  rdtHook._instrumentationIsActive = false;
116
- rdtHook.on = NO_OP;
117
+ if (!isReactDevtools) rdtHook.on = NO_OP;
117
118
  if (rdtHook.renderers.size) {
118
119
  rdtHook._instrumentationIsActive = true;
119
120
  onActiveListeners.forEach((listener) => listener());
120
121
  return;
121
122
  }
122
123
  const prevInject = rdtHook.inject;
123
- if (isReactRefresh(rdtHook) && !isRealReactDevtools()) {
124
+ if (isReactRefresh(rdtHook) && !isReactDevtools) {
124
125
  isReactRefreshOverride = true;
125
126
  const nextID = rdtHook.inject({ scheduleRefresh() {} });
126
127
  if (nextID) rdtHook._instrumentationIsActive = true;
@@ -226,11 +227,11 @@ const isHostFiber = (fiber) => {
226
227
  */
227
228
  const isCompositeFiber = (fiber) => {
228
229
  switch (fiber.tag) {
229
- case FunctionComponentTag:
230
230
  case ClassComponentTag:
231
- case SimpleMemoComponentTag:
231
+ case ForwardRefTag:
232
+ case FunctionComponentTag:
232
233
  case MemoComponentTag:
233
- case ForwardRefTag: return true;
234
+ case SimpleMemoComponentTag: return true;
234
235
  default: return false;
235
236
  }
236
237
  };
@@ -281,7 +282,7 @@ const traverseProps = (fiber, selector) => {
281
282
  try {
282
283
  const nextProps = fiber.memoizedProps;
283
284
  const prevProps = fiber.alternate?.memoizedProps || {};
284
- const allKeys = new Set([...Object.keys(prevProps), ...Object.keys(nextProps)]);
285
+ const allKeys = new Set([...Object.keys(nextProps), ...Object.keys(prevProps)]);
285
286
  for (const propName of allKeys) {
286
287
  const prevValue = prevProps?.[propName];
287
288
  const nextValue = nextProps?.[propName];
@@ -299,9 +300,9 @@ const didFiberRender = (fiber) => {
299
300
  const flags = fiber.flags ?? fiber.effectTag ?? 0;
300
301
  switch (fiber.tag) {
301
302
  case ClassComponentTag:
302
- case FunctionComponentTag:
303
303
  case ContextConsumerTag:
304
304
  case ForwardRefTag:
305
+ case FunctionComponentTag:
305
306
  case MemoComponentTag:
306
307
  case SimpleMemoComponentTag: return (flags & PerformedWork) === PerformedWork;
307
308
  default:
@@ -353,8 +354,8 @@ const getFiberStack = (fiber) => {
353
354
  const shouldFilterFiber = (fiber) => {
354
355
  switch (fiber.tag) {
355
356
  case DehydratedSuspenseComponentTag: return true;
356
- case HostTextTag:
357
357
  case FragmentTag:
358
+ case HostTextTag:
358
359
  case LegacyHiddenComponentTag:
359
360
  case OffscreenComponentTag: return true;
360
361
  case HostRootTag: return false;
@@ -608,8 +609,8 @@ const traverseRenderedFibers = (root, onRender) => {
608
609
  let rootInstance = rootInstanceMap.get(root);
609
610
  if (!rootInstance) {
610
611
  rootInstance = {
611
- prevFiber: null,
612
- id: commitId++
612
+ id: commitId++,
613
+ prevFiber: null
613
614
  };
614
615
  rootInstanceMap.set(root, rootInstance);
615
616
  }
@@ -640,9 +641,9 @@ const injectOverrideMethods = () => {
640
641
  const rdtHook = getRDTHook();
641
642
  if (!rdtHook?.renderers) return null;
642
643
  if (_overrideProps || _overrideHookState || _overrideContext) return {
643
- overrideProps: _overrideProps,
644
+ overrideContext: _overrideContext,
644
645
  overrideHookState: _overrideHookState,
645
- overrideContext: _overrideContext
646
+ overrideProps: _overrideProps
646
647
  };
647
648
  for (const [_, renderer] of Array.from(rdtHook.renderers)) try {
648
649
  if (_overrideHookState) {
@@ -751,26 +752,36 @@ const overrideContext = (fiber, contextType, partialValue) => {
751
752
  * });
752
753
  */
753
754
  const instrument = (options) => {
754
- return getRDTHook(() => {
755
- const rdtHook = getRDTHook();
756
- options.onActive?.();
757
- rdtHook._instrumentationSource = options.name ?? BIPPY_INSTRUMENTATION_STRING;
758
- const prevOnCommitFiberRoot = rdtHook.onCommitFiberRoot;
759
- if (options.onCommitFiberRoot) rdtHook.onCommitFiberRoot = (rendererID, root, priority) => {
760
- if (prevOnCommitFiberRoot) prevOnCommitFiberRoot(rendererID, root, priority);
755
+ const rdtHook = getRDTHook(options.onActive);
756
+ rdtHook._instrumentationSource = options.name ?? BIPPY_INSTRUMENTATION_STRING;
757
+ const prevOnCommitFiberRoot = rdtHook.onCommitFiberRoot;
758
+ if (options.onCommitFiberRoot) {
759
+ const handler = (rendererID, root, priority) => {
760
+ if (rdtHook.onCommitFiberRoot !== handler) return;
761
+ prevOnCommitFiberRoot?.(rendererID, root, priority);
761
762
  options.onCommitFiberRoot?.(rendererID, root, priority);
762
763
  };
763
- const prevOnCommitFiberUnmount = rdtHook.onCommitFiberUnmount;
764
- if (options.onCommitFiberUnmount) rdtHook.onCommitFiberUnmount = (rendererID, root) => {
765
- if (prevOnCommitFiberUnmount) prevOnCommitFiberUnmount(rendererID, root);
764
+ rdtHook.onCommitFiberRoot = handler;
765
+ }
766
+ const prevOnCommitFiberUnmount = rdtHook.onCommitFiberUnmount;
767
+ if (options.onCommitFiberUnmount) {
768
+ const handler = (rendererID, root) => {
769
+ if (rdtHook.onCommitFiberUnmount !== handler) return;
770
+ prevOnCommitFiberUnmount?.(rendererID, root);
766
771
  options.onCommitFiberUnmount?.(rendererID, root);
767
772
  };
768
- const prevOnPostCommitFiberRoot = rdtHook.onPostCommitFiberRoot;
769
- if (options.onPostCommitFiberRoot) rdtHook.onPostCommitFiberRoot = (rendererID, root) => {
770
- if (prevOnPostCommitFiberRoot) prevOnPostCommitFiberRoot(rendererID, root);
773
+ rdtHook.onCommitFiberUnmount = handler;
774
+ }
775
+ const prevOnPostCommitFiberRoot = rdtHook.onPostCommitFiberRoot;
776
+ if (options.onPostCommitFiberRoot) {
777
+ const handler = (rendererID, root) => {
778
+ if (rdtHook.onPostCommitFiberRoot !== handler) return;
779
+ prevOnPostCommitFiberRoot?.(rendererID, root);
771
780
  options.onPostCommitFiberRoot?.(rendererID, root);
772
781
  };
773
- });
782
+ rdtHook.onPostCommitFiberRoot = handler;
783
+ }
784
+ return rdtHook;
774
785
  };
775
786
  const getFiberFromHostInstance = (hostInstance) => {
776
787
  const rdtHook = getRDTHook();
@@ -1,103 +1,103 @@
1
1
  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";
2
2
 
3
3
  //#region src/types.d.ts
4
- interface ReactDevToolsGlobalHook {
5
- checkDCE: (fn: unknown) => void;
6
- supportsFiber: boolean;
7
- supportsFlight: boolean;
8
- renderers: Map<number, ReactRenderer>;
9
- hasUnsupportedRendererAttached: boolean;
10
- onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: void | number) => void;
11
- onCommitFiberUnmount: (rendererID: number, fiber: Fiber$1) => void;
12
- onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
13
- inject: (renderer: ReactRenderer) => number;
14
- _instrumentationSource?: string;
15
- _instrumentationIsActive?: boolean;
16
- on: () => void;
4
+ interface ContextDependency<T> {
5
+ context: ReactContext<T>;
6
+ memoizedValue: T;
7
+ next: ContextDependency<unknown> | null;
8
+ observedBits: number;
9
+ }
10
+ interface Dependencies {
11
+ firstContext: ContextDependency<unknown> | null;
12
+ lanes: Lanes;
13
+ }
14
+ interface Effect {
15
+ [key: string]: unknown;
16
+ create: (...args: unknown[]) => unknown;
17
+ deps: null | unknown[];
18
+ destroy: ((...args: unknown[]) => unknown) | null;
19
+ next: Effect | null;
20
+ tag: number;
21
+ }
22
+ interface Family {
23
+ current: unknown;
17
24
  }
18
25
  /**
19
26
  * Represents a react-internal Fiber node.
20
27
  */
21
- type Fiber$1<T = any> = Omit<Fiber, 'stateNode' | 'dependencies' | 'child' | 'sibling' | 'return' | 'alternate' | 'memoizedProps' | 'pendingProps' | 'memoizedState' | 'updateQueue'> & {
22
- stateNode: T;
23
- dependencies: Dependencies | null;
24
- child: Fiber$1 | null;
25
- sibling: Fiber$1 | null;
26
- return: Fiber$1 | null;
28
+ type Fiber$1<T = any> = Omit<Fiber, 'alternate' | 'child' | 'dependencies' | 'memoizedProps' | 'memoizedState' | 'pendingProps' | 'return' | 'sibling' | 'stateNode' | 'updateQueue'> & {
29
+ _debugInfo?: Array<{
30
+ debugLocation?: unknown;
31
+ env?: string;
32
+ name?: string;
33
+ }>;
34
+ _debugOwner?: Fiber$1;
35
+ _debugSource?: {
36
+ columnNumber?: number;
37
+ fileName: string;
38
+ lineNumber: number;
39
+ };
40
+ _debugStack?: Error;
27
41
  alternate: Fiber$1 | null;
42
+ child: Fiber$1 | null;
43
+ dependencies: Dependencies | null;
28
44
  memoizedProps: Props;
29
- pendingProps: Props;
30
45
  memoizedState: MemoizedState;
46
+ pendingProps: Props;
47
+ return: Fiber$1 | null;
48
+ sibling: Fiber$1 | null;
49
+ stateNode: T;
31
50
  updateQueue: {
32
- lastEffect: Effect | null;
33
51
  [key: string]: unknown;
52
+ lastEffect: Effect | null;
34
53
  };
35
- _debugSource?: {
36
- fileName: string;
37
- lineNumber: number;
38
- columnNumber?: number;
39
- };
40
- _debugStack?: Error;
41
- _debugOwner?: Fiber$1;
42
- _debugInfo?: Array<{
43
- name?: string;
44
- env?: string;
45
- debugLocation?: unknown;
46
- }>;
47
54
  };
48
- interface Family {
49
- current: unknown;
55
+ interface MemoizedState {
56
+ [key: string]: unknown;
57
+ memoizedState: unknown;
58
+ next: MemoizedState | null;
59
+ }
60
+ interface Props {
61
+ [key: string]: unknown;
62
+ }
63
+ interface ReactDevToolsGlobalHook {
64
+ _instrumentationIsActive?: boolean;
65
+ _instrumentationSource?: string;
66
+ checkDCE: (fn: unknown) => void;
67
+ hasUnsupportedRendererAttached: boolean;
68
+ inject: (renderer: ReactRenderer) => number;
69
+ on: () => void;
70
+ onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: number | void) => void;
71
+ onCommitFiberUnmount: (rendererID: number, fiber: Fiber$1) => void;
72
+ onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
73
+ renderers: Map<number, ReactRenderer>;
74
+ supportsFiber: boolean;
75
+ supportsFlight: boolean;
50
76
  }
51
77
  interface ReactRenderer {
52
- version: string;
53
78
  bundleType: 0 | 1;
54
79
  currentDispatcherRef: any;
55
- reconcilerVersion: string;
56
- rendererPackageName: string;
57
80
  findFiberByHostInstance?: (hostInstance: unknown) => Fiber$1 | null;
81
+ getCurrentFiber?: (fiber: Fiber$1) => Fiber$1 | null;
82
+ overrideContext?: (fiber: Fiber$1, contextType: unknown, path: string[], value: unknown) => void;
58
83
  overrideHookState?: (fiber: Fiber$1, id: string, path: string[], value: unknown) => void;
84
+ overrideHookStateDeletePath?: (fiber: Fiber$1, id: number, path: Array<number | string>) => void;
85
+ overrideHookStateRenamePath?: (fiber: Fiber$1, id: number, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
59
86
  overrideProps?: (fiber: Fiber$1, path: string[], value: unknown) => void;
60
- overrideContext?: (fiber: Fiber$1, contextType: unknown, path: string[], value: unknown) => void;
61
- overrideHookStateDeletePath?: (fiber: Fiber$1, id: number, path: Array<string | number>) => void;
62
- overrideHookStateRenamePath?: (fiber: Fiber$1, id: number, oldPath: Array<string | number>, newPath: Array<string | number>) => void;
63
- overridePropsDeletePath?: (fiber: Fiber$1, path: Array<string | number>) => void;
64
- overridePropsRenamePath?: (fiber: Fiber$1, oldPath: Array<string | number>, newPath: Array<string | number>) => void;
65
- scheduleUpdate?: (fiber: Fiber$1) => void;
66
- setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber$1) => boolean) => void;
67
- setSuspenseHandler?: (newShouldSuspendImpl: (suspenseInstance: unknown) => void) => void;
87
+ overridePropsDeletePath?: (fiber: Fiber$1, path: Array<number | string>) => void;
88
+ overridePropsRenamePath?: (fiber: Fiber$1, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
89
+ reconcilerVersion: string;
90
+ rendererPackageName: string;
68
91
  scheduleRefresh?: (root: FiberRoot, update: {
69
92
  staleFamilies: Set<Family>;
70
93
  updatedFamilies: Set<Family>;
71
94
  }) => void;
72
95
  scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
96
+ scheduleUpdate?: (fiber: Fiber$1) => void;
97
+ setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber$1) => boolean) => void;
73
98
  setRefreshHandler?: (handler: ((fiber: Fiber$1) => Family | null) | null) => void;
74
- getCurrentFiber?: (fiber: Fiber$1) => Fiber$1 | null;
75
- }
76
- interface ContextDependency<T> {
77
- context: ReactContext<T>;
78
- memoizedValue: T;
79
- observedBits: number;
80
- next: ContextDependency<unknown> | null;
81
- }
82
- interface Dependencies {
83
- lanes: Lanes;
84
- firstContext: ContextDependency<unknown> | null;
85
- }
86
- interface Effect {
87
- next: Effect | null;
88
- create: (...args: unknown[]) => unknown;
89
- destroy: ((...args: unknown[]) => unknown) | null;
90
- deps: unknown[] | null;
91
- tag: number;
92
- [key: string]: unknown;
93
- }
94
- interface MemoizedState {
95
- memoizedState: unknown;
96
- next: MemoizedState | null;
97
- [key: string]: unknown;
98
- }
99
- interface Props {
100
- [key: string]: unknown;
99
+ setSuspenseHandler?: (newShouldSuspendImpl: (suspenseInstance: unknown) => void) => void;
100
+ version: string;
101
101
  }
102
102
  declare global {
103
103
  var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined;