Skip to content

Commit aa0e98b

Browse files
fix.
1 parent 5b0ab0c commit aa0e98b

File tree

6 files changed

+367
-37
lines changed

6 files changed

+367
-37
lines changed

chrome/public/bundle/detector.js

Lines changed: 58 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,7 +1558,10 @@
15581558
throw new Error("An unsupported type was passed to use(): " + String(usable));
15591559
}
15601560
function useContext(context) {
1561-
nextHook();
1561+
var hook = nextHook();
1562+
if (hook && hook.type !== reactShared.HOOK_TYPE.useContext) {
1563+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1564+
}
15621565
var value = readContext(context);
15631566
hookLog.push({
15641567
displayName: context.displayName || null,
@@ -1571,6 +1574,9 @@
15711574
}
15721575
function useState(initialState) {
15731576
var hook = nextHook();
1577+
if (hook && hook.type !== reactShared.HOOK_TYPE.useState) {
1578+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1579+
}
15741580
var typedInitialState = initialState;
15751581
var state = hook ? hook.result : typeof initialState === "function" ? typedInitialState() : initialState;
15761582
hookLog.push({
@@ -1584,6 +1590,9 @@
15841590
}
15851591
function useReducer(reducer, initialArg, init) {
15861592
var hook = nextHook();
1593+
if (hook && hook.type !== reactShared.HOOK_TYPE.useReducer) {
1594+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1595+
}
15871596
var state = hook ? hook.result : init !== undefined ? init(initialArg) : initialArg;
15881597
hookLog.push({
15891598
displayName: null,
@@ -1596,6 +1605,9 @@
15961605
}
15971606
function useRef(initialValue) {
15981607
var hook = nextHook();
1608+
if (hook && hook.type !== reactShared.HOOK_TYPE.useRef) {
1609+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1610+
}
15991611
var ref = hook ? hook.result : { current: initialValue };
16001612
hookLog.push({
16011613
displayName: null,
@@ -1607,7 +1619,10 @@
16071619
return ref;
16081620
}
16091621
function useLayoutEffect(create, inputs) {
1610-
nextHook();
1622+
var hook = nextHook();
1623+
if (hook && hook.type !== reactShared.HOOK_TYPE.useLayoutEffect) {
1624+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1625+
}
16111626
hookLog.push({
16121627
displayName: null,
16131628
primitive: "LayoutEffect",
@@ -1617,7 +1632,10 @@
16171632
});
16181633
}
16191634
function useInsertionEffect(create, inputs) {
1620-
nextHook();
1635+
var hook = nextHook();
1636+
if (hook && hook.type !== reactShared.HOOK_TYPE.useInsertionEffect) {
1637+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1638+
}
16211639
hookLog.push({
16221640
displayName: null,
16231641
primitive: "InsertionEffect",
@@ -1627,7 +1645,10 @@
16271645
});
16281646
}
16291647
function useEffect(create, deps) {
1630-
nextHook();
1648+
var hook = nextHook();
1649+
if (hook && hook.type !== reactShared.HOOK_TYPE.useEffect) {
1650+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1651+
}
16311652
hookLog.push({
16321653
displayName: null,
16331654
primitive: "Effect",
@@ -1637,7 +1658,10 @@
16371658
});
16381659
}
16391660
function useImperativeHandle(ref, create, inputs) {
1640-
nextHook();
1661+
var hook = nextHook();
1662+
if (hook && hook.type !== reactShared.HOOK_TYPE.useImperativeHandle) {
1663+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1664+
}
16411665
// We don't actually store the instance anywhere if there is no ref callback
16421666
// and if there is a ref callback it might not store it but if it does we
16431667
// have no way of knowing where. So let's only enable introspection of the
@@ -1655,6 +1679,10 @@
16551679
});
16561680
}
16571681
function useDebugValue(value, formatterFn) {
1682+
var hook = nextHook();
1683+
if (hook && hook.type !== reactShared.HOOK_TYPE.useDebugValue) {
1684+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1685+
}
16581686
hookLog.push({
16591687
displayName: null,
16601688
primitive: "DebugValue",
@@ -1665,6 +1693,9 @@
16651693
}
16661694
function useCallback(callback, inputs) {
16671695
var hook = nextHook();
1696+
if (hook && hook.type !== reactShared.HOOK_TYPE.useCallback) {
1697+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1698+
}
16681699
var value = hook ? hook.result : callback;
16691700
hookLog.push({
16701701
displayName: null,
@@ -1677,6 +1708,9 @@
16771708
}
16781709
function useMemo(nextCreate, inputs) {
16791710
var hook = nextHook();
1711+
if (hook && hook.type !== reactShared.HOOK_TYPE.useMemo) {
1712+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1713+
}
16801714
var value = hook ? hook.result : nextCreate();
16811715
hookLog.push({
16821716
displayName: null,
@@ -1688,7 +1722,10 @@
16881722
return value;
16891723
}
16901724
function useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
1691-
nextHook();
1725+
var hook = nextHook();
1726+
if (hook && hook.type !== reactShared.HOOK_TYPE.useSyncExternalStore) {
1727+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1728+
}
16921729
var value = getSnapshot();
16931730
hookLog.push({
16941731
displayName: null,
@@ -1701,6 +1738,9 @@
17011738
}
17021739
function useTransition() {
17031740
var hook = nextHook();
1741+
if (hook && hook.type !== reactShared.HOOK_TYPE.useTransition) {
1742+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1743+
}
17041744
var isPending = hook ? hook.result[0] : false;
17051745
hookLog.push({
17061746
displayName: null,
@@ -1713,6 +1753,9 @@
17131753
}
17141754
function useDeferredValue(value, initialValue) {
17151755
var hook = nextHook();
1756+
if (hook && hook.type !== reactShared.HOOK_TYPE.useDeferredValue) {
1757+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1758+
}
17161759
var prevValue = hook ? hook.result : value;
17171760
hookLog.push({
17181761
displayName: null,
@@ -1725,6 +1768,9 @@
17251768
}
17261769
function useId() {
17271770
var hook = nextHook();
1771+
if (hook && hook.type !== reactShared.HOOK_TYPE.useId) {
1772+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1773+
}
17281774
var id = hook ? hook.result : "";
17291775
hookLog.push({
17301776
displayName: null,
@@ -1737,6 +1783,9 @@
17371783
}
17381784
function useSignal(initial) {
17391785
var hook = nextHook();
1786+
if (hook && hook.type !== reactShared.HOOK_TYPE.useSignal) {
1787+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1788+
}
17401789
var value = hook ? hook.result.getValue : typeof initial === "function" ? initial : function () { return initial; };
17411790
hookLog.push({
17421791
displayName: null,
@@ -2047,6 +2096,9 @@
20472096
// the Hooks but we can at least show what ever we got so far.
20482097
return;
20492098
}
2099+
if (reactShared.isPromise(error)) {
2100+
return;
2101+
}
20502102
if (error instanceof Error && error.name === "ReactDebugToolsUnsupportedHookError") {
20512103
throw error;
20522104
}

chrome/public/bundle/hook.js

Lines changed: 58 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,7 +1560,10 @@
15601560
throw new Error("An unsupported type was passed to use(): " + String(usable));
15611561
}
15621562
function useContext(context) {
1563-
nextHook();
1563+
var hook = nextHook();
1564+
if (hook && hook.type !== reactShared.HOOK_TYPE.useContext) {
1565+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1566+
}
15641567
var value = readContext(context);
15651568
hookLog.push({
15661569
displayName: context.displayName || null,
@@ -1573,6 +1576,9 @@
15731576
}
15741577
function useState(initialState) {
15751578
var hook = nextHook();
1579+
if (hook && hook.type !== reactShared.HOOK_TYPE.useState) {
1580+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1581+
}
15761582
var typedInitialState = initialState;
15771583
var state = hook ? hook.result : typeof initialState === "function" ? typedInitialState() : initialState;
15781584
hookLog.push({
@@ -1586,6 +1592,9 @@
15861592
}
15871593
function useReducer(reducer, initialArg, init) {
15881594
var hook = nextHook();
1595+
if (hook && hook.type !== reactShared.HOOK_TYPE.useReducer) {
1596+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1597+
}
15891598
var state = hook ? hook.result : init !== undefined ? init(initialArg) : initialArg;
15901599
hookLog.push({
15911600
displayName: null,
@@ -1598,6 +1607,9 @@
15981607
}
15991608
function useRef(initialValue) {
16001609
var hook = nextHook();
1610+
if (hook && hook.type !== reactShared.HOOK_TYPE.useRef) {
1611+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1612+
}
16011613
var ref = hook ? hook.result : { current: initialValue };
16021614
hookLog.push({
16031615
displayName: null,
@@ -1609,7 +1621,10 @@
16091621
return ref;
16101622
}
16111623
function useLayoutEffect(create, inputs) {
1612-
nextHook();
1624+
var hook = nextHook();
1625+
if (hook && hook.type !== reactShared.HOOK_TYPE.useLayoutEffect) {
1626+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1627+
}
16131628
hookLog.push({
16141629
displayName: null,
16151630
primitive: "LayoutEffect",
@@ -1619,7 +1634,10 @@
16191634
});
16201635
}
16211636
function useInsertionEffect(create, inputs) {
1622-
nextHook();
1637+
var hook = nextHook();
1638+
if (hook && hook.type !== reactShared.HOOK_TYPE.useInsertionEffect) {
1639+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1640+
}
16231641
hookLog.push({
16241642
displayName: null,
16251643
primitive: "InsertionEffect",
@@ -1629,7 +1647,10 @@
16291647
});
16301648
}
16311649
function useEffect(create, deps) {
1632-
nextHook();
1650+
var hook = nextHook();
1651+
if (hook && hook.type !== reactShared.HOOK_TYPE.useEffect) {
1652+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1653+
}
16331654
hookLog.push({
16341655
displayName: null,
16351656
primitive: "Effect",
@@ -1639,7 +1660,10 @@
16391660
});
16401661
}
16411662
function useImperativeHandle(ref, create, inputs) {
1642-
nextHook();
1663+
var hook = nextHook();
1664+
if (hook && hook.type !== reactShared.HOOK_TYPE.useImperativeHandle) {
1665+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1666+
}
16431667
// We don't actually store the instance anywhere if there is no ref callback
16441668
// and if there is a ref callback it might not store it but if it does we
16451669
// have no way of knowing where. So let's only enable introspection of the
@@ -1657,6 +1681,10 @@
16571681
});
16581682
}
16591683
function useDebugValue(value, formatterFn) {
1684+
var hook = nextHook();
1685+
if (hook && hook.type !== reactShared.HOOK_TYPE.useDebugValue) {
1686+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1687+
}
16601688
hookLog.push({
16611689
displayName: null,
16621690
primitive: "DebugValue",
@@ -1667,6 +1695,9 @@
16671695
}
16681696
function useCallback(callback, inputs) {
16691697
var hook = nextHook();
1698+
if (hook && hook.type !== reactShared.HOOK_TYPE.useCallback) {
1699+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1700+
}
16701701
var value = hook ? hook.result : callback;
16711702
hookLog.push({
16721703
displayName: null,
@@ -1679,6 +1710,9 @@
16791710
}
16801711
function useMemo(nextCreate, inputs) {
16811712
var hook = nextHook();
1713+
if (hook && hook.type !== reactShared.HOOK_TYPE.useMemo) {
1714+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1715+
}
16821716
var value = hook ? hook.result : nextCreate();
16831717
hookLog.push({
16841718
displayName: null,
@@ -1690,7 +1724,10 @@
16901724
return value;
16911725
}
16921726
function useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
1693-
nextHook();
1727+
var hook = nextHook();
1728+
if (hook && hook.type !== reactShared.HOOK_TYPE.useSyncExternalStore) {
1729+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1730+
}
16941731
var value = getSnapshot();
16951732
hookLog.push({
16961733
displayName: null,
@@ -1703,6 +1740,9 @@
17031740
}
17041741
function useTransition() {
17051742
var hook = nextHook();
1743+
if (hook && hook.type !== reactShared.HOOK_TYPE.useTransition) {
1744+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1745+
}
17061746
var isPending = hook ? hook.result[0] : false;
17071747
hookLog.push({
17081748
displayName: null,
@@ -1715,6 +1755,9 @@
17151755
}
17161756
function useDeferredValue(value, initialValue) {
17171757
var hook = nextHook();
1758+
if (hook && hook.type !== reactShared.HOOK_TYPE.useDeferredValue) {
1759+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1760+
}
17181761
var prevValue = hook ? hook.result : value;
17191762
hookLog.push({
17201763
displayName: null,
@@ -1727,6 +1770,9 @@
17271770
}
17281771
function useId() {
17291772
var hook = nextHook();
1773+
if (hook && hook.type !== reactShared.HOOK_TYPE.useId) {
1774+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1775+
}
17301776
var id = hook ? hook.result : "";
17311777
hookLog.push({
17321778
displayName: null,
@@ -1739,6 +1785,9 @@
17391785
}
17401786
function useSignal(initial) {
17411787
var hook = nextHook();
1788+
if (hook && hook.type !== reactShared.HOOK_TYPE.useSignal) {
1789+
throw new Error("Invalid hook type, look like a bug for @my-react/devtools");
1790+
}
17421791
var value = hook ? hook.result.getValue : typeof initial === "function" ? initial : function () { return initial; };
17431792
hookLog.push({
17441793
displayName: null,
@@ -2049,6 +2098,9 @@
20492098
// the Hooks but we can at least show what ever we got so far.
20502099
return;
20512100
}
2101+
if (reactShared.isPromise(error)) {
2102+
return;
2103+
}
20522104
if (error instanceof Error && error.name === "ReactDebugToolsUnsupportedHookError") {
20532105
throw error;
20542106
}

0 commit comments

Comments
 (0)