bippy 0.6.1-dev.61475ed → 0.6.1-dev.a3b3942
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/LICENSE +1 -1
- package/README.md +32 -48
- package/dist/core.cjs +1 -1
- package/dist/core.d.cts +45 -60
- package/dist/core.d.ts +45 -60
- package/dist/core.js +1 -1
- package/dist/core2.cjs +9 -0
- package/dist/core2.d.cts +11 -3
- package/dist/core2.d.ts +11 -3
- package/dist/core2.js +9 -0
- package/dist/errors.d.cts +420 -0
- package/dist/errors.d.ts +420 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +11 -3
- package/dist/index.d.ts +11 -3
- package/dist/index.iife.js +1 -1
- package/dist/index.js +1 -1
- package/dist/install-hook-only.cjs +1 -1
- package/dist/install-hook-only.d.cts +9 -1
- package/dist/install-hook-only.d.ts +9 -1
- package/dist/install-hook-only.iife.js +1 -1
- package/dist/install-hook-only.js +1 -1
- package/dist/rdt-hook.cjs +1 -1
- package/dist/rdt-hook.js +1 -1
- package/dist/source.cjs +14 -5
- package/dist/source.d.cts +27 -11
- package/dist/source.d.ts +27 -11
- package/dist/source.js +14 -5
- package/package.json +22 -16
- package/src/core.ts +349 -328
- package/src/errors.ts +34 -0
- package/src/install-hook-only.ts +2 -2
- package/src/rdt-hook.ts +160 -161
- package/src/react-internals/generated/react-work-tags.ts +318 -0
- package/src/react-internals/index.ts +67 -0
- package/src/react-internals/semver.ts +80 -0
- package/src/react-internals/types.ts +197 -0
- package/src/source/constants.ts +1 -1
- package/src/source/error-stack.ts +11 -0
- package/src/source/get-display-name-from-source.ts +32 -25
- package/src/source/get-source.ts +5 -5
- package/src/source/index.ts +9 -1
- package/src/source/inspect-hooks.ts +215 -182
- package/src/source/owner-stack.ts +127 -166
- package/src/source/parse-debug-stack.ts +4 -4
- package/src/source/parse-hook-names.ts +1 -1
- package/src/source/parse-stack.ts +1 -3
- package/src/source/symbolication.ts +490 -90
- package/dist/get-source.cjs +0 -19
- package/dist/get-source.js +0 -19
- package/dist/react-refresh.cjs +0 -9
- package/dist/react-refresh.d.cts +0 -66
- package/dist/react-refresh.d.ts +0 -66
- package/dist/react-refresh.js +0 -9
- package/dist/unsubscribe.d.cts +0 -298
- package/dist/unsubscribe.d.ts +0 -298
- package/src/react-refresh/constants.ts +0 -9
- package/src/react-refresh/detect-hmr-transport.ts +0 -33
- package/src/react-refresh/index.ts +0 -173
- package/src/react-refresh/metro-hmr-transport.ts +0 -188
- package/src/react-refresh/next-webpack-hmr-transport.ts +0 -72
- package/src/react-refresh/normalize-hmr-file-path.ts +0 -24
- package/src/react-refresh/types.ts +0 -7
- package/src/react-refresh/vite-hmr-transport.ts +0 -116
- package/src/types.ts +0 -438
- package/src/unsubscribe.ts +0 -17
package/LICENSE
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright 2024 Aiden Bai
|
|
1
|
+
Copyright 2024-present Aiden Bai
|
|
2
2
|
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
4
|
|
package/README.md
CHANGED
|
@@ -192,6 +192,8 @@ const unsubscribe = instrument({
|
|
|
192
192
|
unsubscribe();
|
|
193
193
|
```
|
|
194
194
|
|
|
195
|
+
instrumentation, React DevTools, and hook-listener failures propagate unchanged. callback dispatch stops at the failure so the caller controls error handling. failures created by bippy, such as unsupported hooks and source-map timeouts, use the exported `BippyError` subclasses.
|
|
196
|
+
|
|
195
197
|
### getRDTHook
|
|
196
198
|
|
|
197
199
|
returns the `window.__REACT_DEVTOOLS_GLOBAL_HOOK__` object. great for advanced use cases, such as accessing or modifying the `renderers` property.
|
|
@@ -337,9 +339,7 @@ import { memo } from "react";
|
|
|
337
339
|
const RealComponent = () => {
|
|
338
340
|
return <div>hello</div>;
|
|
339
341
|
};
|
|
340
|
-
const MemoizedComponent = memo(
|
|
341
|
-
return <div>hello</div>;
|
|
342
|
-
});
|
|
342
|
+
const MemoizedComponent = memo(RealComponent);
|
|
343
343
|
|
|
344
344
|
console.log(getType(fiberForMemoizedComponent) === RealComponent);
|
|
345
345
|
```
|
|
@@ -492,26 +492,13 @@ the function traverses up the fiber tree to find the context provider matching t
|
|
|
492
492
|
|
|
493
493
|
### getSource
|
|
494
494
|
|
|
495
|
-
gets the source code location of
|
|
495
|
+
gets the source code location of any fiber with development source metadata. resolution is based on fiber debug data and source maps, so it is independent of the renderer's host instances and works with DOM, native, terminal, canvas, PDF, and custom reconcilers.
|
|
496
496
|
|
|
497
497
|
```typescript
|
|
498
498
|
import { getSource } from "bippy/source";
|
|
499
499
|
|
|
500
|
-
|
|
501
|
-
const
|
|
502
|
-
|
|
503
|
-
// get nearest composite fiber up the tree
|
|
504
|
-
const compositeFiber = traverseFiber(
|
|
505
|
-
hostFiber,
|
|
506
|
-
(fiber) => {
|
|
507
|
-
if (isCompositeFiber(fiber)) {
|
|
508
|
-
return fiber;
|
|
509
|
-
}
|
|
510
|
-
},
|
|
511
|
-
true,
|
|
512
|
-
);
|
|
513
|
-
|
|
514
|
-
const source = await getSource(compositeFiber);
|
|
500
|
+
const fiber = getFiberFromHostInstance(hostInstance);
|
|
501
|
+
const source = await getSource(fiber);
|
|
515
502
|
// {
|
|
516
503
|
// columnNumber: 12,
|
|
517
504
|
// fileName: 'path/to/file.tsx',
|
|
@@ -522,10 +509,13 @@ const source = await getSource(compositeFiber);
|
|
|
522
509
|
> **caveats:**
|
|
523
510
|
>
|
|
524
511
|
> - only available in dev mode
|
|
525
|
-
> -
|
|
526
|
-
> - captures the location where the
|
|
527
|
-
> -
|
|
528
|
-
> -
|
|
512
|
+
> - source availability is controlled by react and the renderer; production builds normally remove debug metadata
|
|
513
|
+
> - captures the location where the element is _used_; definition locations are recovered when react exposes an owned child debug stack
|
|
514
|
+
> - react 18 requires `_debugSource` from the JSX source transform (see [react#31981](https://github.com/facebook/react/issues/31981))
|
|
515
|
+
> - react 19 uses `_debugStack` and works for both composite and host fibers
|
|
516
|
+
> - source-map fetching is optional; runtimes without `fetch` still receive the unsymbolicated source location
|
|
517
|
+
|
|
518
|
+
`getSourceMap` accepts an optional fetch implementation plus request limits, an abort signal, and a timeout. its cache is scoped to the fetch implementation so credentials or virtual file systems cannot leak results into each other.
|
|
529
519
|
|
|
530
520
|
### getOwnerStack / getParentStack
|
|
531
521
|
|
|
@@ -545,31 +535,6 @@ const parentFrames = await getParentStack(fiber);
|
|
|
545
535
|
// includes every wrapper between the fiber and the root
|
|
546
536
|
```
|
|
547
537
|
|
|
548
|
-
### instrumentReactRefresh
|
|
549
|
-
|
|
550
|
-
subscribes to fast refresh (HMR) updates from `bippy/react-refresh`. works with any bundler that uses react-refresh (vite, next.js webpack, next.js turbopack, metro) without bundler-specific code: bippy auto-detects the bundler's HMR transport and augments each update with the hot-updated source file paths.
|
|
551
|
-
|
|
552
|
-
the handler runs after react has re-rendered with the new component types, so `updatedFibers`/`staleFibers` are the mounted fibers matching the hot-swapped component types.
|
|
553
|
-
|
|
554
|
-
returns an unsubscribe function (a no-op during SSR, so no environment checks needed). the returned function is also a `Disposable`, so it works with `using`.
|
|
555
|
-
|
|
556
|
-
```typescript
|
|
557
|
-
import { instrumentReactRefresh } from "bippy/react-refresh";
|
|
558
|
-
import { getDisplayName } from "bippy";
|
|
559
|
-
|
|
560
|
-
const unsubscribe = instrumentReactRefresh({
|
|
561
|
-
onRefresh(update) {
|
|
562
|
-
for (const fiber of update.updatedFibers) {
|
|
563
|
-
console.log("hot updated:", getDisplayName(fiber.type));
|
|
564
|
-
}
|
|
565
|
-
console.log("changed files:", update.filePaths);
|
|
566
|
-
},
|
|
567
|
-
});
|
|
568
|
-
|
|
569
|
-
// later
|
|
570
|
-
unsubscribe();
|
|
571
|
-
```
|
|
572
|
-
|
|
573
538
|
## example
|
|
574
539
|
|
|
575
540
|
here's a mini toy version of [`react-scan`](https://github.com/aidenybai/react-scan) that highlights renders in your app.
|
|
@@ -631,6 +596,25 @@ instrument({
|
|
|
631
596
|
});
|
|
632
597
|
```
|
|
633
598
|
|
|
599
|
+
## renderer support
|
|
600
|
+
|
|
601
|
+
bippy observes renderers through the React DevTools global hook. a renderer is automatically supported when it injects its reconciler and forwards commits to that hook.
|
|
602
|
+
|
|
603
|
+
| level | renderers | coverage |
|
|
604
|
+
| ------------- | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
|
|
605
|
+
| automatic | React DOM, Remotion | unit matrix and browser e2e |
|
|
606
|
+
| automatic | React Native Fabric, React Native Skia | iOS and Android Detox e2e |
|
|
607
|
+
| automatic | React Three Fiber, Ink, react-nil | unit matrix |
|
|
608
|
+
| automatic | `@opentui/react`, `@pixi/react`, React BabylonJS | unit matrix with non-DOM host instances |
|
|
609
|
+
| compatibility | `@react-pdf/renderer` | its real reconciler root is forwarded through a synthetic DevTools hook bridge because react-pdf does not inject itself |
|
|
610
|
+
| compatibility | React Konva | its exported reconciler is injected by a test bridge because upstream automatic injection is disabled |
|
|
611
|
+
|
|
612
|
+
compatibility entries are not zero-config support claims. the bridge implementations in [`packages/bippy/tests/renderer-adapters.tsx`](packages/bippy/tests/renderer-adapters.tsx) verify bippy's fiber APIs against the real host trees while keeping the missing upstream DevTools integration explicit. React Native Windows, macOS, and NativeScript are not currently asserted.
|
|
613
|
+
|
|
614
|
+
terminal renderers must load bippy before their reconciler initializes. importing `bippy` first works in Node and Bun; `bippy/install-hook-only` is also available as a minimal prelude when application import order is controlled elsewhere. the test suite verifies OpenTUI in clean Node and Bun processes and verifies that Ink can replace the hook with full React DevTools without losing either renderer.
|
|
615
|
+
|
|
616
|
+
`@testing-library/react` is a React DOM testing utility, not a renderer. bippy uses it throughout the test suite, including hydration, event-driven updates, portals, unmounts, and error-boundary recovery.
|
|
617
|
+
|
|
634
618
|
## glossary
|
|
635
619
|
|
|
636
620
|
- fiber: a “unit of execution” in react, representing a component or dom element
|
package/dist/core.cjs
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*/
|
|
9
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./rdt-hook.cjs`),t=60111,n=`Symbol(react.concurrent_mode)`,r=`Symbol(react.async_mode)`,i=13366,a=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&[`Symbol(react.element)`,`Symbol(react.transitional.element)`].includes(String(e.$$typeof)),o=e=>typeof e==`object`&&!!e&&`tag`in e&&`stateNode`in e&&`return`in e&&`child`in e&&`sibling`in e&&`flags`in e,s=e=>{switch(e.tag){case 5:case 26:case 27:return!0;default:return typeof e.type==`string`}},c=e=>{switch(e.tag){case 1:case 11:case 0:case 14:case 15:return!0;default:return!1}},l=e=>!e||typeof e!=`object`?!1:`pendingProps`in e&&!(`containerInfo`in e),u=(e,t)=>{try{let n=e.dependencies,r=e.alternate?.dependencies;if(!n||!r||typeof n!=`object`||!(`firstContext`in n)||typeof r!=`object`||!(`firstContext`in r))return!1;let i=n.firstContext,a=r.firstContext;for(;i&&typeof i==`object`&&`memoizedValue`in i||a&&typeof a==`object`&&`memoizedValue`in a;){if(t(i,a)===!0)return!0;i=i?.next,a=a?.next}}catch{}return!1},ee=(e,t)=>{try{let n=e.memoizedState,r=e.alternate?.memoizedState;for(;n||r;){if(t(n,r)===!0)return!0;n=n?.next,r=r?.next}}catch{}return!1},d=(e,t)=>{try{let n=e.memoizedProps,r=e.alternate?.memoizedProps||{};for(let e of Object.keys(n))if(t(e,n[e],r[e])===!0)return!0;for(let e of Object.keys(r))if(!(e in n)&&t(e,n[e],r[e])===!0)return!0}catch{}return!1},f=e=>{let t=e.memoizedProps,n=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0;switch(e.tag){case 1:case 9:case 11:case 0:case 14:case 15:return(r&1)==1;default:return e.alternate?n!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref:!0}},p=e=>!!(e.flags&(i|8)||e.subtreeFlags&(i|8)),te=e=>{let t=[],n=[e];for(;n.length;){let e=n.pop();e&&(s(e)&&p(e)&&f(e)&&t.push(e),e.child&&n.push(e.child),e.sibling&&n.push(e.sibling))}return t},ne=e=>{let t=[],n=e;for(;n.return;)t.push(n),n=n.return;return t},m=e=>{switch(e.tag){case 18:return!0;case 7:case 6:case 23:case 22:return!0;case 3:return!1;default:{let i=typeof e.type==`object`&&e.type!==null?e.type.$$typeof:e.type;if(typeof i==`symbol`)return i.description===`react.concurrent_mode`||i.description===`react.async_mode`;switch(i){case t:case n:case r:return!0;default:return!1}}}},h=(e,t=!1)=>{let n=_(e,s,t);return n||=_(e,s,!t),n},g=e=>{let t=[],n=[];for(s(e)?t.push(e):e.child&&n.push(e.child);n.length;){let e=n.pop();if(!e)break;s(e)?t.push(e):e.child&&n.push(e.child),e.sibling&&n.push(e.sibling)}return t};function _(e,t,n=!1){if(!e)return null;let r=t(e);if(r instanceof Promise)return(async()=>{if(await r===!0)return e;let i=n?e.return:e.child;for(;i;){let e=await y(i,t,n);if(e)return e;i=n?null:i.sibling}return null})();if(r===!0)return e;let i=n?e.return:e.child;for(;i;){let e=v(i,t,n);if(e)return e;i=n?null:i.sibling}return null}const v=(e,t,n=!1)=>{if(!e)return null;if(t(e)===!0)return e;let r=n?e.return:e.child;for(;r;){let e=v(r,t,n);if(e)return e;r=n?null:r.sibling}return null},y=async(e,t,n=!1)=>{if(!e)return null;if(await t(e)===!0)return e;let r=n?e.return:e.child;for(;r;){let e=await y(r,t,n);if(e)return e;r=n?null:r.sibling}return null},b=e=>{let t=e?.actualDuration??0,n=t,r=e?.child??null;for(;t>0&&r!=null;)n-=r.actualDuration??0,r=r.sibling;return{selfTime:n,totalTime:t}},x=e=>!!e.updateQueue?.memoCache,S=e=>{let t=e;return typeof t==`function`?t:typeof t==`object`&&t?S(t.type||t.render):null},re=e=>{let t=e;if(typeof t==`string`)return t;if(typeof t!=`function`&&!(typeof t==`object`&&t))return null;let n=t.displayName||t.name||null;if(n)return n;let r=S(t);return r&&(r.displayName||r.name)||null},ie=e=>{try{if(typeof e.version==`string`&&e.bundleType>0)return`development`}catch{}return`production`},ae=()=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;return!!t?._instrumentationIsActive||e.l(t)||e.c(t)},C=new Set,oe=e=>{let t=e.alternate;if(!t)return e;if(t.actualStartTime&&e.actualStartTime)return t.actualStartTime>e.actualStartTime?t:e;for(let t of C){let n=_(t.current,t=>{if(t===e)return!0});if(n)return n}return e};let w=0;const T=new WeakMap,E=(e,t=w++)=>{T.set(e,t)},D=e=>{let t=T.get(e);return t===void 0&&e.alternate&&(t=T.get(e.alternate)),t===void 0&&(t=w++,E(e,t)),t},O=(e,t,n)=>{let r=t;for(;r!=null;){if(T.has(r)||D(r),!m(r)&&f(r)&&e(r,`mount`),r.tag===13)if(r.memoizedState!==null){let t=r.child,n=t?t.sibling:null;if(n){let t=n.child;t!==null&&O(e,t,!1)}}else{let t=null;r.child!==null&&(t=r.child.child),t!==null&&O(e,t,!1)}else r.child!=null&&O(e,r.child,!0);r=n?r.sibling:null}},k=(e,t,n,r)=>{if(T.has(t)||D(t),!n)return;T.has(n)||D(n);let i=t.tag===13,a=!m(t);a&&f(t)&&e(t,`update`);let o=i&&n.memoizedState!==null,s=i&&t.memoizedState!==null;if(o&&s){let r=t.child?.sibling??null,i=n.child?.sibling??null;r!==null&&i!==null&&k(e,r,i,t)}else if(o&&!s){let n=t.child;n!==null&&O(e,n,!0)}else if(!o&&s){j(e,n);let r=t.child?.sibling??null;r!==null&&O(e,r,!0)}else if(t.child!==n.child){let n=t.child;for(;n;){if(n.alternate){let i=n.alternate;k(e,n,i,a?t:r)}else O(e,n,!1);n=n.sibling}}},A=(e,t)=>{(t.tag===3||!m(t))&&e(t,`unmount`)},j=(e,t)=>{let n=t.tag===13&&t.memoizedState!==null,r=t.child;for(n&&(r=(t.child?.sibling??null)?.child??null);r!==null;)r.return!==null&&(A(e,r),j(e,r)),r=r.sibling};let M=0;const N=new WeakMap,se=(e,t)=>{let n=`current`in e?e.current:e,r=N.get(e);r||(r={id:M++,prevFiber:null},N.set(e,r));let{prevFiber:i}=r;if(!n)A(t,n);else if(i!==null){let e=i&&i.memoizedState!=null&&i.memoizedState.element!=null&&i.memoizedState.isDehydrated!==!0,r=n.memoizedState!=null&&n.memoizedState.element!=null&&n.memoizedState.isDehydrated!==!0;!e&&r?O(t,n,!1):e&&r?k(t,n,n.alternate,null):e&&!r&&A(t,n)}else O(t,n,!0);r.prevFiber=n},P=new Set;let F=!1;const I=()=>{if(F||!e.a())return;let t=e.i();if(t?.renderers){F=!0,Q(t);for(let e of t.renderers.values())P.add(e);e.u(e=>{P.add(e)})}},L=t=>{if(!e.a())return null;let n=t;for(;n.return;)n=n.return;let r=Z.get(n.stateNode);return r===void 0?null:e.i().renderers?.get(r)??null},R=e=>{I();let t=L(e);return t?[t]:Array.from(P)},z=(e,t,n,r)=>{for(let i of e)try{i.overrideProps?.(t,n,r)}catch{}},B=(e,t)=>{let n=e.memoizedState;for(let e=0;e<t;e++){if(!n?.next)return null;n=n.next}let r=n?.queue;return H(r)&&typeof r.dispatch==`function`?r.dispatch:null},V=(e,t)=>{let n=e;for(;n;){let e=n.type;if(e===t||e?.Provider===t)return n;n=n.return}return null},H=e=>Object.prototype.toString.call(e)===`[object Object]`&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null),U=(e,t=[])=>{if(!H(e))return[{path:t,value:e}];let n=[];for(let r in e){let i=e[r],a=t.concat(r);H(i)?n.push(...U(i,a)):n.push({path:a,value:i})}return n},W=e=>H(e)?U(e):[{path:[],value:e}],G=(e,t)=>{let n=R(e);for(let{path:r,value:i}of W(t))z(n,e,r,i)},ce=(e,t,n)=>{let r=R(e).filter(e=>!!e.overrideHookState),i=W(n);if(r.length>0){let n=String(t);for(let t of r)for(let{path:r,value:a}of i)try{t.overrideHookState?.(e,n,r,a)}catch{}return}if(H(n))return;let a=B(e,t);if(a)try{a(n)}catch{}},le=(e,t,n)=>{let r=V(e,t);if(!r)return;let i=R(r);for(let{path:e,value:t}of W(n))z(i,r,[`value`,...e],t),r.alternate&&z(i,r.alternate,[`value`,...e],t)},K=new Set,q=new Set,J=new Set,Y=new Set,X=new WeakMap,Z=new WeakMap,Q=e=>{let t=X.get(e)??{};if(X.set(e,t),!t.onCommitFiberRoot||e.onCommitFiberRoot!==t.onCommitFiberRoot){let n=e.onCommitFiberRoot,r=(t,i,a)=>{if(n?.(t,i,a),X.get(e)?.onCommitFiberRoot===r){C.add(i),Z.set(i,t);for(let e of K)e(t,i,a)}};t.onCommitFiberRoot=r,e.onCommitFiberRoot=r}if(!t.onCommitFiberUnmount||e.onCommitFiberUnmount!==t.onCommitFiberUnmount){let n=e.onCommitFiberUnmount,r=(t,i)=>{if(n?.(t,i),X.get(e)?.onCommitFiberUnmount===r)for(let e of q)e(t,i)};t.onCommitFiberUnmount=r,e.onCommitFiberUnmount=r}if(!t.onPostCommitFiberRoot||e.onPostCommitFiberRoot!==t.onPostCommitFiberRoot){let n=e.onPostCommitFiberRoot,r=(t,i)=>{if(n?.(t,i),X.get(e)?.onPostCommitFiberRoot===r)for(let e of J)e(t,i)};t.onPostCommitFiberRoot=r,e.onPostCommitFiberRoot=r}if(!t.onScheduleFiberRoot||e.onScheduleFiberRoot!==t.onScheduleFiberRoot){let n=e.onScheduleFiberRoot,r=(t,i,a)=>{if(n?.(t,i,a),X.get(e)?.onScheduleFiberRoot===r)for(let e of Y)e(t,i,a)};t.onScheduleFiberRoot=r,e.onScheduleFiberRoot=r}},ue=t=>{let n=e.i(t.onActive);n._instrumentationSource=t.name??e.t,Q(n);let{onActive:r,onCommitFiberRoot:i,onCommitFiberUnmount:a,onPostCommitFiberRoot:o,onScheduleFiberRoot:s}=t;return i&&K.add(i),a&&q.add(a),o&&J.add(o),s&&Y.add(s),e.m(()=>{r&&e.n.delete(r),i&&K.delete(i),a&&q.delete(a),o&&J.delete(o),s&&Y.delete(s)})},$=new Set,de=e=>e.startsWith(`__reactContainer$`)||e.startsWith(`__reactInternalInstance$`)||e.startsWith(`__reactFiber`),fe=e=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t?.renderers)for(let n of t.renderers.values())try{let t=n.findFiberByHostInstance?.(e);if(t)return t}catch{}if(typeof e==`object`&&e){if(`_reactRootContainer`in e)return e._reactRootContainer?._internalRoot?.current?.child;let t=e.__internalInstanceHandle??e._internalInstanceHandle;if(l(t))return t;let n=e;for(let e of $){let t=n[e];if(t)return t}for(let e of Object.keys(n))if(de(e))return $.add(e),n[e]||null;for(let t of C){if(L(t.current)?.findFiberByHostInstance)continue;let n=_(t.current,t=>t.stateNode===e);if(n)return n}}return null};exports.ActivityComponentTag=28,exports.BIPPY_INSTRUMENTATION_STRING=e.t,exports.CONCURRENT_MODE_NUMBER=t,exports.CONCURRENT_MODE_SYMBOL_DESCRIPTION=`react.concurrent_mode`,exports.CONCURRENT_MODE_SYMBOL_STRING=n,exports.ClassComponentTag=1,exports.ContextConsumerTag=9,exports.DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION=`react.async_mode`,exports.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=r,exports.DehydratedSuspenseComponentTag=18,exports.ELEMENT_TYPE_SYMBOL_STRING=`Symbol(react.element)`,exports.ForwardRefTag=11,exports.FragmentTag=7,exports.FunctionComponentTag=0,exports.HostComponentTag=5,exports.HostHoistableTag=26,exports.HostPortalTag=4,exports.HostRootTag=3,exports.HostSingletonTag=27,exports.HostTextTag=6,exports.LazyComponentTag=16,exports.LegacyHiddenComponentTag=23,exports.MemoComponentTag=14,exports.OffscreenComponentTag=22,exports.SimpleMemoComponentTag=15,exports.SuspenseComponentTag=13,exports.SuspenseListComponentTag=19,exports.TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING=`Symbol(react.transitional.element)`,exports.ViewTransitionComponentTag=30,exports._fiberRoots=C,exports._onActiveListeners=e.n,exports._renderers=e.r,exports.detectReactBuildType=ie,exports.didFiberCommit=p,exports.didFiberRender=f,exports.getDisplayName=re,exports.getFiberFromHostInstance=fe,exports.getFiberId=D,exports.getFiberStack=ne,exports.getLatestFiber=oe,exports.getMutatedHostFibers=te,exports.getNearestHostFiber=h,exports.getNearestHostFibers=g,exports.getRDTHook=e.i,exports.getTimings=b,exports.getType=S,exports.hasMemoCache=x,exports.hasRDTHook=e.a,exports.installRDTHook=e.o,exports.instrument=ue,exports.isClientEnvironment=e.s,exports.isCompositeFiber=c,exports.isFiber=l,exports.isHostFiber=s,exports.isInstrumentationActive=ae,exports.isReactRefresh=e.c,exports.isRealReactDevtools=e.l,exports.isValidElement=a,exports.isValidFiber=o,exports.onRendererInject=e.u,exports.overrideContext=le,exports.overrideHookState=ce,exports.overrideProps=G,exports.patchRDTHook=e.d,exports.safelyInstallRDTHook=e.f,exports.setFiberId=E,exports.toUnsubscribe=e.m,exports.traverseContexts=u,exports.traverseFiber=_,exports.traverseProps=d,exports.traverseRenderedFibers=se,exports.traverseState=ee,exports.version=e.p;
|
|
9
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rdt-hook.cjs"),t=require("./core2.cjs");exports.BIPPY_INSTRUMENTATION_STRING=e.t,exports.BippyError=t.M,exports.BippyHookInspectionError=t.N,exports.BippyHookRenderError=t.P,exports.BippySourceMapError=t.F,exports.BippyUnsupportedHookError=t.I,exports.ReactSymbols=t.R,exports._fiberRoots=t.t,exports._onActiveListeners=e.n,exports._renderers=e.r,exports.detectReactBuildType=t.n,exports.didFiberCommit=t.r,exports.didFiberRender=t.i,exports.getDisplayName=t.a,exports.getFiberFromHostInstance=t.o,exports.getFiberId=t.s,exports.getFiberStack=t.c,exports.getLatestFiber=t.l,exports.getMutatedHostFibers=t.u,exports.getNearestHostFiber=t.d,exports.getNearestHostFibers=t.f,exports.getRDTHook=e.a,exports.getReactWorkTags=t.z,exports.getTimings=t.p,exports.getType=t.m,exports.hasMemoCache=t.h,exports.hasRDTHook=e.o,exports.installRDTHook=e.s,exports.instrument=t.g,exports.isCompositeFiber=t._,exports.isFiber=t.v,exports.isHostFiber=t.y,exports.isInstrumentationActive=t.b,exports.isRealReactDevtools=e.c,exports.isValidElement=t.x,exports.isValidFiber=t.S,exports.onRendererInject=e.u,exports.overrideContext=t.C,exports.overrideHookState=t.w,exports.overrideProps=t.T,exports.patchRDTHook=e.d,exports.setFiberId=t.E,exports.traverseContexts=t.D,exports.traverseFiber=t.O,exports.traverseProps=t.k,exports.traverseRenderedFibers=t.A,exports.traverseState=t.j,exports.version=e.f;
|
package/dist/core.d.cts
CHANGED
|
@@ -1,62 +1,51 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @license bippy
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) Aiden Bai
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import { E as ReactDevToolsGlobalHook, O as ReactRenderer, _ as FiberRoot, h as Fiber, u as ContextDependency, x as MemoizedState, y as HostFiber } from "./errors.cjs";
|
|
2
10
|
import * as React from "react";
|
|
3
|
-
|
|
11
|
+
//#region src/react-internals/semver.d.ts
|
|
12
|
+
declare const compareSemver: (leftVersion: string, rightVersion: string) => -1 | 0 | 1 | null;
|
|
13
|
+
//#endregion
|
|
4
14
|
//#region src/rdt-hook.d.ts
|
|
15
|
+
interface Unsubscribe extends Disposable {
|
|
16
|
+
(): void;
|
|
17
|
+
}
|
|
18
|
+
interface ActiveListener {
|
|
19
|
+
(): unknown;
|
|
20
|
+
}
|
|
21
|
+
interface RendererInjectListener {
|
|
22
|
+
(renderer: ReactRenderer): void;
|
|
23
|
+
}
|
|
5
24
|
declare const version: string | undefined;
|
|
6
25
|
declare const BIPPY_INSTRUMENTATION_STRING: string;
|
|
7
26
|
declare const isRealReactDevtools: (rdtHook?: ReactDevToolsGlobalHook | undefined | null) => boolean;
|
|
8
|
-
declare const
|
|
9
|
-
declare const _onActiveListeners: Set<() => unknown>;
|
|
27
|
+
declare const _onActiveListeners: Set<ActiveListener>;
|
|
10
28
|
declare const _renderers: Set<ReactRenderer>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* react-refresh, user code) observe renderers without stacking patches
|
|
15
|
-
* whose restore order matters. Returns an unsubscribe function.
|
|
16
|
-
*/
|
|
17
|
-
declare const onRendererInject: (listener: (renderer: ReactRenderer) => void) => Unsubscribe;
|
|
18
|
-
declare const installRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
19
|
-
declare const patchRDTHook: (onActive?: () => unknown) => void;
|
|
29
|
+
declare const onRendererInject: (listener: RendererInjectListener) => Unsubscribe;
|
|
30
|
+
declare const installRDTHook: (onActive?: ActiveListener) => ReactDevToolsGlobalHook;
|
|
31
|
+
declare const patchRDTHook: (onActive?: ActiveListener) => void;
|
|
20
32
|
declare const hasRDTHook: () => boolean;
|
|
21
33
|
/**
|
|
22
34
|
* Returns the current React DevTools global hook.
|
|
23
35
|
*/
|
|
24
|
-
declare const getRDTHook: (onActive?:
|
|
25
|
-
declare const isClientEnvironment: () => boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Usually used purely for side effect
|
|
28
|
-
*/
|
|
29
|
-
declare const safelyInstallRDTHook: () => void;
|
|
36
|
+
declare const getRDTHook: (onActive?: ActiveListener) => ReactDevToolsGlobalHook;
|
|
30
37
|
//#endregion
|
|
31
38
|
//#region src/core.d.ts
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
declare const MemoComponentTag = 14;
|
|
43
|
-
declare const SimpleMemoComponentTag = 15;
|
|
44
|
-
declare const LazyComponentTag = 16;
|
|
45
|
-
declare const DehydratedSuspenseComponentTag = 18;
|
|
46
|
-
declare const SuspenseListComponentTag = 19;
|
|
47
|
-
declare const OffscreenComponentTag = 22;
|
|
48
|
-
declare const LegacyHiddenComponentTag = 23;
|
|
49
|
-
declare const HostHoistableTag = 26;
|
|
50
|
-
declare const HostSingletonTag = 27;
|
|
51
|
-
declare const ActivityComponentTag = 28;
|
|
52
|
-
declare const ViewTransitionComponentTag = 30;
|
|
53
|
-
declare const CONCURRENT_MODE_NUMBER = 60111;
|
|
54
|
-
declare const ELEMENT_TYPE_SYMBOL_STRING = "Symbol(react.element)";
|
|
55
|
-
declare const TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING = "Symbol(react.transitional.element)";
|
|
56
|
-
declare const CONCURRENT_MODE_SYMBOL_STRING = "Symbol(react.concurrent_mode)";
|
|
57
|
-
declare const DEPRECATED_ASYNC_MODE_SYMBOL_STRING = "Symbol(react.async_mode)";
|
|
58
|
-
declare const CONCURRENT_MODE_SYMBOL_DESCRIPTION = "react.concurrent_mode";
|
|
59
|
-
declare const DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION = "react.async_mode";
|
|
39
|
+
interface FiberSelector {
|
|
40
|
+
(node: Fiber): boolean | Promise<boolean | void> | void;
|
|
41
|
+
}
|
|
42
|
+
interface FiberTimings {
|
|
43
|
+
selfTime: number;
|
|
44
|
+
totalTime: number;
|
|
45
|
+
}
|
|
46
|
+
interface RenderHandler {
|
|
47
|
+
(fiber: Fiber, phase: RenderPhase): unknown;
|
|
48
|
+
}
|
|
60
49
|
/**
|
|
61
50
|
* Returns `true` if object is a React Element.
|
|
62
51
|
*
|
|
@@ -72,7 +61,7 @@ declare const isValidFiber: (fiber: unknown) => fiber is Fiber;
|
|
|
72
61
|
*
|
|
73
62
|
* @see https://reactnative.dev/architecture/glossary#host-view-tree-and-host-view
|
|
74
63
|
*/
|
|
75
|
-
declare const isHostFiber: (fiber: Fiber) =>
|
|
64
|
+
declare const isHostFiber: (fiber: Fiber) => fiber is HostFiber;
|
|
76
65
|
/**
|
|
77
66
|
* Returns `true` if fiber is a composite fiber. Composite fibers are fibers that can render (like functional components, class components, etc.)
|
|
78
67
|
*
|
|
@@ -129,6 +118,7 @@ declare const getNearestHostFibers: (fiber: Fiber) => Fiber[];
|
|
|
129
118
|
*/
|
|
130
119
|
declare function traverseFiber(fiber: Fiber | null, selector: (node: Fiber) => boolean | void, ascending?: boolean): Fiber | null;
|
|
131
120
|
declare function traverseFiber(fiber: Fiber | null, selector: (node: Fiber) => Promise<boolean | void>, ascending?: boolean): Promise<Fiber | null>;
|
|
121
|
+
declare function traverseFiber(fiber: Fiber | null, selector: FiberSelector, ascending?: boolean): Fiber | null | Promise<Fiber | null>;
|
|
132
122
|
/**
|
|
133
123
|
* Returns the timings of the {@link Fiber}.
|
|
134
124
|
*
|
|
@@ -138,10 +128,7 @@ declare function traverseFiber(fiber: Fiber | null, selector: (node: Fiber) => P
|
|
|
138
128
|
* console.log(selfTime, totalTime);
|
|
139
129
|
* ```
|
|
140
130
|
*/
|
|
141
|
-
declare const getTimings: (fiber?: Fiber | null) =>
|
|
142
|
-
selfTime: number;
|
|
143
|
-
totalTime: number;
|
|
144
|
-
};
|
|
131
|
+
declare const getTimings: (fiber?: Fiber | null) => FiberTimings;
|
|
145
132
|
/**
|
|
146
133
|
* Returns `true` if the {@link Fiber} uses React Compiler's memo cache.
|
|
147
134
|
*/
|
|
@@ -162,14 +149,13 @@ declare const detectReactBuildType: (renderer: ReactRenderer) => "development" |
|
|
|
162
149
|
* Returns `true` if bippy's instrumentation is active.
|
|
163
150
|
*/
|
|
164
151
|
declare const isInstrumentationActive: () => boolean;
|
|
165
|
-
declare const _fiberRoots: Set<
|
|
152
|
+
declare const _fiberRoots: Set<FiberRoot>;
|
|
166
153
|
/**
|
|
167
154
|
* Returns the latest fiber (since it may be double-buffered).
|
|
168
155
|
*/
|
|
169
156
|
declare const getLatestFiber: (fiber: Fiber) => Fiber;
|
|
170
|
-
type RenderHandler = <S>(fiber: Fiber, phase: RenderPhase, state?: S) => unknown;
|
|
171
157
|
type RenderPhase = "mount" | "unmount" | "update";
|
|
172
|
-
declare const setFiberId: (fiber: Fiber,
|
|
158
|
+
declare const setFiberId: (fiber: Fiber, fiberId?: number) => void;
|
|
173
159
|
declare const getFiberId: (fiber: Fiber) => number;
|
|
174
160
|
/**
|
|
175
161
|
* Creates a fiber visitor function. Must pass a fiber root and a render handler.
|
|
@@ -178,14 +164,14 @@ declare const getFiberId: (fiber: Fiber) => number;
|
|
|
178
164
|
* console.log(phase)
|
|
179
165
|
* })
|
|
180
166
|
*/
|
|
181
|
-
declare const traverseRenderedFibers: (root: FiberRoot, onRender: RenderHandler) => void;
|
|
167
|
+
declare const traverseRenderedFibers: (root: Fiber | FiberRoot, onRender: RenderHandler) => void;
|
|
182
168
|
declare const overrideProps: (fiber: Fiber, partialValue: Record<string, unknown>) => void;
|
|
183
169
|
declare const overrideHookState: (fiber: Fiber, id: number, partialValue: unknown) => void;
|
|
184
170
|
declare const overrideContext: (fiber: Fiber, contextType: unknown, partialValue: unknown) => void;
|
|
185
171
|
interface InstrumentationOptions {
|
|
186
172
|
name?: string;
|
|
187
173
|
onActive?: () => unknown;
|
|
188
|
-
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: number | void) => unknown;
|
|
174
|
+
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: number | void, didError?: boolean) => unknown;
|
|
189
175
|
onCommitFiberUnmount?: (rendererID: number, fiber: Fiber) => unknown;
|
|
190
176
|
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) => unknown;
|
|
191
177
|
onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: React.ReactNode) => unknown;
|
|
@@ -195,8 +181,7 @@ interface InstrumentationOptions {
|
|
|
195
181
|
* dispatches to a set of listeners, so multiple `instrument` calls compose
|
|
196
182
|
* without stacking patches. Returns an unsubscribe function that removes
|
|
197
183
|
* exactly the handlers this call registered.
|
|
198
|
-
* The
|
|
199
|
-
* bippy subscriptions through `using`.
|
|
184
|
+
* The unsubscribe function can also be disposed through `using`.
|
|
200
185
|
* @example
|
|
201
186
|
* const unsubscribe = instrument({
|
|
202
187
|
* onActive() {
|
|
@@ -211,4 +196,4 @@ interface InstrumentationOptions {
|
|
|
211
196
|
declare const instrument: (options: InstrumentationOptions) => Unsubscribe;
|
|
212
197
|
declare const getFiberFromHostInstance: <T>(hostInstance: T) => Fiber | null;
|
|
213
198
|
//#endregion
|
|
214
|
-
export {
|
|
199
|
+
export { setFiberId as A, getRDTHook as B, isHostFiber as C, overrideContext as D, isValidFiber as E, traverseState as F, patchRDTHook as G, installRDTHook as H, BIPPY_INSTRUMENTATION_STRING as I, version as K, Unsubscribe as L, traverseFiber as M, traverseProps as N, overrideHookState as O, traverseRenderedFibers as P, _onActiveListeners as R, isFiber as S, isValidElement as T, isRealReactDevtools as U, hasRDTHook as V, onRendererInject as W, getTimings as _, _fiberRoots as a, instrument as b, didFiberRender as c, getFiberId as d, getFiberStack as f, getNearestHostFibers as g, getNearestHostFiber as h, RenderPhase as i, traverseContexts as j, overrideProps as k, getDisplayName as l, getMutatedHostFibers as m, InstrumentationOptions as n, detectReactBuildType as o, getLatestFiber as p, compareSemver as q, RenderHandler as r, didFiberCommit as s, FiberTimings as t, getFiberFromHostInstance as u, getType as v, isInstrumentationActive as w, isCompositeFiber as x, hasMemoCache as y, _renderers as z };
|
package/dist/core.d.ts
CHANGED
|
@@ -1,62 +1,51 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @license bippy
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) Aiden Bai
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import { E as ReactDevToolsGlobalHook, O as ReactRenderer, _ as FiberRoot, h as Fiber, u as ContextDependency, x as MemoizedState, y as HostFiber } from "./errors.js";
|
|
2
10
|
import * as React from "react";
|
|
3
|
-
|
|
11
|
+
//#region src/react-internals/semver.d.ts
|
|
12
|
+
declare const compareSemver: (leftVersion: string, rightVersion: string) => -1 | 0 | 1 | null;
|
|
13
|
+
//#endregion
|
|
4
14
|
//#region src/rdt-hook.d.ts
|
|
15
|
+
interface Unsubscribe extends Disposable {
|
|
16
|
+
(): void;
|
|
17
|
+
}
|
|
18
|
+
interface ActiveListener {
|
|
19
|
+
(): unknown;
|
|
20
|
+
}
|
|
21
|
+
interface RendererInjectListener {
|
|
22
|
+
(renderer: ReactRenderer): void;
|
|
23
|
+
}
|
|
5
24
|
declare const version: string | undefined;
|
|
6
25
|
declare const BIPPY_INSTRUMENTATION_STRING: string;
|
|
7
26
|
declare const isRealReactDevtools: (rdtHook?: ReactDevToolsGlobalHook | undefined | null) => boolean;
|
|
8
|
-
declare const
|
|
9
|
-
declare const _onActiveListeners: Set<() => unknown>;
|
|
27
|
+
declare const _onActiveListeners: Set<ActiveListener>;
|
|
10
28
|
declare const _renderers: Set<ReactRenderer>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* react-refresh, user code) observe renderers without stacking patches
|
|
15
|
-
* whose restore order matters. Returns an unsubscribe function.
|
|
16
|
-
*/
|
|
17
|
-
declare const onRendererInject: (listener: (renderer: ReactRenderer) => void) => Unsubscribe;
|
|
18
|
-
declare const installRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
19
|
-
declare const patchRDTHook: (onActive?: () => unknown) => void;
|
|
29
|
+
declare const onRendererInject: (listener: RendererInjectListener) => Unsubscribe;
|
|
30
|
+
declare const installRDTHook: (onActive?: ActiveListener) => ReactDevToolsGlobalHook;
|
|
31
|
+
declare const patchRDTHook: (onActive?: ActiveListener) => void;
|
|
20
32
|
declare const hasRDTHook: () => boolean;
|
|
21
33
|
/**
|
|
22
34
|
* Returns the current React DevTools global hook.
|
|
23
35
|
*/
|
|
24
|
-
declare const getRDTHook: (onActive?:
|
|
25
|
-
declare const isClientEnvironment: () => boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Usually used purely for side effect
|
|
28
|
-
*/
|
|
29
|
-
declare const safelyInstallRDTHook: () => void;
|
|
36
|
+
declare const getRDTHook: (onActive?: ActiveListener) => ReactDevToolsGlobalHook;
|
|
30
37
|
//#endregion
|
|
31
38
|
//#region src/core.d.ts
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
declare const MemoComponentTag = 14;
|
|
43
|
-
declare const SimpleMemoComponentTag = 15;
|
|
44
|
-
declare const LazyComponentTag = 16;
|
|
45
|
-
declare const DehydratedSuspenseComponentTag = 18;
|
|
46
|
-
declare const SuspenseListComponentTag = 19;
|
|
47
|
-
declare const OffscreenComponentTag = 22;
|
|
48
|
-
declare const LegacyHiddenComponentTag = 23;
|
|
49
|
-
declare const HostHoistableTag = 26;
|
|
50
|
-
declare const HostSingletonTag = 27;
|
|
51
|
-
declare const ActivityComponentTag = 28;
|
|
52
|
-
declare const ViewTransitionComponentTag = 30;
|
|
53
|
-
declare const CONCURRENT_MODE_NUMBER = 60111;
|
|
54
|
-
declare const ELEMENT_TYPE_SYMBOL_STRING = "Symbol(react.element)";
|
|
55
|
-
declare const TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING = "Symbol(react.transitional.element)";
|
|
56
|
-
declare const CONCURRENT_MODE_SYMBOL_STRING = "Symbol(react.concurrent_mode)";
|
|
57
|
-
declare const DEPRECATED_ASYNC_MODE_SYMBOL_STRING = "Symbol(react.async_mode)";
|
|
58
|
-
declare const CONCURRENT_MODE_SYMBOL_DESCRIPTION = "react.concurrent_mode";
|
|
59
|
-
declare const DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION = "react.async_mode";
|
|
39
|
+
interface FiberSelector {
|
|
40
|
+
(node: Fiber): boolean | Promise<boolean | void> | void;
|
|
41
|
+
}
|
|
42
|
+
interface FiberTimings {
|
|
43
|
+
selfTime: number;
|
|
44
|
+
totalTime: number;
|
|
45
|
+
}
|
|
46
|
+
interface RenderHandler {
|
|
47
|
+
(fiber: Fiber, phase: RenderPhase): unknown;
|
|
48
|
+
}
|
|
60
49
|
/**
|
|
61
50
|
* Returns `true` if object is a React Element.
|
|
62
51
|
*
|
|
@@ -72,7 +61,7 @@ declare const isValidFiber: (fiber: unknown) => fiber is Fiber;
|
|
|
72
61
|
*
|
|
73
62
|
* @see https://reactnative.dev/architecture/glossary#host-view-tree-and-host-view
|
|
74
63
|
*/
|
|
75
|
-
declare const isHostFiber: (fiber: Fiber) =>
|
|
64
|
+
declare const isHostFiber: (fiber: Fiber) => fiber is HostFiber;
|
|
76
65
|
/**
|
|
77
66
|
* Returns `true` if fiber is a composite fiber. Composite fibers are fibers that can render (like functional components, class components, etc.)
|
|
78
67
|
*
|
|
@@ -129,6 +118,7 @@ declare const getNearestHostFibers: (fiber: Fiber) => Fiber[];
|
|
|
129
118
|
*/
|
|
130
119
|
declare function traverseFiber(fiber: Fiber | null, selector: (node: Fiber) => boolean | void, ascending?: boolean): Fiber | null;
|
|
131
120
|
declare function traverseFiber(fiber: Fiber | null, selector: (node: Fiber) => Promise<boolean | void>, ascending?: boolean): Promise<Fiber | null>;
|
|
121
|
+
declare function traverseFiber(fiber: Fiber | null, selector: FiberSelector, ascending?: boolean): Fiber | null | Promise<Fiber | null>;
|
|
132
122
|
/**
|
|
133
123
|
* Returns the timings of the {@link Fiber}.
|
|
134
124
|
*
|
|
@@ -138,10 +128,7 @@ declare function traverseFiber(fiber: Fiber | null, selector: (node: Fiber) => P
|
|
|
138
128
|
* console.log(selfTime, totalTime);
|
|
139
129
|
* ```
|
|
140
130
|
*/
|
|
141
|
-
declare const getTimings: (fiber?: Fiber | null) =>
|
|
142
|
-
selfTime: number;
|
|
143
|
-
totalTime: number;
|
|
144
|
-
};
|
|
131
|
+
declare const getTimings: (fiber?: Fiber | null) => FiberTimings;
|
|
145
132
|
/**
|
|
146
133
|
* Returns `true` if the {@link Fiber} uses React Compiler's memo cache.
|
|
147
134
|
*/
|
|
@@ -162,14 +149,13 @@ declare const detectReactBuildType: (renderer: ReactRenderer) => "development" |
|
|
|
162
149
|
* Returns `true` if bippy's instrumentation is active.
|
|
163
150
|
*/
|
|
164
151
|
declare const isInstrumentationActive: () => boolean;
|
|
165
|
-
declare const _fiberRoots: Set<
|
|
152
|
+
declare const _fiberRoots: Set<FiberRoot>;
|
|
166
153
|
/**
|
|
167
154
|
* Returns the latest fiber (since it may be double-buffered).
|
|
168
155
|
*/
|
|
169
156
|
declare const getLatestFiber: (fiber: Fiber) => Fiber;
|
|
170
|
-
type RenderHandler = <S>(fiber: Fiber, phase: RenderPhase, state?: S) => unknown;
|
|
171
157
|
type RenderPhase = "mount" | "unmount" | "update";
|
|
172
|
-
declare const setFiberId: (fiber: Fiber,
|
|
158
|
+
declare const setFiberId: (fiber: Fiber, fiberId?: number) => void;
|
|
173
159
|
declare const getFiberId: (fiber: Fiber) => number;
|
|
174
160
|
/**
|
|
175
161
|
* Creates a fiber visitor function. Must pass a fiber root and a render handler.
|
|
@@ -178,14 +164,14 @@ declare const getFiberId: (fiber: Fiber) => number;
|
|
|
178
164
|
* console.log(phase)
|
|
179
165
|
* })
|
|
180
166
|
*/
|
|
181
|
-
declare const traverseRenderedFibers: (root: FiberRoot, onRender: RenderHandler) => void;
|
|
167
|
+
declare const traverseRenderedFibers: (root: Fiber | FiberRoot, onRender: RenderHandler) => void;
|
|
182
168
|
declare const overrideProps: (fiber: Fiber, partialValue: Record<string, unknown>) => void;
|
|
183
169
|
declare const overrideHookState: (fiber: Fiber, id: number, partialValue: unknown) => void;
|
|
184
170
|
declare const overrideContext: (fiber: Fiber, contextType: unknown, partialValue: unknown) => void;
|
|
185
171
|
interface InstrumentationOptions {
|
|
186
172
|
name?: string;
|
|
187
173
|
onActive?: () => unknown;
|
|
188
|
-
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: number | void) => unknown;
|
|
174
|
+
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: number | void, didError?: boolean) => unknown;
|
|
189
175
|
onCommitFiberUnmount?: (rendererID: number, fiber: Fiber) => unknown;
|
|
190
176
|
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) => unknown;
|
|
191
177
|
onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: React.ReactNode) => unknown;
|
|
@@ -195,8 +181,7 @@ interface InstrumentationOptions {
|
|
|
195
181
|
* dispatches to a set of listeners, so multiple `instrument` calls compose
|
|
196
182
|
* without stacking patches. Returns an unsubscribe function that removes
|
|
197
183
|
* exactly the handlers this call registered.
|
|
198
|
-
* The
|
|
199
|
-
* bippy subscriptions through `using`.
|
|
184
|
+
* The unsubscribe function can also be disposed through `using`.
|
|
200
185
|
* @example
|
|
201
186
|
* const unsubscribe = instrument({
|
|
202
187
|
* onActive() {
|
|
@@ -211,4 +196,4 @@ interface InstrumentationOptions {
|
|
|
211
196
|
declare const instrument: (options: InstrumentationOptions) => Unsubscribe;
|
|
212
197
|
declare const getFiberFromHostInstance: <T>(hostInstance: T) => Fiber | null;
|
|
213
198
|
//#endregion
|
|
214
|
-
export {
|
|
199
|
+
export { setFiberId as A, getRDTHook as B, isHostFiber as C, overrideContext as D, isValidFiber as E, traverseState as F, patchRDTHook as G, installRDTHook as H, BIPPY_INSTRUMENTATION_STRING as I, version as K, Unsubscribe as L, traverseFiber as M, traverseProps as N, overrideHookState as O, traverseRenderedFibers as P, _onActiveListeners as R, isFiber as S, isValidElement as T, isRealReactDevtools as U, hasRDTHook as V, onRendererInject as W, getTimings as _, _fiberRoots as a, instrument as b, didFiberRender as c, getFiberId as d, getFiberStack as f, getNearestHostFibers as g, getNearestHostFiber as h, RenderPhase as i, traverseContexts as j, overrideProps as k, getDisplayName as l, getMutatedHostFibers as m, InstrumentationOptions as n, detectReactBuildType as o, getLatestFiber as p, compareSemver as q, RenderHandler as r, didFiberCommit as s, FiberTimings as t, getFiberFromHostInstance as u, getType as v, isInstrumentationActive as w, isCompositeFiber as x, hasMemoCache as y, _renderers as z };
|
package/dist/core.js
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*/
|
|
9
|
-
import{a as e,c as t,d as n,f as r,i,l as a,m as o,n as s,o as c,p as l,r as ee,s as te,t as u,u as d}from"./rdt-hook.js";const ne=0,f=1,re=3,ie=4,ae=5,oe=6,se=7,ce=9,le=11,ue=13,de=14,fe=15,pe=16,me=18,he=19,ge=22,_e=23,ve=26,ye=27,be=28,xe=30,p=60111,Se=`Symbol(react.element)`,Ce=`Symbol(react.transitional.element)`,m=`Symbol(react.concurrent_mode)`,h=`Symbol(react.async_mode)`,we=`react.concurrent_mode`,Te=`react.async_mode`,g=13366,Ee=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&[`Symbol(react.element)`,`Symbol(react.transitional.element)`].includes(String(e.$$typeof)),De=e=>typeof e==`object`&&!!e&&`tag`in e&&`stateNode`in e&&`return`in e&&`child`in e&&`sibling`in e&&`flags`in e,_=e=>{switch(e.tag){case 5:case 26:case 27:return!0;default:return typeof e.type==`string`}},Oe=e=>{switch(e.tag){case 1:case 11:case 0:case 14:case 15:return!0;default:return!1}},v=e=>!e||typeof e!=`object`?!1:`pendingProps`in e&&!(`containerInfo`in e),ke=(e,t)=>{try{let n=e.dependencies,r=e.alternate?.dependencies;if(!n||!r||typeof n!=`object`||!(`firstContext`in n)||typeof r!=`object`||!(`firstContext`in r))return!1;let i=n.firstContext,a=r.firstContext;for(;i&&typeof i==`object`&&`memoizedValue`in i||a&&typeof a==`object`&&`memoizedValue`in a;){if(t(i,a)===!0)return!0;i=i?.next,a=a?.next}}catch{}return!1},Ae=(e,t)=>{try{let n=e.memoizedState,r=e.alternate?.memoizedState;for(;n||r;){if(t(n,r)===!0)return!0;n=n?.next,r=r?.next}}catch{}return!1},je=(e,t)=>{try{let n=e.memoizedProps,r=e.alternate?.memoizedProps||{};for(let e of Object.keys(n))if(t(e,n[e],r[e])===!0)return!0;for(let e of Object.keys(r))if(!(e in n)&&t(e,n[e],r[e])===!0)return!0}catch{}return!1},y=e=>{let t=e.memoizedProps,n=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0;switch(e.tag){case 1:case 9:case 11:case 0:case 14:case 15:return(r&1)==1;default:return e.alternate?n!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref:!0}},b=e=>!!(e.flags&(g|8)||e.subtreeFlags&(g|8)),x=e=>{let t=[],n=[e];for(;n.length;){let e=n.pop();e&&(_(e)&&b(e)&&y(e)&&t.push(e),e.child&&n.push(e.child),e.sibling&&n.push(e.sibling))}return t},S=e=>{let t=[],n=e;for(;n.return;)t.push(n),n=n.return;return t},C=e=>{switch(e.tag){case 18:return!0;case 7:case 6:case 23:case 22:return!0;case 3:return!1;default:{let t=typeof e.type==`object`&&e.type!==null?e.type.$$typeof:e.type;if(typeof t==`symbol`)return t.description===`react.concurrent_mode`||t.description===`react.async_mode`;switch(t){case p:case m:case h:return!0;default:return!1}}}},Me=(e,t=!1)=>{let n=w(e,_,t);return n||=w(e,_,!t),n},Ne=e=>{let t=[],n=[];for(_(e)?t.push(e):e.child&&n.push(e.child);n.length;){let e=n.pop();if(!e)break;_(e)?t.push(e):e.child&&n.push(e.child),e.sibling&&n.push(e.sibling)}return t};function w(e,t,n=!1){if(!e)return null;let r=t(e);if(r instanceof Promise)return(async()=>{if(await r===!0)return e;let i=n?e.return:e.child;for(;i;){let e=await E(i,t,n);if(e)return e;i=n?null:i.sibling}return null})();if(r===!0)return e;let i=n?e.return:e.child;for(;i;){let e=T(i,t,n);if(e)return e;i=n?null:i.sibling}return null}const T=(e,t,n=!1)=>{if(!e)return null;if(t(e)===!0)return e;let r=n?e.return:e.child;for(;r;){let e=T(r,t,n);if(e)return e;r=n?null:r.sibling}return null},E=async(e,t,n=!1)=>{if(!e)return null;if(await t(e)===!0)return e;let r=n?e.return:e.child;for(;r;){let e=await E(r,t,n);if(e)return e;r=n?null:r.sibling}return null},Pe=e=>{let t=e?.actualDuration??0,n=t,r=e?.child??null;for(;t>0&&r!=null;)n-=r.actualDuration??0,r=r.sibling;return{selfTime:n,totalTime:t}},Fe=e=>!!e.updateQueue?.memoCache,D=e=>{let t=e;return typeof t==`function`?t:typeof t==`object`&&t?D(t.type||t.render):null},Ie=e=>{let t=e;if(typeof t==`string`)return t;if(typeof t!=`function`&&!(typeof t==`object`&&t))return null;let n=t.displayName||t.name||null;if(n)return n;let r=D(t);return r&&(r.displayName||r.name)||null},Le=e=>{try{if(typeof e.version==`string`&&e.bundleType>0)return`development`}catch{}return`production`},Re=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;return!!e?._instrumentationIsActive||a(e)||t(e)},O=new Set,ze=e=>{let t=e.alternate;if(!t)return e;if(t.actualStartTime&&e.actualStartTime)return t.actualStartTime>e.actualStartTime?t:e;for(let t of O){let n=w(t.current,t=>{if(t===e)return!0});if(n)return n}return e};let k=0;const A=new WeakMap,j=(e,t=k++)=>{A.set(e,t)},M=e=>{let t=A.get(e);return t===void 0&&e.alternate&&(t=A.get(e.alternate)),t===void 0&&(t=k++,j(e,t)),t},N=(e,t,n)=>{let r=t;for(;r!=null;){if(A.has(r)||M(r),!C(r)&&y(r)&&e(r,`mount`),r.tag===13)if(r.memoizedState!==null){let t=r.child,n=t?t.sibling:null;if(n){let t=n.child;t!==null&&N(e,t,!1)}}else{let t=null;r.child!==null&&(t=r.child.child),t!==null&&N(e,t,!1)}else r.child!=null&&N(e,r.child,!0);r=n?r.sibling:null}},P=(e,t,n,r)=>{if(A.has(t)||M(t),!n)return;A.has(n)||M(n);let i=t.tag===13,a=!C(t);a&&y(t)&&e(t,`update`);let o=i&&n.memoizedState!==null,s=i&&t.memoizedState!==null;if(o&&s){let r=t.child?.sibling??null,i=n.child?.sibling??null;r!==null&&i!==null&&P(e,r,i,t)}else if(o&&!s){let n=t.child;n!==null&&N(e,n,!0)}else if(!o&&s){I(e,n);let r=t.child?.sibling??null;r!==null&&N(e,r,!0)}else if(t.child!==n.child){let n=t.child;for(;n;){if(n.alternate){let i=n.alternate;P(e,n,i,a?t:r)}else N(e,n,!1);n=n.sibling}}},F=(e,t)=>{(t.tag===3||!C(t))&&e(t,`unmount`)},I=(e,t)=>{let n=t.tag===13&&t.memoizedState!==null,r=t.child;for(n&&(r=(t.child?.sibling??null)?.child??null);r!==null;)r.return!==null&&(F(e,r),I(e,r)),r=r.sibling};let Be=0;const L=new WeakMap,Ve=(e,t)=>{let n=`current`in e?e.current:e,r=L.get(e);r||(r={id:Be++,prevFiber:null},L.set(e,r));let{prevFiber:i}=r;if(!n)F(t,n);else if(i!==null){let e=i&&i.memoizedState!=null&&i.memoizedState.element!=null&&i.memoizedState.isDehydrated!==!0,r=n.memoizedState!=null&&n.memoizedState.element!=null&&n.memoizedState.isDehydrated!==!0;!e&&r?N(t,n,!1):e&&r?P(t,n,n.alternate,null):e&&!r&&F(t,n)}else N(t,n,!0);r.prevFiber=n},R=new Set;let z=!1;const He=()=>{if(z||!e())return;let t=i();if(t?.renderers){z=!0,Q(t);for(let e of t.renderers.values())R.add(e);d(e=>{R.add(e)})}},B=t=>{if(!e())return null;let n=t;for(;n.return;)n=n.return;let r=Z.get(n.stateNode);return r===void 0?null:i().renderers?.get(r)??null},V=e=>{He();let t=B(e);return t?[t]:Array.from(R)},H=(e,t,n,r)=>{for(let i of e)try{i.overrideProps?.(t,n,r)}catch{}},Ue=(e,t)=>{let n=e.memoizedState;for(let e=0;e<t;e++){if(!n?.next)return null;n=n.next}let r=n?.queue;return U(r)&&typeof r.dispatch==`function`?r.dispatch:null},We=(e,t)=>{let n=e;for(;n;){let e=n.type;if(e===t||e?.Provider===t)return n;n=n.return}return null},U=e=>Object.prototype.toString.call(e)===`[object Object]`&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null),W=(e,t=[])=>{if(!U(e))return[{path:t,value:e}];let n=[];for(let r in e){let i=e[r],a=t.concat(r);U(i)?n.push(...W(i,a)):n.push({path:a,value:i})}return n},G=e=>U(e)?W(e):[{path:[],value:e}],Ge=(e,t)=>{let n=V(e);for(let{path:r,value:i}of G(t))H(n,e,r,i)},Ke=(e,t,n)=>{let r=V(e).filter(e=>!!e.overrideHookState),i=G(n);if(r.length>0){let n=String(t);for(let t of r)for(let{path:r,value:a}of i)try{t.overrideHookState?.(e,n,r,a)}catch{}return}if(U(n))return;let a=Ue(e,t);if(a)try{a(n)}catch{}},qe=(e,t,n)=>{let r=We(e,t);if(!r)return;let i=V(r);for(let{path:e,value:t}of G(n))H(i,r,[`value`,...e],t),r.alternate&&H(i,r.alternate,[`value`,...e],t)},K=new Set,q=new Set,J=new Set,Y=new Set,X=new WeakMap,Z=new WeakMap,Q=e=>{let t=X.get(e)??{};if(X.set(e,t),!t.onCommitFiberRoot||e.onCommitFiberRoot!==t.onCommitFiberRoot){let n=e.onCommitFiberRoot,r=(t,i,a)=>{if(n?.(t,i,a),X.get(e)?.onCommitFiberRoot===r){O.add(i),Z.set(i,t);for(let e of K)e(t,i,a)}};t.onCommitFiberRoot=r,e.onCommitFiberRoot=r}if(!t.onCommitFiberUnmount||e.onCommitFiberUnmount!==t.onCommitFiberUnmount){let n=e.onCommitFiberUnmount,r=(t,i)=>{if(n?.(t,i),X.get(e)?.onCommitFiberUnmount===r)for(let e of q)e(t,i)};t.onCommitFiberUnmount=r,e.onCommitFiberUnmount=r}if(!t.onPostCommitFiberRoot||e.onPostCommitFiberRoot!==t.onPostCommitFiberRoot){let n=e.onPostCommitFiberRoot,r=(t,i)=>{if(n?.(t,i),X.get(e)?.onPostCommitFiberRoot===r)for(let e of J)e(t,i)};t.onPostCommitFiberRoot=r,e.onPostCommitFiberRoot=r}if(!t.onScheduleFiberRoot||e.onScheduleFiberRoot!==t.onScheduleFiberRoot){let n=e.onScheduleFiberRoot,r=(t,i,a)=>{if(n?.(t,i,a),X.get(e)?.onScheduleFiberRoot===r)for(let e of Y)e(t,i,a)};t.onScheduleFiberRoot=r,e.onScheduleFiberRoot=r}},Je=e=>{let t=i(e.onActive);t._instrumentationSource=e.name??u,Q(t);let{onActive:n,onCommitFiberRoot:r,onCommitFiberUnmount:a,onPostCommitFiberRoot:c,onScheduleFiberRoot:l}=e;return r&&K.add(r),a&&q.add(a),c&&J.add(c),l&&Y.add(l),o(()=>{n&&s.delete(n),r&&K.delete(r),a&&q.delete(a),c&&J.delete(c),l&&Y.delete(l)})},$=new Set,Ye=e=>e.startsWith(`__reactContainer$`)||e.startsWith(`__reactInternalInstance$`)||e.startsWith(`__reactFiber`),Xe=e=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t?.renderers)for(let n of t.renderers.values())try{let t=n.findFiberByHostInstance?.(e);if(t)return t}catch{}if(typeof e==`object`&&e){if(`_reactRootContainer`in e)return e._reactRootContainer?._internalRoot?.current?.child;let t=e.__internalInstanceHandle??e._internalInstanceHandle;if(v(t))return t;let n=e;for(let e of $){let t=n[e];if(t)return t}for(let e of Object.keys(n))if(Ye(e))return $.add(e),n[e]||null;for(let t of O){if(B(t.current)?.findFiberByHostInstance)continue;let n=w(t.current,t=>t.stateNode===e);if(n)return n}}return null};export{be as ActivityComponentTag,u as BIPPY_INSTRUMENTATION_STRING,p as CONCURRENT_MODE_NUMBER,we as CONCURRENT_MODE_SYMBOL_DESCRIPTION,m as CONCURRENT_MODE_SYMBOL_STRING,f as ClassComponentTag,ce as ContextConsumerTag,Te as DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION,h as DEPRECATED_ASYNC_MODE_SYMBOL_STRING,me as DehydratedSuspenseComponentTag,Se as ELEMENT_TYPE_SYMBOL_STRING,le as ForwardRefTag,se as FragmentTag,ne as FunctionComponentTag,ae as HostComponentTag,ve as HostHoistableTag,ie as HostPortalTag,re as HostRootTag,ye as HostSingletonTag,oe as HostTextTag,pe as LazyComponentTag,_e as LegacyHiddenComponentTag,de as MemoComponentTag,ge as OffscreenComponentTag,fe as SimpleMemoComponentTag,ue as SuspenseComponentTag,he as SuspenseListComponentTag,Ce as TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING,xe as ViewTransitionComponentTag,O as _fiberRoots,s as _onActiveListeners,ee as _renderers,Le as detectReactBuildType,b as didFiberCommit,y as didFiberRender,Ie as getDisplayName,Xe as getFiberFromHostInstance,M as getFiberId,S as getFiberStack,ze as getLatestFiber,x as getMutatedHostFibers,Me as getNearestHostFiber,Ne as getNearestHostFibers,i as getRDTHook,Pe as getTimings,D as getType,Fe as hasMemoCache,e as hasRDTHook,c as installRDTHook,Je as instrument,te as isClientEnvironment,Oe as isCompositeFiber,v as isFiber,_ as isHostFiber,Re as isInstrumentationActive,t as isReactRefresh,a as isRealReactDevtools,Ee as isValidElement,De as isValidFiber,d as onRendererInject,qe as overrideContext,Ke as overrideHookState,Ge as overrideProps,n as patchRDTHook,r as safelyInstallRDTHook,j as setFiberId,o as toUnsubscribe,ke as traverseContexts,w as traverseFiber,je as traverseProps,Ve as traverseRenderedFibers,Ae as traverseState,l as version};
|
|
9
|
+
import{a as e,c as t,d as n,f as r,n as i,o as a,r as o,s,t as c,u as l}from"./rdt-hook.js";import{A as u,C as d,D as f,E as p,F as m,I as h,M as g,N as _,O as v,P as y,R as b,S as x,T as S,_ as C,a as w,b as T,c as E,d as D,f as O,g as k,h as A,i as j,j as M,k as N,l as P,m as F,n as I,o as L,p as R,r as z,s as B,t as V,u as H,v as U,w as W,x as G,y as K,z as q}from"./core2.js";export{c as BIPPY_INSTRUMENTATION_STRING,g as BippyError,_ as BippyHookInspectionError,y as BippyHookRenderError,m as BippySourceMapError,h as BippyUnsupportedHookError,b as ReactSymbols,V as _fiberRoots,i as _onActiveListeners,o as _renderers,I as detectReactBuildType,z as didFiberCommit,j as didFiberRender,w as getDisplayName,L as getFiberFromHostInstance,B as getFiberId,E as getFiberStack,P as getLatestFiber,H as getMutatedHostFibers,D as getNearestHostFiber,O as getNearestHostFibers,e as getRDTHook,q as getReactWorkTags,R as getTimings,F as getType,A as hasMemoCache,a as hasRDTHook,s as installRDTHook,k as instrument,C as isCompositeFiber,U as isFiber,K as isHostFiber,T as isInstrumentationActive,t as isRealReactDevtools,G as isValidElement,x as isValidFiber,l as onRendererInject,d as overrideContext,W as overrideHookState,S as overrideProps,n as patchRDTHook,p as setFiberId,f as traverseContexts,v as traverseFiber,N as traverseProps,u as traverseRenderedFibers,M as traverseState,r as version};
|
package/dist/core2.cjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license bippy
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) Aiden Bai
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
const e=require("./rdt-hook.cjs"),t=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,n=/^\d+$/,r=e=>i(e)!==null,i=e=>{let r=t.exec(e);if(!r)return null;let i=r[4]?.split(`.`)??[];return i.some(e=>n.test(e)&&e.length>1&&e.startsWith(`0`))?null:{major:r[1],minor:r[2],patch:r[3],prerelease:i}},a=(e,t)=>e.length===t.length?e===t?0:e<t?-1:1:e.length<t.length?-1:1,o=(e,t)=>{let r=n.test(e),i=n.test(t);return r&&i?a(e,t):r===i?e===t?0:e<t?-1:1:r?-1:1},s=(e,t)=>{if(e.length===0||t.length===0)return e.length===t.length?0:e.length===0?1:-1;let n=Math.max(e.length,t.length);for(let r=0;r<n;r++){let n=e[r],i=t[r];if(n===void 0||i===void 0)return n===void 0?-1:1;let a=o(n,i);if(a!==0)return a}return 0},c=(e,t)=>{let n=i(e),r=i(t);if(!n||!r)return null;let o=a(n.major,r.major);if(o!==0)return o;let c=a(n.minor,r.minor);if(c!==0)return c;let l=a(n.patch,r.patch);return l===0?s(n.prerelease,r.prerelease):l},l={Development:1,Production:0},u={ChildDeletion:16,Cloned:8,ContentReset:32,Hydrating:4096,PerformedWork:1,Placement:2,Snapshot:1024,Update:4,Visibility:8192},d={CONCURRENT_MODE_NUMBER:60111,CONCURRENT_MODE_SYMBOL_DESCRIPTION:`react.concurrent_mode`,CONCURRENT_MODE_SYMBOL_STRING:`Symbol(react.concurrent_mode)`,DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION:`react.async_mode`,DEPRECATED_ASYNC_MODE_SYMBOL_STRING:`Symbol(react.async_mode)`,ELEMENT_SYMBOL_STRING:`Symbol(react.transitional.element)`,LEGACY_ELEMENT_SYMBOL_STRING:`Symbol(react.element)`},f=(e=>e)({"16.0.0":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:2,ContextConsumer:12,ContextProvider:13,CoroutineComponent:7,CoroutineHandlerPhase:8,DehydratedSuspenseComponent:-1,ForwardRef:14,Fragment:10,FunctionComponent:1,HostComponent:5,HostHoistable:-1,HostPortal:4,HostRoot:3,HostSingleton:-1,HostText:6,IncompleteClassComponent:-1,IncompleteFunctionComponent:-1,IndeterminateComponent:0,LazyComponent:-1,LegacyHiddenComponent:-1,MemoComponent:-1,Mode:11,OffscreenComponent:-1,Profiler:15,ScopeComponent:-1,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:9},"16.4.3-alpha":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:2,ContextConsumer:11,ContextProvider:12,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:-1,ForwardRef:13,Fragment:9,FunctionComponent:0,HostComponent:7,HostHoistable:-1,HostPortal:6,HostRoot:5,HostSingleton:-1,HostText:8,IncompleteClassComponent:-1,IncompleteFunctionComponent:-1,IndeterminateComponent:4,LazyComponent:-1,LegacyHiddenComponent:-1,MemoComponent:-1,Mode:10,OffscreenComponent:-1,Profiler:15,ScopeComponent:-1,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:-1},"16.6.0-beta.0":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostHoistable:-1,HostPortal:4,HostRoot:3,HostSingleton:-1,HostText:6,IncompleteClassComponent:17,IncompleteFunctionComponent:-1,IndeterminateComponent:2,LazyComponent:16,LegacyHiddenComponent:-1,MemoComponent:14,Mode:8,OffscreenComponent:-1,Profiler:12,ScopeComponent:-1,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:-1},"17.0.0-alpha":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostHoistable:-1,HostPortal:4,HostRoot:3,HostSingleton:-1,HostText:6,IncompleteClassComponent:17,IncompleteFunctionComponent:-1,IndeterminateComponent:2,LazyComponent:16,LegacyHiddenComponent:24,MemoComponent:14,Mode:8,OffscreenComponent:23,Profiler:12,ScopeComponent:21,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:-1},"17.0.2":{ActivityComponent:31,CacheComponent:24,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostHoistable:26,HostPortal:4,HostRoot:3,HostSingleton:27,HostText:6,IncompleteClassComponent:17,IncompleteFunctionComponent:28,IndeterminateComponent:2,LazyComponent:16,LegacyHiddenComponent:23,MemoComponent:14,Mode:8,OffscreenComponent:22,Profiler:12,ScopeComponent:21,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,Throw:29,TracingMarkerComponent:25,ViewTransitionComponent:30,YieldComponent:-1}}),ee=[{isMinimumExcluded:!0,minimumVersion:`17.0.1`,workTags:f[`17.0.2`]},{isMinimumExcluded:!1,minimumVersion:`17.0.0-alpha`,workTags:f[`17.0.0-alpha`]},{isMinimumExcluded:!1,minimumVersion:`16.6.0-beta.0`,workTags:f[`16.6.0-beta.0`]},{isMinimumExcluded:!1,minimumVersion:`16.4.3-alpha`,workTags:f[`16.4.3-alpha`]}],p=f[`17.0.2`],m=e=>{if(e===void 0)return p;for(let t of ee){let n=c(e,t.minimumVersion);if(n===null)return p;if(n===1||n===0&&!t.isMinimumExcluded)return t.workTags}return f[`16.0.0`]},h=m(),g=new WeakMap,te=e=>{let t=e?.reconcilerVersion;return t&&r(t)?m(t):e?.version?m(e.version):h},ne=(e,t)=>{let n=te(t);g.set(e,n),e.alternate&&g.set(e.alternate,n)},_=e=>{let t=g.get(e);if(t)return t;let n=[e],r=e;for(;r.return;)r=r.return,n.push(r);let i=g.get(r)??h;for(let e of n)g.set(e,i),e.alternate&&g.set(e.alternate,i);return i},v=u.Placement|u.Update|u.ChildDeletion|u.ContentReset|u.Hydrating|u.Visibility|u.Snapshot;var y=class extends Error{constructor(e,t){super(e,{cause:t}),this.name=`BippyError`}},b=class extends y{constructor(e,t){super(e,t),this.name=`BippyHookInspectionError`}},re=class extends b{constructor(e,t){super(e,t),this.name=`BippyUnsupportedHookError`}},ie=class extends b{constructor(e,t){super(e,t),this.name=`BippyHookRenderError`}},ae=class extends y{constructor(e,t){super(e,t),this.name=`BippySourceMapError`}};const oe=e=>typeof e==`function`,x=e=>{let t=`displayName`in e?e.displayName:null;if(typeof t==`string`&&t)return t;let n=`name`in e?e.name:null;return typeof n==`string`&&n?n:null},se=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&(String(e.$$typeof)===d.LEGACY_ELEMENT_SYMBOL_STRING||String(e.$$typeof)===d.ELEMENT_SYMBOL_STRING),S=e=>typeof e==`object`&&!!e&&`tag`in e&&`stateNode`in e&&`return`in e&&`child`in e&&`sibling`in e&&`flags`in e,ce=e=>typeof e==`object`&&!!e&&`current`in e&&S(e.current),C=e=>{let t=_(e);switch(e.tag){case t.HostComponent:case t.HostText:case t.HostHoistable:case t.HostSingleton:return!0;default:return!1}},le=e=>{let t=_(e);switch(e.tag){case t.ClassComponent:case t.ForwardRef:case t.FunctionComponent:case t.MemoComponent:case t.SimpleMemoComponent:return!0;default:return!1}},ue=e=>!e||typeof e!=`object`?!1:`pendingProps`in e&&!(`containerInfo`in e),de=(e,t)=>{try{let n=e.dependencies,r=e.alternate?.dependencies;if(!n||!r||typeof n!=`object`||!(`firstContext`in n)||typeof r!=`object`||!(`firstContext`in r))return!1;let i=n.firstContext,a=r.firstContext;for(;i&&typeof i==`object`&&`memoizedValue`in i||a&&typeof a==`object`&&`memoizedValue`in a;){if(t(i,a)===!0)return!0;i=i?.next,a=a?.next}}catch{}return!1},fe=(e,t)=>{try{let n=e.memoizedState,r=e.alternate?.memoizedState;for(;n||r;){if(t(n,r)===!0)return!0;n=n?.next,r=r?.next}}catch{}return!1},pe=(e,t)=>{try{let n=e.memoizedProps,r=e.alternate?.memoizedProps||{};for(let e of Object.keys(n))if(t(e,n[e],r[e])===!0)return!0;for(let e of Object.keys(r))if(!(e in n)&&t(e,n[e],r[e])===!0)return!0}catch{}return!1},w=e=>{let t=e.memoizedProps,n=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0,i=_(e);switch(e.tag){case i.ClassComponent:case i.ContextConsumer:case i.ForwardRef:case i.FunctionComponent:case i.MemoComponent:case i.SimpleMemoComponent:return(r&u.PerformedWork)===u.PerformedWork;default:return!e.alternate||n!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref}},me=e=>(e.flags&(v|u.Cloned))!==0||(e.subtreeFlags&(v|u.Cloned))!==0,he=e=>{let t=[],n=[e];for(;n.length;){let e=n.pop();e&&(C(e)&&me(e)&&w(e)&&t.push(e),e.child&&n.push(e.child),e.sibling&&n.push(e.sibling))}return t},ge=e=>{let t=[],n=e;for(;n.return;)t.push(n),n=n.return;return t},T=e=>{let t=_(e);switch(e.tag){case t.DehydratedSuspenseComponent:return!0;case t.Fragment:case t.HostText:case t.LegacyHiddenComponent:case t.OffscreenComponent:return!0;case t.HostRoot:return!1;default:{let t=typeof e.type==`object`&&e.type!==null?e.type.$$typeof:e.type;if(typeof t==`symbol`)return t.description===d.CONCURRENT_MODE_SYMBOL_DESCRIPTION||t.description===d.DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION;switch(t){case d.CONCURRENT_MODE_NUMBER:case d.CONCURRENT_MODE_SYMBOL_STRING:case d.DEPRECATED_ASYNC_MODE_SYMBOL_STRING:return!0;default:return!1}}}},_e=(e,t=!1)=>{let n=E(e,C,t);return n||=E(e,C,!t),n},ve=e=>{let t=[],n=[];for(C(e)?t.push(e):e.child&&n.push(e.child);n.length;){let e=n.pop();if(!e)break;C(e)?t.push(e):e.child&&n.push(e.child),e.sibling&&n.push(e.sibling)}return t};function E(e,t,n=!1){return A(e,t,n)}const D=e=>(typeof e==`object`||typeof e==`function`)&&e!==null&&`then`in e&&typeof e.then==`function`,O=(e,t,n)=>{let r=n?e.return:e.child;return k(r,t,n)},k=(e,t,n)=>{if(!e)return null;let r=n?null:e.sibling,i=A(e,t,n);return D(i)?Promise.resolve(i).then(e=>e??k(r,t,n)):i??k(r,t,n)},A=(e,t,n)=>{if(!e)return null;let r=t(e);return D(r)?Promise.resolve(r).then(r=>r===!0?e:O(e,t,n)):r===!0?e:O(e,t,n)},ye=e=>{let t=e?.actualDuration??0,n=t,r=e?.child??null;for(;t>0&&r!==null;)n-=r.actualDuration??0,r=r.sibling;return{selfTime:n,totalTime:t}},be=e=>!!e.updateQueue?.memoCache,j=e=>oe(e)?e:typeof e!=`object`||!e?null:j(Reflect.get(e,`type`)??Reflect.get(e,`render`)),xe=e=>{if(typeof e==`string`)return e;if(typeof e!=`function`&&typeof e!=`object`||e===null)return null;let t=x(e);if(t)return t;let n=j(e);return n?x(n):null},Se=e=>{try{if(typeof e.version==`string`&&e.bundleType===l.Development)return`development`}catch{}return`production`},Ce=()=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;return!!t?._instrumentationIsActive||e.c(t)},M=new Set,we=e=>{let t=e.alternate;if(!t)return e;if(t.actualStartTime&&e.actualStartTime)return t.actualStartTime>e.actualStartTime?t:e;for(let n of M){let r=E(n.current,n=>{if(n===e||n===t)return!0});if(r)return r}return e};let N=0;const P=new WeakMap,F=(e,t=N++)=>{P.set(e,t),Number.isSafeInteger(t)&&t>=N&&(N=t+1)},I=e=>{let t=P.get(e);return t===void 0&&e.alternate&&(t=P.get(e.alternate)),t===void 0&&(t=N++,F(e,t)),t},L=(e,t,n)=>{let r=t;for(;r!==null;){if(P.has(r)||I(r),!T(r)&&w(r)&&e(r,`mount`),r.tag===_(r).SuspenseComponent)if(r.memoizedState!==null){let t=r.child,n=t?t.sibling:null;if(n){let t=n.child;t!==null&&L(e,t,!1)}}else{let t=r.child?.child??null;t!==null&&L(e,t,!1)}else r.child!==null&&L(e,r.child,!0);r=n?r.sibling:null}},R=(e,t,n)=>{if(P.has(t)||I(t),!n)return;P.has(n)||I(n);let r=t.tag===_(t).SuspenseComponent;!T(t)&&w(t)&&e(t,`update`);let i=r&&n.memoizedState!==null,a=r&&t.memoizedState!==null;if(i&&a){let r=t.child?.sibling??null,i=n.child?.sibling??null;r!==null&&i!==null&&R(e,r,i)}else if(i&&!a){let n=t.child;n!==null&&L(e,n,!0)}else if(!i&&a){B(e,n);let r=t.child?.sibling??null;r!==null&&L(e,r,!0)}else if(t.child!==n.child){let n=t.child;for(;n;)n.alternate?R(e,n,n.alternate):L(e,n,!1),n=n.sibling}},z=(e,t)=>{(t.tag===_(t).HostRoot||!T(t))&&e(t,`unmount`)},B=(e,t)=>{let n=t.tag===_(t).SuspenseComponent&&t.memoizedState!==null,r=t.child;for(n&&(r=(t.child?.sibling??null)?.child??null);r!==null;)r.return!==null&&(z(e,r),B(e,r)),r=r.sibling};let Te=0;const V=new WeakMap,Ee=(e,t)=>{let n=`current`in e?e.current:e,r=V.get(e);r||(r={id:Te++,prevFiber:null},V.set(e,r));let{prevFiber:i}=r;if(!n)z(t,n);else if(i!==null){let e=i&&i.memoizedState!==null&&i.memoizedState.element!==null&&i.memoizedState.element!==void 0&&i.memoizedState.isDehydrated!==!0,r=n.memoizedState!==null&&n.memoizedState.element!==null&&n.memoizedState.element!==void 0&&n.memoizedState.isDehydrated!==!0;!e&&r?L(t,n,!1):e&&r?R(t,n,n.alternate):e&&!r&&z(t,n)}else L(t,n,!0);r.prevFiber=n},H=new Set;let U=!1;const De=()=>{if(!e.o())return;let t=e.a();Q(t);for(let e of t.renderers.values())H.add(e);U||(U=!0,e.u(e=>{H.add(e)}))},Oe=t=>{if(!e.o())return null;let n=t;for(;n.return;)n=n.return;let r=n.stateNode;if(!ce(r))return null;let i=Z.get(r);return i===void 0?null:e.a().renderers.get(i)??null},W=e=>{De();let t=Oe(e);return t?[t]:Array.from(H)},G=(e,t,n,r)=>{for(let i of e)try{i.overrideProps?.(t,n,r)}catch{}},ke=(e,t)=>{let n=e.memoizedState;for(let e=0;e<t;e++){if(!n?.next)return null;n=n.next}let r=n?.queue;if(!K(r))return null;let i=r.dispatch;return typeof i==`function`?e=>i(e):null},Ae=(e,t)=>{let n=e;for(;n;){let e=n.type;if(e===t||e?.Provider===t)return n;n=n.return}return null},K=e=>Object.prototype.toString.call(e)===`[object Object]`&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null),q=(e,t=[],n=new WeakSet)=>{if(n.has(e))return[{path:t,value:e}];n.add(e);let r=[];for(let[i,a]of Object.entries(e)){let e=t.concat(i);K(a)?r.push(...q(a,e,n)):r.push({path:e,value:a})}return n.delete(e),r},J=e=>K(e)?q(e):[{path:[],value:e}],je=(e,t)=>{let n=W(e);for(let{path:r,value:i}of J(t))G(n,e,r,i)},Me=(e,t,n)=>{let r=W(e).filter(e=>!!e.overrideHookState),i=J(n);if(r.length>0){for(let n of r)for(let{path:r,value:a}of i)try{n.overrideHookState?.(e,t,r,a)}catch{}return}if(K(n))return;let a=ke(e,t);if(a)try{a(n)}catch{}},Ne=(e,t,n)=>{let r=Ae(e,t);if(!r)return;let i=W(r);for(let{path:e,value:t}of J(n))G(i,r,[`value`,...e],t),r.alternate&&G(i,r.alternate,[`value`,...e],t)},Y=new Set,X=new WeakMap;let Pe=!1;const Z=new WeakMap,Q=e=>{let t=X.get(e)??{};if(X.set(e,t),!t.onCommitFiberRoot||e.onCommitFiberRoot!==t.onCommitFiberRoot){let n=e.onCommitFiberRoot,r=(t,i,a,o)=>{if(n&&n.call(e,t,i,a,o),X.get(e)?.onCommitFiberRoot!==r)return;ne(i.current,e.renderers.get(t));let s=i.current.memoizedState;s===null||s.element===null||s.element===void 0?(M.delete(i),Z.delete(i)):(M.add(i),Z.set(i,t));for(let{options:e}of Y)e.onCommitFiberRoot&&e.onCommitFiberRoot(t,i,a,o)};t.onCommitFiberRoot=r,e.onCommitFiberRoot=r}if(!t.onCommitFiberUnmount||e.onCommitFiberUnmount!==t.onCommitFiberUnmount){let n=e.onCommitFiberUnmount,r=(t,i)=>{if(ne(i,e.renderers.get(t)),n&&n.call(e,t,i),X.get(e)?.onCommitFiberUnmount===r)for(let{options:e}of Y)e.onCommitFiberUnmount&&e.onCommitFiberUnmount(t,i)};t.onCommitFiberUnmount=r,e.onCommitFiberUnmount=r}if(!t.onPostCommitFiberRoot||e.onPostCommitFiberRoot!==t.onPostCommitFiberRoot){let n=e.onPostCommitFiberRoot,r=(t,i)=>{if(n&&n.call(e,t,i),X.get(e)?.onPostCommitFiberRoot===r)for(let{options:e}of Y)e.onPostCommitFiberRoot&&e.onPostCommitFiberRoot(t,i)};t.onPostCommitFiberRoot=r,e.onPostCommitFiberRoot=r}if(!t.onScheduleFiberRoot||e.onScheduleFiberRoot!==t.onScheduleFiberRoot){let n=e.onScheduleFiberRoot,r=(t,i,a)=>{if(n&&n.call(e,t,i,a),X.get(e)?.onScheduleFiberRoot===r)for(let{options:e}of Y)e.onScheduleFiberRoot&&e.onScheduleFiberRoot(t,i,a)};t.onScheduleFiberRoot=r,e.onScheduleFiberRoot=r}},Fe=t=>{let n=e.a(t.onActive);Pe||=(e.l(Q),!0),n._instrumentationSource=t.name??e.t,Q(n);let r={options:t};return Y.add(r),e.i(()=>{t.onActive&&e.n.delete(t.onActive),Y.delete(r)})},$=new Set,Ie=e=>e.startsWith(`__reactContainer$`)||e.startsWith(`__reactInternalInstance$`)||e.startsWith(`__reactFiber`),Le=e=>{let t=Reflect.get(e,`_reactRootContainer`);if(typeof t!=`object`||!t)return null;let n=Reflect.get(t,`_internalRoot`);if(typeof n!=`object`||!n)return null;let r=Reflect.get(n,`current`);if(typeof r!=`object`||!r)return null;let i=Reflect.get(r,`child`);return S(i)?i:null},Re=e=>{let t=Reflect.get(e,`__internalInstanceHandle`)??Reflect.get(e,`_internalInstanceHandle`);return S(t)?t:null},ze=e=>{if(typeof e!=`object`||!e)return e;let t=Reflect.get(e,`canonical`);if(typeof t==`object`&&t){let e=Reflect.get(t,`publicInstance`);if(typeof e==`object`&&e)return e}let n=Reflect.get(e,`_nativeTag`);return typeof n==`number`?n:e},Be=e=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t?.renderers)for(let n of t.renderers.values())try{let t=n.findFiberByHostInstance?.(e);if(t)return t}catch{}if(typeof e==`object`&&e){let t=Le(e);if(t)return t;let n=Re(e);if(n)return n;for(let t of $){let n=Reflect.get(e,t);if(S(n))return n}for(let t of Object.keys(e))if(Ie(t)){$.add(t);let n=Reflect.get(e,t);if(S(n))return n}}if(e!=null&&(typeof e==`object`||typeof e==`number`))for(let t of M){let n=E(t.current,t=>C(t)&&ze(t.stateNode)===e);if(n)return n}return null};Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return m}});
|