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.
- package/README.md +14 -14
- package/dist/experiments/inspect.cjs +70 -994
- package/dist/experiments/inspect.d.cts +6 -6
- package/dist/experiments/inspect.d.ts +6 -6
- package/dist/experiments/inspect.js +70 -994
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +14 -14
- package/dist/index.d.ts +14 -14
- package/dist/index.iife.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{source-VilPky0v.cjs → source-BAPwFAwe.cjs} +19 -19
- package/dist/{source-CBCTB51B.js → source-D2grjLFe.js} +19 -19
- package/dist/source.cjs +2 -2
- package/dist/source.d.cts +6 -6
- package/dist/source.d.ts +6 -6
- package/dist/source.js +2 -2
- package/dist/{src-De8xuJ2u.js → src-DnJsD_Sy.js} +54 -43
- package/dist/{src-A8WUWcnF.cjs → src-J3uOnLH2.cjs} +54 -43
- package/dist/{types-Bud6qf-i.d.ts → types-D7j5ftmS.d.ts} +73 -73
- package/dist/{types-CmdVtE8u.d.cts → types-Da_t1jWa.d.cts} +73 -73
- package/package.json +2 -5
|
@@ -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.
|
|
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
|
-
|
|
59
|
-
|
|
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
|
-
|
|
85
|
+
configurable: true,
|
|
86
|
+
value: function(...args) {
|
|
86
87
|
try {
|
|
87
|
-
if (!hasRanHack &&
|
|
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,
|
|
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) && !
|
|
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
|
|
230
|
+
case ForwardRefTag:
|
|
231
|
+
case FunctionComponentTag:
|
|
231
232
|
case MemoComponentTag:
|
|
232
|
-
case
|
|
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(
|
|
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
|
-
|
|
611
|
-
|
|
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
|
-
|
|
643
|
+
overrideContext: _overrideContext,
|
|
643
644
|
overrideHookState: _overrideHookState,
|
|
644
|
-
|
|
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
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
const
|
|
758
|
-
|
|
759
|
-
|
|
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
|
-
|
|
763
|
-
|
|
764
|
-
|
|
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
|
-
|
|
768
|
-
|
|
769
|
-
|
|
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.
|
|
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
|
-
|
|
60
|
-
|
|
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
|
-
|
|
86
|
+
configurable: true,
|
|
87
|
+
value: function(...args) {
|
|
87
88
|
try {
|
|
88
|
-
if (!hasRanHack &&
|
|
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,
|
|
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) && !
|
|
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
|
|
231
|
+
case ForwardRefTag:
|
|
232
|
+
case FunctionComponentTag:
|
|
232
233
|
case MemoComponentTag:
|
|
233
|
-
case
|
|
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(
|
|
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
|
-
|
|
612
|
-
|
|
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
|
-
|
|
644
|
+
overrideContext: _overrideContext,
|
|
644
645
|
overrideHookState: _overrideHookState,
|
|
645
|
-
|
|
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
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
const
|
|
759
|
-
|
|
760
|
-
|
|
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
|
-
|
|
764
|
-
|
|
765
|
-
|
|
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
|
-
|
|
769
|
-
|
|
770
|
-
|
|
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
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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, '
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
|
49
|
-
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
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;
|