UNPKG

bippy

Version:

hack into react internals

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