bippy
Version:
hack into react internals
9 lines • 15.4 kB
JavaScript
/**
* @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.
*/
const e=require(`./rdt-hook-CIAyAMXM.cjs`),t=0,n=1,r=3,i=5,a=6,o=7,s=9,c=11,l=13,u=14,d=15,ee=16,f=18,te=19,p=22,m=23,h=26,g=27,ne=28,_=30,v=60111,y=`Symbol(react.element)`,b=`Symbol(react.transitional.element)`,x=`Symbol(react.concurrent_mode)`,S=`Symbol(react.async_mode)`,C=1,re=2,ie=4096,ae=4,w=8,oe=16,se=32,ce=1024,le=8192,T=re|ae|oe|se|ie|le|ce,ue=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&[y,b].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=e=>{switch(e.tag){case i:case h:case g:return!0;default:return typeof e.type==`string`}},fe=e=>{switch(e.tag){case n:case c:case t:case u:case d:return!0;default:return!1}},D=e=>!e||typeof e!=`object`?!0:`pendingProps`in e&&!(`containerInfo`in e),pe=(e,t)=>e===t||e.alternate===t||t.alternate===e,me=(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},he=(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},ge=(e,t)=>{try{let n=e.memoizedProps,r=e.alternate?.memoizedProps||{},i=new Set([...Object.keys(n),...Object.keys(r)]);for(let e of i){let i=r?.[e],a=n?.[e];if(t(e,a,i)===!0)return!0}}catch{}return!1},O=e=>{let r=e.memoizedProps,i=e.alternate?.memoizedProps||{},a=e.flags??e.effectTag??0;switch(e.tag){case n:case s:case c:case t:case u:case d:return(a&C)===C;default:return e.alternate?i!==r||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref:!0}},k=e=>(e.flags&(T|w))!==0||(e.subtreeFlags&(T|w))!==0,_e=e=>{let t=[],n=[e];for(;n.length;){let e=n.pop();e&&(E(e)&&k(e)&&O(e)&&t.push(e),e.child&&n.push(e.child),e.sibling&&n.push(e.sibling))}return t},ve=e=>{let t=[],n=e;for(;n.return;)t.push(n),n=n.return;return t},A=e=>{switch(e.tag){case f:return!0;case o:case a:case m:case p:return!0;case r:return!1;default:{let t=typeof e.type==`object`&&e.type!==null?e.type.$$typeof:e.type,n=typeof t==`symbol`?t.toString():t;switch(n){case v:case x:case S:return!0;default:return!1}}}},ye=(e,t=!1)=>{let n=j(e,E,t);return n||=j(e,E,!t),n},be=e=>{let t=[],n=[];for(E(e)?t.push(e):e.child&&n.push(e.child);n.length;){let e=n.pop();if(!e)break;E(e)?t.push(e):e.child&&n.push(e.child),e.sibling&&n.push(e.sibling)}return t};function j(e,t,n=!1){let r=e&&t(e)instanceof Promise;return r?N(e,t,n):M(e,t,n)}const M=(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=M(r,t,n);if(e)return e;r=n?null:r.sibling}return null},N=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 N(r,t,n);if(e)return e;r=n?null:r.sibling}return null},xe=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}},Se=e=>!!e.updateQueue?.memoCache,P=e=>{let t=e;return typeof t==`function`?t:typeof t==`object`&&t?P(t.type||t.render):null},F=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=P(t);return r&&(r.displayName||r.name)||null},I=e=>{try{if(typeof e.version==`string`&&e.bundleType>0)return`development`}catch{}return`production`},Ce=()=>{let t=e.getRDTHook();return!!t._instrumentationIsActive||e.isRealReactDevtools()||e.isReactRefresh()},we=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 $){let n=j(t.current,t=>{if(t===e)return!0});if(n)return n}return e};let L=0;const R=new WeakMap,z=(e,t=L++)=>{R.set(e,t)},B=e=>{let t=R.get(e);return!t&&e.alternate&&(t=R.get(e.alternate)),t||(t=L++,z(e,t)),t},V=(e,t,n)=>{let r=t;for(;r!=null;){R.has(r)||B(r);let t=!A(r);if(t&&O(r)&&e(r,`mount`),r.tag===l){let t=r.memoizedState!==null;if(t){let t=r.child,n=t?t.sibling:null;if(n){let t=n.child;t!==null&&V(e,t,!1)}}else{let t=null,n=p===-1;n?t=r.child:r.child!==null&&(t=r.child.child),t!==null&&V(e,t,!1)}}else r.child!=null&&V(e,r.child,!0);r=n?r.sibling:null}},H=(e,t,n,r)=>{if(R.has(t)||B(t),!n)return;R.has(n)||B(n);let i=t.tag===l,a=!A(t);a&&O(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&&H(e,r,i,t)}else if(o&&!s){let n=t.child;n!==null&&V(e,n,!0)}else if(!o&&s){W(e,n);let r=t.child?.sibling??null;r!==null&&V(e,r,!0)}else if(t.child!==n.child){let n=t.child;for(;n;){if(n.alternate){let i=n.alternate;H(e,n,i,a?t:r)}else V(e,n,!1);n=n.sibling}}},U=(e,t)=>{let n=t.tag===r;(n||!A(t))&&e(t,`unmount`)},W=(e,t)=>{let n=t.tag===l&&t.memoizedState!==null,r=t.child;if(n){let e=t.child,n=e?.sibling??null;r=n?.child??null}for(;r!==null;)r.return!==null&&(U(e,r),W(e,r)),r=r.sibling};let Te=0;const G=new WeakMap,Ee=(e,t)=>{let n=`current`in e?e.current:e,r=G.get(e);r||(r={id:Te++,prevFiber:null},G.set(e,r));let{prevFiber:i}=r;if(!n)U(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?V(t,n,!1):e&&r?H(t,n,n.alternate,null):e&&!r&&U(t,n)}else V(t,n,!0);r.prevFiber=n};let K=null,q=null,J=null;const Y=()=>{if(!e.hasRDTHook())return null;let t=e.getRDTHook();if(!t?.renderers)return null;if(K||q||J)return{overrideContext:J,overrideHookState:q,overrideProps:K};for(let[,e]of Array.from(t.renderers))try{if(q){let t=q;q=(n,r,i,a)=>{let o=n.memoizedState;for(let e=0;e<Number(r)&&o?.next;e++)o=o.next;if(o?.queue){let e=o.queue;if(X(e)&&`dispatch`in e){let t=e.dispatch;t(a);return}}t(n,r,i,a),e.overrideHookState?.(n,r,i,a)}}else e.overrideHookState&&(q=e.overrideHookState);if(K){let t=K;K=(n,r,i)=>{t(n,r,i),e.overrideProps?.(n,r,i)}}else e.overrideProps&&(K=e.overrideProps);J=(e,t,n,r)=>{let i=e;for(;i;){let e=i.type;if(e===t||e?.Provider===t){K&&(K(i,[`value`,...n],r),i.alternate&&K(i.alternate,[`value`,...n],r));break}i=i.return}}}catch{}},X=e=>Object.prototype.toString.call(e)===`[object Object]`&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null),Z=(e,t=[])=>{if(!X(e))return[{path:t,value:e}];let n=[];for(let r in e){let i=e[r],a=t.concat(r);X(i)?n.push(...Z(i,a)):n.push({path:a,value:i})}return n},De=(e,t)=>{Y();let n=Z(t);for(let{path:t,value:r}of n)try{K?.(e,t,r)}catch{}},Oe=(e,t,n)=>{Y();let r=String(t);if(X(n)){let t=Z(n);for(let{path:n,value:i}of t)try{q?.(e,r,n,i)}catch{}}else try{q?.(e,r,[],n)}catch{}},ke=(e,t,n)=>{if(Y(),X(n)){let r=Z(n);for(let{path:n,value:i}of r)try{J?.(e,t,n,i)}catch{}}else try{J?.(e,t,[],n)}catch{}},Ae=t=>{let n=e.getRDTHook(t.onActive);n._instrumentationSource=t.name??e.BIPPY_INSTRUMENTATION_STRING;let r=n.onCommitFiberRoot;if(t.onCommitFiberRoot){let e=(n,i,a)=>{r!==e&&(r?.(n,i,a),t.onCommitFiberRoot?.(n,i,a))};n.onCommitFiberRoot=e}let i=n.onCommitFiberUnmount;if(t.onCommitFiberUnmount){let e=(r,a)=>{n.onCommitFiberUnmount===e&&(i?.(r,a),t.onCommitFiberUnmount?.(r,a))};n.onCommitFiberUnmount=e}let a=n.onPostCommitFiberRoot;if(t.onPostCommitFiberRoot){let e=(r,i)=>{n.onPostCommitFiberRoot===e&&(a?.(r,i),t.onPostCommitFiberRoot?.(r,i))};n.onPostCommitFiberRoot=e}return n},je=t=>{let n=e.getRDTHook();for(let e of n.renderers.values())try{let n=e.findFiberByHostInstance?.(t);if(n)return n}catch{}if(typeof t==`object`&&t){if(`_reactRootContainer`in t)return t._reactRootContainer?._internalRoot?.current?.child;for(let e in t)if(e.startsWith(`__reactContainer$`)||e.startsWith(`__reactInternalInstance$`)||e.startsWith(`__reactFiber`))return t[e]||null}return null},Q=Error(),$=new Set,Me=(t,n={})=>{let r=t.onActive,i=e.hasRDTHook(),a=e.isRealReactDevtools(),o=e.isReactRefresh(),s,c=!n.isProduction;return t.onActive=()=>{clearTimeout(s);let i=!0;try{let t=e.getRDTHook();for(let e of t.renderers.values()){let[t]=e.version.split(`.`);Number(t)<(n.minReactMajorVersion??17)&&(i=!1);let r=I(e);r===`development`?c=!0:n.dangerouslyRunInProduction||(i=!1)}}catch(e){n.onError?.(e)}if(!i){t.onCommitFiberRoot=void 0,t.onCommitFiberUnmount=void 0,t.onPostCommitFiberRoot=void 0,t.onActive=void 0;return}r?.();try{let e=t.onCommitFiberRoot;e&&(t.onCommitFiberRoot=(t,r,i)=>{$.has(r)||$.add(r);try{e(t,r,i)}catch(e){n.onError?.(e)}});let r=t.onCommitFiberUnmount;r&&(t.onCommitFiberUnmount=(e,t)=>{try{r(e,t)}catch(e){n.onError?.(e)}});let i=t.onPostCommitFiberRoot;i&&(t.onPostCommitFiberRoot=(e,t)=>{try{i(e,t)}catch(e){n.onError?.(e)}})}catch(e){n.onError?.(e)}},!i&&!a&&!o&&(s=setTimeout(()=>{c&&n.onError?.(Q),stop()},n.installCheckTimeout??100)),t};Object.defineProperty(exports,`ActivityComponentTag`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`CONCURRENT_MODE_NUMBER`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`CONCURRENT_MODE_SYMBOL_STRING`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`ClassComponentTag`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`ContextConsumerTag`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`DEPRECATED_ASYNC_MODE_SYMBOL_STRING`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`DehydratedSuspenseComponentTag`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`ELEMENT_TYPE_SYMBOL_STRING`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`ForwardRefTag`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`FragmentTag`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`FunctionComponentTag`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`HostComponentTag`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`HostHoistableTag`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`HostRootTag`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`HostSingletonTag`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`HostTextTag`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`INSTALL_ERROR`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`LazyComponentTag`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`LegacyHiddenComponentTag`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`MemoComponentTag`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`OffscreenComponentTag`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`SimpleMemoComponentTag`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`SuspenseComponentTag`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`SuspenseListComponentTag`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`ViewTransitionComponentTag`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`_fiberRoots`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`areFiberEqual`,{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,`detectReactBuildType`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`didFiberCommit`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`didFiberRender`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`fiberIdMap`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`getDisplayName`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`getFiberFromHostInstance`,{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,`getFiberId`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`getFiberStack`,{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,`getLatestFiber`,{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,`getMutatedHostFibers`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`getNearestHostFiber`,{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,`getNearestHostFibers`,{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,`getTimings`,{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,`getType`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`hasMemoCache`,{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,`injectOverrideMethods`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`instrument`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`isCompositeFiber`,{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,`isFiber`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`isHostFiber`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`isInstrumentationActive`,{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,`isValidElement`,{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,`isValidFiber`,{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,`mountFiberRecursively`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`overrideContext`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`overrideHookState`,{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,`overrideProps`,{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,`secure`,{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,`setFiberId`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`shouldFilterFiber`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`traverseContexts`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`traverseFiber`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`traverseFiberAsync`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`traverseFiberSync`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`traverseProps`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`traverseRenderedFibers`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`traverseState`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`unmountFiber`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`unmountFiberChildrenRecursively`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`updateFiberRecursively`,{enumerable:!0,get:function(){return H}});