UNPKG

bippy

Version:

hack into react internals

9 lines 13.5 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. */ var Bippy=function(exports){let t=`0.5.6`,n=`bippy-${t}`,r=Object.defineProperty,i=Object.prototype.hasOwnProperty,a=()=>{},o=e=>{try{let t=Function.prototype.toString.call(e);t.indexOf(`^_^`)>-1&&setTimeout(()=>{throw Error(`React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build`)})}catch{}},s=(e=g())=>`getFiberRoots`in e,c=!1,l,u=(e=g())=>c?!0:(typeof e.inject==`function`&&(l=e.inject.toString()),!!l?.includes(`(injected)`)),d=new Set,f=new Set,p=e=>{let t=new Map,i=0,s={_instrumentationIsActive:!1,_instrumentationSource:n,checkDCE:o,hasUnsupportedRendererAttached:!1,inject(e){let n=++i;return t.set(n,e),f.add(e),s._instrumentationIsActive||(s._instrumentationIsActive=!0,d.forEach(e=>e())),n},on:a,onCommitFiberRoot:a,onCommitFiberUnmount:a,onPostCommitFiberRoot:a,renderers:t,supportsFiber:!0,supportsFlight:!0};try{r(globalThis,`__REACT_DEVTOOLS_GLOBAL_HOOK__`,{configurable:!0,enumerable:!0,get(){return s},set(t){if(t&&typeof t==`object`){let n=s.renderers;s=t,n.size>0&&(n.forEach((e,n)=>{f.add(e),t.renderers.set(n,e)}),m(e))}}});let t=window.hasOwnProperty,n=!1;r(window,`hasOwnProperty`,{configurable:!0,value:function(...e){try{if(!n&&e[0]===`__REACT_DEVTOOLS_GLOBAL_HOOK__`)return globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=void 0,n=!0,-0}catch{}return t.apply(this,e)},writable:!0})}catch{m(e)}return s},m=e=>{e&&d.add(e);try{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t)return;if(!t._instrumentationSource){let e=s();if(t.checkDCE=o,t.supportsFiber=!0,t.supportsFlight=!0,t.hasUnsupportedRendererAttached=!1,t._instrumentationSource=n,t._instrumentationIsActive=!1,e||(t.on=a),t.renderers.size){t._instrumentationIsActive=!0,d.forEach(e=>e());return}let r=t.inject;if(u(t)&&!e){c=!0;let e=t.inject({scheduleRefresh(){}});e&&(t._instrumentationIsActive=!0)}t.inject=e=>{let n=r(e);return f.add(e),t._instrumentationIsActive=!0,d.forEach(e=>e()),n}}(t.renderers.size||t._instrumentationIsActive||u())&&e?.()}catch{}},h=()=>i.call(globalThis,`__REACT_DEVTOOLS_GLOBAL_HOOK__`),g=e=>h()?(m(e),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__):p(e),_=()=>!!(typeof window<`u`&&(window.document?.createElement||window.navigator?.product===`ReactNative`)),v=()=>{try{_()&&g()}catch{}};v();let y=0,b=1,x=3,S=5,ee=6,te=7,C=9,w=11,T=13,E=14,D=15,ne=16,re=18,ie=19,O=22,ae=23,oe=26,se=27,ce=28,le=30,ue=60111,de=`Symbol(react.element)`,fe=`Symbol(react.transitional.element)`,pe=`Symbol(react.concurrent_mode)`,k=`Symbol(react.async_mode)`,A=1,me=2,he=4096,ge=4,j=8,_e=16,ve=32,ye=1024,be=8192,M=me|ge|_e|ve|he|be|ye,xe=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&[de,fe].includes(String(e.$$typeof)),Se=e=>typeof e==`object`&&!!e&&`tag`in e&&`stateNode`in e&&`return`in e&&`child`in e&&`sibling`in e&&`flags`in e,N=e=>{switch(e.tag){case S:case oe:case se:return!0;default:return typeof e.type==`string`}},Ce=e=>{switch(e.tag){case b:case w:case y:case E:case D:return!0;default:return!1}},we=e=>!e||typeof e!=`object`?!0:`pendingProps`in e&&!(`containerInfo`in e),Te=(e,t)=>e===t||e.alternate===t||t.alternate===e,Ee=(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},De=(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},Oe=(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},P=e=>{let t=e.memoizedProps,n=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0;switch(e.tag){case b:case C:case w:case y:case E:case D:return(r&A)===A;default:return e.alternate?n!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref:!0}},F=e=>(e.flags&(M|j))!==0||(e.subtreeFlags&(M|j))!==0,ke=e=>{let t=[],n=[e];for(;n.length;){let e=n.pop();e&&(N(e)&&F(e)&&P(e)&&t.push(e),e.child&&n.push(e.child),e.sibling&&n.push(e.sibling))}return t},Ae=e=>{let t=[],n=e;for(;n.return;)t.push(n),n=n.return;return t},I=e=>{switch(e.tag){case re:return!0;case te:case ee:case ae:case O:return!0;case x: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 ue:case pe:case k:return!0;default:return!1}}}},je=(e,t=!1)=>{let n=L(e,N,t);return n||=L(e,N,!t),n},Me=e=>{let t=[],n=[];for(N(e)?t.push(e):e.child&&n.push(e.child);n.length;){let e=n.pop();if(!e)break;N(e)?t.push(e):e.child&&n.push(e.child),e.sibling&&n.push(e.sibling)}return t};function L(e,t,n=!1){let r=e&&t(e)instanceof Promise;return r?z(e,t,n):R(e,t,n)}let R=(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=R(r,t,n);if(e)return e;r=n?null:r.sibling}return null},z=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 z(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,B=e=>{let t=e;return typeof t==`function`?t:typeof t==`object`&&t?B(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=B(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=g();return!!e._instrumentationIsActive||s()||u()},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 $){let n=L(t.current,t=>{if(t===e)return!0});if(n)return n}return e},ze=0,V=new WeakMap,Be=(e,t=ze++)=>{V.set(e,t)},H=e=>{let t=V.get(e);return!t&&e.alternate&&(t=V.get(e.alternate)),t||(t=ze++,Be(e,t)),t},U=(e,t,n)=>{let r=t;for(;r!=null;){V.has(r)||H(r);let t=!I(r);if(t&&P(r)&&e(r,`mount`),r.tag===T){let t=r.memoizedState!==null;if(t){let t=r.child,n=t?t.sibling:null;if(n){let t=n.child;t!==null&&U(e,t,!1)}}else{let t=null,n=O===-1;n?t=r.child:r.child!==null&&(t=r.child.child),t!==null&&U(e,t,!1)}}else r.child!=null&&U(e,r.child,!0);r=n?r.sibling:null}},W=(e,t,n,r)=>{if(V.has(t)||H(t),!n)return;V.has(n)||H(n);let i=t.tag===T,a=!I(t);a&&P(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&&W(e,r,i,t)}else if(o&&!s){let n=t.child;n!==null&&U(e,n,!0)}else if(!o&&s){K(e,n);let r=t.child?.sibling??null;r!==null&&U(e,r,!0)}else if(t.child!==n.child){let n=t.child;for(;n;){if(n.alternate){let i=n.alternate;W(e,n,i,a?t:r)}else U(e,n,!1);n=n.sibling}}},G=(e,t)=>{let n=t.tag===x;(n||!I(t))&&e(t,`unmount`)},K=(e,t)=>{let n=t.tag===T&&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&&(G(e,r),K(e,r)),r=r.sibling},Ve=0,He=new WeakMap,Ue=(e,t)=>{let n=`current`in e?e.current:e,r=He.get(e);r||(r={id:Ve++,prevFiber:null},He.set(e,r));let{prevFiber:i}=r;if(!n)G(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?U(t,n,!1):e&&r?W(t,n,n.alternate,null):e&&!r&&G(t,n)}else U(t,n,!0);r.prevFiber=n},q=null,J=null,Y=null,X=()=>{if(!h())return null;let e=g();if(!e?.renderers)return null;if(q||J||Y)return{overrideContext:Y,overrideHookState:J,overrideProps:q};for(let[,t]of Array.from(e.renderers))try{if(J){let e=J;J=(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(Z(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&&(J=t.overrideHookState);if(q){let e=q;q=(n,r,i)=>{e(n,r,i),t.overrideProps?.(n,r,i)}}else t.overrideProps&&(q=t.overrideProps);Y=(e,t,n,r)=>{let i=e;for(;i;){let e=i.type;if(e===t||e?.Provider===t){q&&(q(i,[`value`,...n],r),i.alternate&&q(i.alternate,[`value`,...n],r));break}i=i.return}}}catch{}},Z=e=>Object.prototype.toString.call(e)===`[object Object]`&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null),Q=(e,t=[])=>{if(!Z(e))return[{path:t,value:e}];let n=[];for(let r in e){let i=e[r],a=t.concat(r);Z(i)?n.push(...Q(i,a)):n.push({path:a,value:i})}return n},We=(e,t)=>{X();let n=Q(t);for(let{path:t,value:r}of n)try{q?.(e,t,r)}catch{}},Ge=(e,t,n)=>{X();let r=String(t);if(Z(n)){let t=Q(n);for(let{path:n,value:i}of t)try{J?.(e,r,n,i)}catch{}}else try{J?.(e,r,[],n)}catch{}},Ke=(e,t,n)=>{if(X(),Z(n)){let r=Q(n);for(let{path:n,value:i}of r)try{Y?.(e,t,n,i)}catch{}}else try{Y?.(e,t,[],n)}catch{}},qe=e=>{let t=g(e.onActive);t._instrumentationSource=e.name??n;let r=t.onCommitFiberRoot;if(e.onCommitFiberRoot){let n=(t,i,a)=>{r!==n&&(r?.(t,i,a),e.onCommitFiberRoot?.(t,i,a))};t.onCommitFiberRoot=n}let i=t.onCommitFiberUnmount;if(e.onCommitFiberUnmount){let n=(r,a)=>{t.onCommitFiberUnmount===n&&(i?.(r,a),e.onCommitFiberUnmount?.(r,a))};t.onCommitFiberUnmount=n}let a=t.onPostCommitFiberRoot;if(e.onPostCommitFiberRoot){let n=(r,i)=>{t.onPostCommitFiberRoot===n&&(a?.(r,i),e.onPostCommitFiberRoot?.(r,i))};t.onPostCommitFiberRoot=n}return t},Je=e=>{let t=g();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},Ye=Error(),$=new Set,Xe=(e,t={})=>{let n=e.onActive,r=h(),i=s(),a=u(),o,c=!t.isProduction;return e.onActive=()=>{clearTimeout(o);let r=!0;try{let e=g();for(let n of e.renderers.values()){let[e]=n.version.split(`.`);Number(e)<(t.minReactMajorVersion??17)&&(r=!1);let i=Ie(n);i===`development`?c=!0:t.dangerouslyRunInProduction||(r=!1)}}catch(e){t.onError?.(e)}if(!r){e.onCommitFiberRoot=void 0,e.onCommitFiberUnmount=void 0,e.onPostCommitFiberRoot=void 0,e.onActive=void 0;return}n?.();try{let n=e.onCommitFiberRoot;n&&(e.onCommitFiberRoot=(e,r,i)=>{$.has(r)||$.add(r);try{n(e,r,i)}catch(e){t.onError?.(e)}});let r=e.onCommitFiberUnmount;r&&(e.onCommitFiberUnmount=(e,n)=>{try{r(e,n)}catch(e){t.onError?.(e)}});let i=e.onPostCommitFiberRoot;i&&(e.onPostCommitFiberRoot=(e,n)=>{try{i(e,n)}catch(e){t.onError?.(e)}})}catch(e){t.onError?.(e)}},!r&&!i&&!a&&(o=setTimeout(()=>{c&&t.onError?.(Ye),stop()},t.installCheckTimeout??100)),e};return exports.ActivityComponentTag=ce,exports.BIPPY_INSTRUMENTATION_STRING=n,exports.CONCURRENT_MODE_NUMBER=ue,exports.CONCURRENT_MODE_SYMBOL_STRING=pe,exports.ClassComponentTag=b,exports.ContextConsumerTag=C,exports.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=k,exports.DehydratedSuspenseComponentTag=re,exports.ELEMENT_TYPE_SYMBOL_STRING=de,exports.ForwardRefTag=w,exports.FragmentTag=te,exports.FunctionComponentTag=y,exports.HostComponentTag=S,exports.HostHoistableTag=oe,exports.HostRootTag=x,exports.HostSingletonTag=se,exports.HostTextTag=ee,exports.INSTALL_ERROR=Ye,exports.LazyComponentTag=ne,exports.LegacyHiddenComponentTag=ae,exports.MemoComponentTag=E,exports.OffscreenComponentTag=O,exports.SimpleMemoComponentTag=D,exports.SuspenseComponentTag=T,exports.SuspenseListComponentTag=ie,exports.TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING=fe,exports.ViewTransitionComponentTag=le,exports._fiberRoots=$,exports._renderers=f,exports.areFiberEqual=Te,exports.detectReactBuildType=Ie,exports.didFiberCommit=F,exports.didFiberRender=P,exports.fiberIdMap=V,exports.getDisplayName=Fe,exports.getFiberFromHostInstance=Je,exports.getFiberId=H,exports.getFiberStack=Ae,exports.getLatestFiber=Re,exports.getMutatedHostFibers=ke,exports.getNearestHostFiber=je,exports.getNearestHostFibers=Me,exports.getRDTHook=g,exports.getTimings=Ne,exports.getType=B,exports.hasMemoCache=Pe,exports.hasRDTHook=h,exports.injectOverrideMethods=X,exports.installRDTHook=p,exports.instrument=qe,exports.isClientEnvironment=_,exports.isCompositeFiber=Ce,exports.isFiber=we,exports.isHostFiber=N,exports.isInstrumentationActive=Le,exports.isReactRefresh=u,exports.isRealReactDevtools=s,exports.isValidElement=xe,exports.isValidFiber=Se,exports.mountFiberRecursively=U,exports.overrideContext=Ke,exports.overrideHookState=Ge,exports.overrideProps=We,exports.patchRDTHook=m,exports.safelyInstallRDTHook=v,exports.secure=Xe,exports.setFiberId=Be,exports.shouldFilterFiber=I,exports.traverseContexts=Ee,exports.traverseFiber=L,exports.traverseFiberAsync=z,exports.traverseFiberSync=R,exports.traverseProps=Oe,exports.traverseRenderedFibers=Ue,exports.traverseState=De,exports.unmountFiber=G,exports.unmountFiberChildrenRecursively=K,exports.updateFiberRecursively=W,exports.version=t,exports}({});