UNPKG

bippy

Version:

hack into react internals

9 lines 11.3 kB
/** * @license bippy * * Copyright (c) Aiden Bai * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ 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 f=0,ne=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,m=`Symbol(react.element)`,Se=`Symbol(react.transitional.element)`,h=`Symbol(react.concurrent_mode)`,g=`Symbol(react.async_mode)`,Ce=`react.concurrent_mode`,we=`react.async_mode`,_=13366,Te=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&[`Symbol(react.element)`,`Symbol(react.transitional.element)`].includes(String(e.$$typeof)),Ee=e=>typeof e==`object`&&!!e&&`tag`in e&&`stateNode`in e&&`return`in e&&`child`in e&&`sibling`in e&&`flags`in e,v=e=>{switch(e.tag){case 5:case 26:case 27:return!0;default:return typeof e.type==`string`}},De=e=>{switch(e.tag){case 1:case 11:case 0:case 14:case 15:return!0;default:return!1}},y=e=>!e||typeof e!=`object`?!1:`pendingProps`in e&&!(`containerInfo`in e),Oe=(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},ke=(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},Ae=(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},b=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}},x=e=>!!(e.flags&(_|8)||e.subtreeFlags&(_|8)),S=e=>{let t=[],n=[e];for(;n.length;){let e=n.pop();e&&(v(e)&&x(e)&&b(e)&&t.push(e),e.child&&n.push(e.child),e.sibling&&n.push(e.sibling))}return t},C=e=>{let t=[],n=e;for(;n.return;)t.push(n),n=n.return;return t},w=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 h:case g:return!0;default:return!1}}}},je=(e,t=!1)=>{let n=T(e,v,t);return n||=T(e,v,!t),n},Me=e=>{let t=[],n=[];for(v(e)?t.push(e):e.child&&n.push(e.child);n.length;){let e=n.pop();if(!e)break;v(e)?t.push(e):e.child&&n.push(e.child),e.sibling&&n.push(e.sibling)}return t};function T(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 D(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=E(i,t,n);if(e)return e;i=n?null:i.sibling}return null}const E=(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=E(r,t,n);if(e)return e;r=n?null:r.sibling}return null},D=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 D(r,t,n);if(e)return e;r=n?null:r.sibling}return null},Ne=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}},Pe=e=>!!e.updateQueue?.memoCache,O=e=>{let t=e;return typeof t==`function`?t:typeof t==`object`&&t?O(t.type||t.render):null},Fe=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=O(t);return r&&(r.displayName||r.name)||null},Ie=e=>{try{if(typeof e.version==`string`&&e.bundleType>0)return`development`}catch{}return`production`},Le=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;return!!e?._instrumentationIsActive||a(e)||t(e)},k=new Set,Re=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 k){let n=T(t.current,t=>{if(t===e)return!0});if(n)return n}return e};let A=0;const j=new WeakMap,M=(e,t=A++)=>{j.set(e,t)},N=e=>{let t=j.get(e);return!t&&e.alternate&&(t=j.get(e.alternate)),t||(t=A++,M(e,t)),t},P=(e,t,n)=>{let r=t;for(;r!=null;){if(j.has(r)||N(r),!w(r)&&b(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&&P(e,t,!1)}}else{let t=null;r.child!==null&&(t=r.child.child),t!==null&&P(e,t,!1)}else r.child!=null&&P(e,r.child,!0);r=n?r.sibling:null}},F=(e,t,n,r)=>{if(j.has(t)||N(t),!n)return;j.has(n)||N(n);let i=t.tag===13,a=!w(t);a&&b(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&&F(e,r,i,t)}else if(o&&!s){let n=t.child;n!==null&&P(e,n,!0)}else if(!o&&s){L(e,n);let r=t.child?.sibling??null;r!==null&&P(e,r,!0)}else if(t.child!==n.child){let n=t.child;for(;n;){if(n.alternate){let i=n.alternate;F(e,n,i,a?t:r)}else P(e,n,!1);n=n.sibling}}},I=(e,t)=>{(t.tag===3||!w(t))&&e(t,`unmount`)},L=(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&&(I(e,r),L(e,r)),r=r.sibling};let ze=0;const R=new WeakMap,Be=(e,t)=>{let n=`current`in e?e.current:e,r=R.get(e);r||(r={id:ze++,prevFiber:null},R.set(e,r));let{prevFiber:i}=r;if(!n)I(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?P(t,n,!1):e&&r?F(t,n,n.alternate,null):e&&!r&&I(t,n)}else P(t,n,!0);r.prevFiber=n},z=new Set;let B=!1;const Ve=()=>{if(B||!e())return;let t=i();if(t?.renderers){B=!0,Q(t);for(let e of t.renderers.values())z.add(e);d(e=>{z.add(e)})}},He=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=>{Ve();let t=He(e);return t?[t]:Array.from(z)},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){k.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(y(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}return null};export{be as ActivityComponentTag,u as BIPPY_INSTRUMENTATION_STRING,p as CONCURRENT_MODE_NUMBER,Ce as CONCURRENT_MODE_SYMBOL_DESCRIPTION,h as CONCURRENT_MODE_SYMBOL_STRING,ne as ClassComponentTag,ce as ContextConsumerTag,we as DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION,g as DEPRECATED_ASYNC_MODE_SYMBOL_STRING,me as DehydratedSuspenseComponentTag,m as ELEMENT_TYPE_SYMBOL_STRING,le as ForwardRefTag,se as FragmentTag,f 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,Se as TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING,xe as ViewTransitionComponentTag,k as _fiberRoots,s as _onActiveListeners,ee as _renderers,Ie as detectReactBuildType,x as didFiberCommit,b as didFiberRender,Fe as getDisplayName,Xe as getFiberFromHostInstance,N as getFiberId,C as getFiberStack,Re as getLatestFiber,S as getMutatedHostFibers,je as getNearestHostFiber,Me as getNearestHostFibers,i as getRDTHook,Ne as getTimings,O as getType,Pe as hasMemoCache,e as hasRDTHook,c as installRDTHook,Je as instrument,te as isClientEnvironment,De as isCompositeFiber,y as isFiber,v as isHostFiber,Le as isInstrumentationActive,t as isReactRefresh,a as isRealReactDevtools,Te as isValidElement,Ee as isValidFiber,d as onRendererInject,qe as overrideContext,Ke as overrideHookState,Ge as overrideProps,n as patchRDTHook,r as safelyInstallRDTHook,M as setFiberId,o as toUnsubscribe,Oe as traverseContexts,T as traverseFiber,Ae as traverseProps,Be as traverseRenderedFibers,ke as traverseState,l as version};