bippy 0.7.2-dev.b756bd6 → 0.7.2-dev.e113600
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/README.md +0 -68
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/errors.d.cts +34 -3
- package/dist/errors.d.ts +34 -3
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +8 -35
- package/dist/index.d.ts +8 -35
- package/dist/index.js +1 -1
- package/dist/install-hook-only.cjs +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 +8 -8
- package/dist/source.d.cts +35 -9
- package/dist/source.d.ts +35 -9
- package/dist/source.js +13 -13
- package/package.json +2 -2
- package/src/core.ts +133 -51
- package/src/rdt-hook.ts +126 -70
- package/src/react-internals/types.ts +10 -2
- package/src/source/get-display-name-from-source.ts +10 -3
- package/src/source/get-source.ts +39 -19
- package/src/source/index.ts +17 -3
- package/src/source/inspect-hooks.ts +133 -17
- package/src/source/owner-stack.ts +19 -11
- package/src/source/parse-hook-names.ts +15 -8
- package/src/source/renderer-dispatchers.ts +9 -4
- package/src/source/symbolication.ts +53 -32
package/dist/index.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,
|
|
9
|
+
import{a as e,c as t,f as n,h as r,i,l as a,n as o,o as s,p as c,s as l,t as u}from"./rdt-hook.js";import"./install-hook-only.js";import{A as d,C as f,D as p,E as m,F as h,M as g,N as _,O as v,P as y,S as b,T as x,_ as S,a as C,b as w,c as T,d as E,f as D,g as O,h as k,i as A,j as ee,k as j,l as M,m as N,n as P,o as F,p as I,r as L,s as R,t as z,u as B,v as V,w as H,x as U,y as W}from"./core.js";import*as G from"react";const K=e=>e,q=()=>void 0,J=()=>{},Y=()=>J,X=Reflect.get(G,`useSyncExternalStore`),Z=e=>{let t=Function.prototype.bind,n=null,r=new Proxy(t,{apply:(e,t,r)=>{let i=r[1];return!n&&k(i)&&(n=i),Reflect.apply(e,t,r)}});Reflect.set(Function.prototype,`bind`,r);try{e()}finally{Function.prototype.bind===r&&Reflect.set(Function.prototype,`bind`,t)}return n},Q=()=>{typeof X==`function`&&Reflect.apply(X,G,[Y,q,q])},$=()=>{G.useReducer(K,void 0)},te=typeof X==`function`?()=>Z(Q)??void 0:()=>{let e=G.useRef(null),t=G.useRef(null),n=Z($)??(t.current===e.current?e.current?.alternate:t.current)??e.current;return t.current=n,G.useEffect(()=>{e.current=n},[n]),n??void 0};export{u as BIPPY_INSTRUMENTATION_STRING,b as BippyError,f as BippyHookInspectionError,H as BippyHookRenderError,x as BippySourceMapError,m as BippyUnsupportedHookError,p as MutationMask,ee as ReactBuildType,g as ReactFiberFlags,_ as ReactSymbols,z as _fiberRoots,o as _renderers,h as compareSemver,P as detectReactBuildType,L as didFiberRender,A as getDisplayName,C as getFiber,F as getFiberById,R as getFiberFromHostInstance,T as getFiberId,M as getLatestFiber,i as getRDTHook,y as getReactWorkTags,v as getReactWorkTagsForFiber,j as getReactWorkTagsForRenderer,B as getRenderer,E as getType,D as hasMemoCache,e as hasRDTHook,s as installRDTHook,I as instrument,N as isCompositeFiber,k as isFiber,l as isFiberRootUnmounted,O as isHostFiber,S as isInstrumentationActive,t as isReactRefresh,a as isRealReactDevtools,V as isValidElement,n as onRendererInject,c as patchRDTHook,W as setFiberId,d as setReactWorkTagsForFiber,w as traverseFiber,U as traverseRenderedFibers,te as useFiber,r as version};
|
package/dist/rdt-hook.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
|
-
const e=`0.7.2-dev.
|
|
9
|
+
const e=`0.7.2-dev.e113600`,t=`bippy-${e}`,n=Object.defineProperty,r=()=>{},i=e=>e.__REACT_DEVTOOLS_GLOBAL_HOOK__,a=e=>Object.assign(e,{[Symbol.dispose]:e}),o=e=>{let t=e.current.memoizedState;return t===null||t!==void 0&&(t.element===null||t.element===void 0)},s=e=>{try{Function.prototype.toString.call(e).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://react.dev/link/perf-use-production-build`)})}catch{}},c=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>!!(e&&`getFiberRoots`in e&&e._isBippyHook!==!0),l=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>{if(!e||typeof e.inject!=`function`||c(e))return!1;try{return Function.prototype.toString.call(e.inject).includes(`(injected)`)}catch{return!1}},u=new Set,d=new Set,f=new WeakMap,p=new Set,m=new Set,h=new WeakMap,g=(e,t)=>{u.add(e);let n=f.get(e)??new Set;n.add(t),f.set(e,n)},_=(e,t)=>{let n=f.get(e);n?.delete(t),(!n||n.size===0)&&(f.delete(e),u.delete(e))},v=e=>{for(let t of u)f.get(t)?.has(e)&&t()},y=(e,t)=>{for(let n of p)n.target===e&&n.listener(t)},b=(e,t)=>{for(let n of m)n(e,t)},x=(e,t=globalThis)=>{k(void 0,t);let n={listener:e,target:t};return p.add(n),a(()=>{p.delete(n)})},S=e=>(m.add(e),a(()=>{m.delete(e)})),C=e=>Object.prototype.toString.call(e)===`[object Map]`,w=e=>(C(e.renderers)||(e.renderers=new Map),e.renderers),T=(e,t,n,r,i)=>{n.set(r,i),d.add(i),e._instrumentationIsActive||(e._instrumentationIsActive=!0,v(t));let a=h.get(t)??new WeakSet;h.set(t,a),!a.has(i)&&(a.add(i),y(t,i))},E=(e,i=globalThis)=>{e&&g(e,i);let a=new Map,c=new Map,l=e=>{let t=c.get(e)??new Set;return c.set(e,t),t},u=0,f={_instrumentationIsActive:!1,_instrumentationSource:t,_isBippyHook:!0,checkDCE:s,getFiberRoots:l,hasUnsupportedRendererAttached:!1,inject:e=>{let t=++u;return T(f,i,a,t,e),t},on:r,onCommitFiberRoot:(e,t)=>{let n=l(e);o(t)?n.delete(t):n.add(t)},onCommitFiberUnmount:r,onPostCommitFiberRoot:r,renderers:a,supportsFiber:!0,supportsFlight:!0};try{if(n(i,`__REACT_DEVTOOLS_GLOBAL_HOOK__`,{configurable:!0,enumerable:!0,get:()=>f,set:t=>{if(t&&typeof t==`object`){let n=f.renderers;f=t;let r=w(f);n.forEach((e,t)=>{d.add(e),r.set(t,e)}),(n.size>0||m.size>0)&&D(e,i),b(f,i)}}}),i===globalThis&&typeof window<`u`){let e=window.hasOwnProperty.bind(window),t=Object.getOwnPropertyDescriptor(window,`hasOwnProperty`),r=!1,i=()=>{t?n(window,`hasOwnProperty`,t):Reflect.deleteProperty(window,`hasOwnProperty`)};n(window,`hasOwnProperty`,{configurable:!0,value:t=>!r&&t===`__REACT_DEVTOOLS_GLOBAL_HOOK__`?(r=!0,i(),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=void 0,!1):e(t),writable:!0})}}catch{D(e,i)}return f},D=(e,n=globalThis)=>{e&&g(e,n);let a=!1,o=i(n);if(!o)return;let u=w(o);if(!o._instrumentationSource){o.checkDCE=s,o.supportsFiber=!0,o.supportsFlight=!0,o.hasUnsupportedRendererAttached=!1,o._instrumentationSource=t,o._instrumentationIsActive=!1;let e=c(o);e||(o.on=r),u.size?(u.forEach(e=>d.add(e)),o._instrumentationIsActive=!0,v(n),a=!0):!e&&l(o)&&(o._instrumentationIsActive=!0,v(n),a=!0);let i=o.inject;o.inject=e=>{let t=i.call(o,e);return T(o,n,u,t,e),t}}!a&&(u.size||o._instrumentationIsActive)&&e?.()},O=(e=globalThis)=>Object.hasOwn(e,`__REACT_DEVTOOLS_GLOBAL_HOOK__`),k=(e,t=globalThis)=>O(t)?(D(e,t),i(t)??E(e,t)):E(e,t);Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return C}});
|
package/dist/rdt-hook.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
|
-
const e=`0.7.2-dev.
|
|
9
|
+
const e=`0.7.2-dev.e113600`,t=`bippy-${e}`,n=Object.defineProperty,r=()=>{},i=e=>e.__REACT_DEVTOOLS_GLOBAL_HOOK__,a=e=>Object.assign(e,{[Symbol.dispose]:e}),o=e=>{let t=e.current.memoizedState;return t===null||t!==void 0&&(t.element===null||t.element===void 0)},s=e=>{try{Function.prototype.toString.call(e).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://react.dev/link/perf-use-production-build`)})}catch{}},c=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>!!(e&&`getFiberRoots`in e&&e._isBippyHook!==!0),l=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>{if(!e||typeof e.inject!=`function`||c(e))return!1;try{return Function.prototype.toString.call(e.inject).includes(`(injected)`)}catch{return!1}},u=new Set,d=new Set,f=new WeakMap,p=new Set,m=new Set,h=new WeakMap,g=(e,t)=>{u.add(e);let n=f.get(e)??new Set;n.add(t),f.set(e,n)},_=(e,t)=>{let n=f.get(e);n?.delete(t),(!n||n.size===0)&&(f.delete(e),u.delete(e))},v=e=>{for(let t of u)f.get(t)?.has(e)&&t()},y=(e,t)=>{for(let n of p)n.target===e&&n.listener(t)},b=(e,t)=>{for(let n of m)n(e,t)},x=(e,t=globalThis)=>{k(void 0,t);let n={listener:e,target:t};return p.add(n),a(()=>{p.delete(n)})},S=e=>(m.add(e),a(()=>{m.delete(e)})),C=e=>Object.prototype.toString.call(e)===`[object Map]`,w=e=>(C(e.renderers)||(e.renderers=new Map),e.renderers),T=(e,t,n,r,i)=>{n.set(r,i),d.add(i),e._instrumentationIsActive||(e._instrumentationIsActive=!0,v(t));let a=h.get(t)??new WeakSet;h.set(t,a),!a.has(i)&&(a.add(i),y(t,i))},E=(e,i=globalThis)=>{e&&g(e,i);let a=new Map,c=new Map,l=e=>{let t=c.get(e)??new Set;return c.set(e,t),t},u=0,f={_instrumentationIsActive:!1,_instrumentationSource:t,_isBippyHook:!0,checkDCE:s,getFiberRoots:l,hasUnsupportedRendererAttached:!1,inject:e=>{let t=++u;return T(f,i,a,t,e),t},on:r,onCommitFiberRoot:(e,t)=>{let n=l(e);o(t)?n.delete(t):n.add(t)},onCommitFiberUnmount:r,onPostCommitFiberRoot:r,renderers:a,supportsFiber:!0,supportsFlight:!0};try{if(n(i,`__REACT_DEVTOOLS_GLOBAL_HOOK__`,{configurable:!0,enumerable:!0,get:()=>f,set:t=>{if(t&&typeof t==`object`){let n=f.renderers;f=t;let r=w(f);n.forEach((e,t)=>{d.add(e),r.set(t,e)}),(n.size>0||m.size>0)&&D(e,i),b(f,i)}}}),i===globalThis&&typeof window<`u`){let e=window.hasOwnProperty.bind(window),t=Object.getOwnPropertyDescriptor(window,`hasOwnProperty`),r=!1,i=()=>{t?n(window,`hasOwnProperty`,t):Reflect.deleteProperty(window,`hasOwnProperty`)};n(window,`hasOwnProperty`,{configurable:!0,value:t=>!r&&t===`__REACT_DEVTOOLS_GLOBAL_HOOK__`?(r=!0,i(),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=void 0,!1):e(t),writable:!0})}}catch{D(e,i)}return f},D=(e,n=globalThis)=>{e&&g(e,n);let a=!1,o=i(n);if(!o)return;let u=w(o);if(!o._instrumentationSource){o.checkDCE=s,o.supportsFiber=!0,o.supportsFlight=!0,o.hasUnsupportedRendererAttached=!1,o._instrumentationSource=t,o._instrumentationIsActive=!1;let e=c(o);e||(o.on=r),u.size?(u.forEach(e=>d.add(e)),o._instrumentationIsActive=!0,v(n),a=!0):!e&&l(o)&&(o._instrumentationIsActive=!0,v(n),a=!0);let i=o.inject;o.inject=e=>{let t=i.call(o,e);return T(o,n,u,t,e),t}}!a&&(u.size||o._instrumentationIsActive)&&e?.()},O=(e=globalThis)=>Object.hasOwn(e,`__REACT_DEVTOOLS_GLOBAL_HOOK__`),k=(e,t=globalThis)=>O(t)?(D(e,t),i(t)??E(e,t)):E(e,t);export{O as a,l as c,S as d,x as f,e as h,k as i,c as l,_ as m,d as n,E as o,D as p,a as r,o as s,t,C as u};
|
package/dist/source.cjs
CHANGED
|
@@ -10,15 +10,15 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
|
|
|
10
10
|
`),n=[];for(let e of t)if(/^\s*at\s+/.test(e)){let t=ne(e)[0];t&&n.push(t)}else if(/^\s*in\s+/.test(e)){let t=e.replace(/^\s*in\s+/,``).replace(/\s*(?:\(at .*\)|\[[^\]]+\])$/,``);n.push({functionName:t,source:e})}else if(e.match(m)){let t=re(e)[0];t&&n.push(t)}return n}return e.match(h)?ne(e):re(e)},te=e=>{if(!e.includes(`:`))return[e,void 0,void 0];let t=e.startsWith(`(`)&&/:\d+\)$/.test(e)?e.slice(1,-1):e,n=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t);return n?[n[1],n[2]||void 0,n[3]||void 0]:[t,void 0,void 0]},ne=e=>e.split(`
|
|
11
11
|
`).filter(e=>!!e.match(h)).map(e=>{let t=e;t.includes(`(eval `)&&(t=t.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));let n=t.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),r=n.match(/ (\(.+\)$)/);n=r?n.replace(r[0],``):n;let i=te(r?r[1]:n);return{functionName:r&&n||void 0,fileName:[`eval`,`<anonymous>`,`(native)`].includes(i[0])?void 0:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}),re=e=>e.split(`
|
|
12
12
|
`).filter(e=>!e.match(ee)).map(e=>{let t=e;if(t.includes(` > eval`)&&(t=t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),!t.includes(`@`)&&!t.includes(`:`))return{functionName:t};{let e=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,n=t.match(e),r=n&&n[1]?n[1]:void 0,i=te(t.replace(e,``));return{functionName:r,fileName:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}}),ie=new WeakMap,ae=e=>u.some(t=>e.includes(t)),oe=e=>{let t=e.getFunctionName?.()??``;if(t)return t;let n=e.getTypeName?.()??``,r=e.getMethodName?.()??``;return n&&r?`${n}.${r}`:r},se=e=>{let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=oe(r);if(ae(i))return{frames:t,isTrusted:!0};if(r.isNative?.()){t.push({functionName:i||void 0});continue}let a=r.getScriptNameOrSourceURL?.()??``;!a&&r.isEval?.()&&(a=r.getEvalOrigin?.()??``),t.push({functionName:i&&i!==`<anonymous>`?i:void 0,fileName:a&&a!==`<anonymous>`?a:void 0,lineNumber:r.getLineNumber?.()??void 0,columnNumber:r.getColumnNumber?.()??void 0,enclosingLineNumber:r.getEnclosingLineNumber?.()??void 0,enclosingColumnNumber:r.getEnclosingColumnNumber?.()??void 0,source:` at ${r.toString()}`})}return{frames:t,isTrusted:!1}},ce=e=>{let t=-1;for(let n of u)if(t=e.indexOf(n),t!==-1)break;let n=t===-1?e:e.slice(0,e.lastIndexOf(`
|
|
13
|
-
`,t));return{frames:g(n).slice(1),isTrusted:t!==-1}},_=e=>{let t=ie.get(e);if(t)return t;let n=null,r=(e,t)=>{n=se(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=f();p(r);let a;try{a=String(e.stack)}finally{p(i)}let o=n??ce(a);return ie.set(e,o),o},le=()=>{let t=e.
|
|
14
|
-
`,a-1)+1,n=t.slice(e,a).match(be);n&&(i=n[1]||n[2]),a=e-1}return i?w(i,e):Me(e)},T=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`mappings`),r=Reflect.get(e,`file`),i=Reflect.get(e,`names`),a=Reflect.get(e,`sourceRoot`),o=Reflect.get(e,`sources`),s=Reflect.get(e,`sourcesContent`),c=Reflect.get(e,`ignoreList`),l=Reflect.get(e,`x_google_ignoreList`);if(t!==3||typeof n!=`string`||r!==void 0&&typeof r!=`string`||i!==void 0&&(!Array.isArray(i)||i.some(e=>typeof e!=`string`))||a!==void 0&&typeof a!=`string`||s!==void 0&&(!Array.isArray(s)||s.some(e=>typeof e!=`string`&&e!==null))||c!==void 0&&(!Array.isArray(c)||c.some(e=>!Number.isInteger(e)||e<0))||l!==void 0&&(!Array.isArray(l)||l.some(e=>!Number.isInteger(e)||e<0))||!Array.isArray(o)||o.some(e=>typeof e!=`string`)||s&&s.length!==o.length)return!1;let u=o.length;return[...c??[],...l??[]].every(e=>e<u)},Pe=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`sections`);return t!==3||!Array.isArray(n)?!1:n.every(e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`map`),n=Reflect.get(e,`url`),r=Reflect.get(e,`offset`);if(typeof r!=`object`||!r)return!1;let i=Reflect.get(r,`column`),a=Reflect.get(r,`line`);return T(t)!==(typeof n==`string`&&n.length>0)&&typeof i==`number`&&Number.isInteger(i)&&i>=0&&typeof a==`number`&&Number.isInteger(a)&&a>=0})},Fe=e=>{let t=e.ignoreList??e.x_google_ignoreList;return t?.length?new Set(t):void 0},Ie=(e,t,r)=>{if(!e||n.test(t)||t.startsWith(`/`))return t;let i=e.endsWith(`/`)?e:`${e}/`,a=t.replace(/^\.\//,``);try{let e=n.test(i)?i:new URL(i,r).toString();return new URL(a,e).toString()}catch{let e=`${i}${a}`.split(`/`),t=[];for(let n of e)n===`..`?t.pop():n!==`.`&&t.push(n);return t.join(`/`)}},Le=(e,t)=>e.sources.map(n=>Ie(e.sourceRoot,n,t)),Re=(e,t)=>{try{return{file:e.file,ignoredSourceIndices:Fe(e),mappings:_e(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:Le(e,t),sourcesContent:e.sourcesContent,version:3}}catch{return null}},
|
|
15
|
-
`),i=r===-1?t:t.slice(r+1);if(i.includes(e))return`\n${i}`}return
|
|
13
|
+
`,t));return{frames:g(n).slice(1),isTrusted:t!==-1}},_=e=>{let t=ie.get(e);if(t)return t;let n=null,r=(e,t)=>{n=se(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=f();p(r);let a;try{a=String(e.stack)}finally{p(i)}let o=n??ce(a);return ie.set(e,o),o},le=(t=globalThis)=>{let n=e.i(void 0,t),r=e.u(n.renderers)?n.renderers.values():[],i=t===globalThis?new Set([...e.n,...r]):new Set(r),a=[],o=new Set;for(let e of i){let t=e.currentDispatcherRef;!t||o.has(t)||(o.add(t),a.push(t))}return a},ue=e=>`H`in e?e.H:e.current,v=(e,t)=>{`H`in e?e.H=t:e.current=t};var de=44,fe=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,pe=new Uint8Array(64),me=new Uint8Array(128);for(let e=0;e<fe.length;e++){let t=fe.charCodeAt(e);pe[e]=t,me[t]=e}function y(e,t){let n=0,r=0,i=0;do i=me[e.next()],n|=(i&31)<<r,r+=5;while(i&32);let a=n&1;return n>>>=1,a&&(n=-2147483648|-n),t+n}function he(e,t){return e.pos>=t?!1:e.peek()!==de}var ge=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function _e(e){let{length:t}=e,n=new ge(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i=y(n,i),i<u&&(l=!1),u=i,he(n,e)?(a=y(n,a),o=y(n,o),s=y(n,s),he(n,e)?(c=y(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||ve(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function ve(e){e.sort(ye)}function ye(e,t){return e[0]-t[0]}const b=/^data:application\/json(?:;[^,]*)?,/i,be=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,xe=new Map,Se=new WeakMap;var Ce=class extends Error{};const we=new Map,Te=new WeakMap,Ee=new Set([`chrome-extension:`,`moz-extension:`,`safari-web-extension:`]),x=new Set([`http:`,`https:`,...Ee]),De=(e,t,n,r)=>{let[,i,a,o,s]=e;if(i===void 0||a===void 0||o===void 0)return null;let c=t[i];return c?{columnNumber:o,fileName:c,functionName:s===void 0?void 0:r?.[s]||void 0,isIgnoreListed:n?.has(i)??!1,lineNumber:a+1}:null},Oe=(e,t,n,r,i,a)=>{if(n<0||n>=e.length)return null;let o=e[n];if(!o||o.length===0)return null;let s=null,c=0,l=o.length-1;for(;c<=l;){let e=c+l>>1;o[e][0]<=r?(s=o[e],c=e+1):l=e-1}return!s||s.length<4?null:De(s,t,i,a)},S=(e,t,n)=>{if(e.sections){let r=t-1,i=null;for(let t of e.sections)if(r>t.offset.line||r===t.offset.line&&n>=t.offset.column)i=t;else break;if(!i)return null;let a=r-i.offset.line,o=r===i.offset.line?n-i.offset.column:n;return Oe(i.map.mappings,i.map.sources,a,o,i.map.ignoredSourceIndices,i.map.names)}return Oe(e.mappings,e.sources,t-1,n,e.ignoredSourceIndices,e.names)},ke=(e,t,n,r,i)=>{if(!n)return null;let a=n.indexOf(r);if(a===-1)return null;let o=null;for(let r of e)for(let e of r){if(e[4]!==a)continue;let r=De(e,t,i,n);if(r){if(!r.isIgnoreListed)return r;o??=r}}return o},Ae=(e,t)=>{if(e.sections){let n=null;for(let r of e.sections){let e=ke(r.map.mappings,r.map.sources,r.map.names,t,r.map.ignoredSourceIndices);if(e){if(!e.isIgnoreListed)return e;n??=e}}return n}return ke(e.mappings,e.sources,e.names,t,e.ignoredSourceIndices)},je=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},C=(e,t)=>{let n=je(e.sources,e.sourcesContent,t);if(n!==null)return n;if(!e.sections)return null;for(let n of e.sections){let e=je(n.map.sources,n.map.sourcesContent,t);if(e!==null)return e}return null},w=(e,t)=>{if(b.test(e))return e;try{return new URL(e,t).toString()}catch{try{return new URL(e).toString()}catch{try{let n=new URL(e,new URL(t,`https://bippy.invalid/`));return`${n.pathname}${n.search}${n.hash}`}catch{return null}}}},Me=e=>{try{let t=new URL(e),n=t.pathname.lastIndexOf(`.bundle`);if(n===-1)return null;let r=t.pathname.slice(n+7);if(r&&!r.startsWith(`//&`))return null;if(t.pathname=`${t.pathname.slice(0,n)}.map`,r){let e=new URLSearchParams(r.slice(3));for(let[n,r]of e)t.searchParams.set(n,r)}return t.hash=``,t.toString()}catch{return null}},Ne=(e,t,n)=>{let r=n.headers.get(`sourcemap`)??n.headers.get(`x-sourcemap`);if(r)return w(r.trim(),e);let i,a=t.length;for(;a>0&&!i;){let e=t.lastIndexOf(`
|
|
14
|
+
`,a-1)+1,n=t.slice(e,a).match(be);n&&(i=n[1]||n[2]),a=e-1}return i?w(i,e):Me(e)},T=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`mappings`),r=Reflect.get(e,`file`),i=Reflect.get(e,`names`),a=Reflect.get(e,`sourceRoot`),o=Reflect.get(e,`sources`),s=Reflect.get(e,`sourcesContent`),c=Reflect.get(e,`ignoreList`),l=Reflect.get(e,`x_google_ignoreList`);if(t!==3||typeof n!=`string`||r!==void 0&&typeof r!=`string`||i!==void 0&&(!Array.isArray(i)||i.some(e=>typeof e!=`string`))||a!==void 0&&typeof a!=`string`||s!==void 0&&(!Array.isArray(s)||s.some(e=>typeof e!=`string`&&e!==null))||c!==void 0&&(!Array.isArray(c)||c.some(e=>!Number.isInteger(e)||e<0))||l!==void 0&&(!Array.isArray(l)||l.some(e=>!Number.isInteger(e)||e<0))||!Array.isArray(o)||o.some(e=>typeof e!=`string`)||s&&s.length!==o.length)return!1;let u=o.length;return[...c??[],...l??[]].every(e=>e<u)},Pe=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`sections`);return t!==3||!Array.isArray(n)?!1:n.every(e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`map`),n=Reflect.get(e,`url`),r=Reflect.get(e,`offset`);if(typeof r!=`object`||!r)return!1;let i=Reflect.get(r,`column`),a=Reflect.get(r,`line`);return T(t)!==(typeof n==`string`&&n.length>0)&&typeof i==`number`&&Number.isInteger(i)&&i>=0&&typeof a==`number`&&Number.isInteger(a)&&a>=0})},Fe=e=>{let t=e.ignoreList??e.x_google_ignoreList;return t?.length?new Set(t):void 0},Ie=(e,t,r)=>{if(!e||n.test(t)||t.startsWith(`/`))return t;let i=e.endsWith(`/`)?e:`${e}/`,a=t.replace(/^\.\//,``);try{let e=n.test(i)?i:new URL(i,r).toString();return new URL(a,e).toString()}catch{let e=`${i}${a}`.split(`/`),t=[];for(let n of e)n===`..`?t.pop():n!==`.`&&t.push(n);return t.join(`/`)}},Le=(e,t)=>e.sources.map(n=>Ie(e.sourceRoot,n,t)),Re=e=>b.test(e)?void 0:e,ze=(e,t)=>{try{return{file:e.file,ignoredSourceIndices:Fe(e),mappings:_e(e.mappings),names:e.names,sourceMapUrl:Re(t),sourceRoot:e.sourceRoot,sources:Le(e,t),sourcesContent:e.sourcesContent,version:3}}catch{return null}},Be=async(e,t,n)=>{let r=[],i=-1,a=-1;for(let o of e.sections){if(o.offset.line<i||o.offset.line===i&&o.offset.column<=a)return null;i=o.offset.line,a=o.offset.column;let e=o.url?w(o.url,t):null,s=o.map??(e?await n(e):null);if(!s)return null;let c=e??t;try{r.push({map:{...s,ignoredSourceIndices:Fe(s),mappings:_e(s.mappings),sources:Le(s,c)},offset:o.offset})}catch{return null}}let o=new Set;for(let e of r)for(let t of e.map.sources)o.add(t);return{file:e.file,mappings:[],names:[],sections:r,sourceMapUrl:Re(t),sourceRoot:void 0,sources:Array.from(o),sourcesContent:void 0,version:3}},Ve=(e,t=!1)=>{if(!e)return!1;let r=e.trim();if(!r)return!1;let i=r.match(n);if(!i)return!0;let a=i[0].toLowerCase();return t||x.has(a)},He=()=>typeof window>`u`&&typeof process<`u`&&typeof process.versions?.node==`string`,Ue=e=>{try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&!t.username&&!t.password}catch{return!1}},We=e=>{try{return new URL(e).protocol}catch{return null}},E=e=>{let t=We(e);return t!==null&&Ee.has(t)},Ge=(e,t)=>{try{let n=new URL(e),r=new URL(t);return n.protocol===r.protocol&&n.host===r.host}catch{return!1}},Ke=(e,t,n,r)=>{if(b.test(t))return!0;if(!Ve(t,r))return!1;let i=We(e),a=We(t),o=i!==null&&!x.has(i)||a!==null&&!x.has(a);return!(n||o||E(e)||E(t))||Ge(e,t)},qe=e=>e===408||e===425||e===429||e>=500,Je=e=>{if(e.ok)return!0;if(qe(e.status))throw new Ce;return!1},Ye=(e,t,n)=>!n||t.url.length===0||Ge(e,t.url),Xe=e=>{if(e.timeoutMs===void 0||e.timeoutMs<0)return{cleanup:()=>{},signal:e.signal};let n=new AbortController,r=()=>n.abort(e.signal?.reason);e.signal?.aborted?r():e.signal?.addEventListener(`abort`,r,{once:!0});let i=setTimeout(()=>n.abort(new t.T(`Source map request timed out`)),e.timeoutMs);return{cleanup:()=>{clearTimeout(i),e.signal?.removeEventListener(`abort`,r)},signal:n.signal}},Ze=async(e,t)=>{let n=Number(e.headers.get(`content-length`));if(Number.isFinite(n)&&n>t)return null;if(!e.body){let n=await e.text();return new TextEncoder().encode(n).byteLength>t?null:n}let r=e.body.getReader(),i=new TextDecoder,a=[],o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)return await r.cancel(),null;a.push(i.decode(n,{stream:!0}))}return a.push(i.decode()),a.join(``)}finally{r.releaseLock()}},Qe=e=>{try{if(typeof globalThis.atob==`function`)return new TextDecoder().decode(Uint8Array.from(globalThis.atob(e),e=>e.charCodeAt(0)))}catch{return null}let t=e.replace(/\s/g,``).replace(/=+$/,``),n=[],r=0,i=0;for(let e of t){let t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.indexOf(e);if(t===-1)return null;r=r*64+t,i+=6,i>=8&&(i-=8,n.push(Math.floor(r/2**i)&255),r%=2**i)}return new TextDecoder().decode(Uint8Array.from(n))},$e=(e,t)=>{let n=e.indexOf(`,`);if(n===-1)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i.length>t*2)return null;try{let e=r.toLowerCase().includes(`;base64`)?Qe(i):decodeURIComponent(i);return e===null||new TextEncoder().encode(e).byteLength>t?null:JSON.parse(e)}catch{return null}},et=async(e,t,n,r,i)=>{if(b.test(e))return $e(e,r);let a=await t(e,{redirect:i?`error`:`follow`,signal:n});if(!Je(a)||!Ye(e,a,i))return null;let o=await Ze(a,r);if(o===null)return null;try{return JSON.parse(o)}catch{return null}},tt=async(e,t,n={})=>{let r=t!==void 0;if(!Ve(e,r))return null;let i=He(),a=(i||E(e))&&!n.allowCrossOriginSourceMap;if(i&&!t&&(!n.allowUnsafeServerFetch||!Ue(e)))return null;let o=t??(typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):void 0);if(!o)return null;let s=n.maxBundleSizeBytes??26214400,c=n.maxSourceMapSizeBytes??104857600;if(s<0||c<0)return null;let l=Xe(n);try{let t=await o(e,{redirect:a?`error`:`follow`,signal:l.signal});if(!Je(t)||!Ye(e,t,a))return null;let n=await Ze(t,s);if(n===null)return null;let i=Ne(e,n,t);if(!i||!Ke(e,i,a,r))return null;let u=await et(i,o,l.signal,c,a);return T(u)?ze(u,i):Pe(u)?Be(u,i,async t=>{if(!Ke(e,t,a,r))return null;let n=await et(t,o,l.signal,c,a);return T(n)?n:null}):null}finally{l.cleanup()}},nt=(e,t,n)=>{if(!n)return t;let r=e.get(n);return r||(r=new Map,e.set(n,r)),r},rt=e=>nt(Se,xe,e),it=e=>nt(Te,we,e),at=(e,t)=>t.allowCrossOriginSourceMap===void 0&&t.allowUnsafeServerFetch===void 0&&t.maxBundleSizeBytes===void 0&&t.maxSourceMapSizeBytes===void 0&&t.timeoutMs===void 0?e:`${e}\0${t.allowCrossOriginSourceMap??``}\0${t.allowUnsafeServerFetch??``}\0${t.maxBundleSizeBytes??``}\0${t.maxSourceMapSizeBytes??``}\0${t.timeoutMs??``}`,D=async(e,t=!0,n,r={})=>{let i=t&&r.signal===void 0,a=rt(n),o=it(n),s=at(e,r);if(i&&a.has(s))return a.get(s)??null;let c=i?o.get(s):void 0;if(c)return(await c).sourceMap;let l=tt(e,n,r).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));i&&o.set(s,l);let{sourceMap:u,isTransientFailure:d}=await l;return i&&(o.delete(s),d||a.set(s,u)),u},O=async(e,t=!0,n,r={})=>Promise.all(e.map(async e=>{if(!e.fileName)return e;let i=await D(e.fileName,t,n,r);if(!i||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let a=S(i,e.lineNumber,e.columnNumber);return a?{...e,source:a.fileName&&e.source?e.source.replace(e.fileName,a.fileName):e.source,fileName:a.fileName,functionName:a.functionName??e.functionName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,isIgnoreListed:a.isIgnoreListed,isSymbolicated:!0}:e})),k=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,ot=e=>`tag`in e&&typeof e.tag==`number`,A=e=>{let n=null;if(t.b(e,t=>{if(t===e)return!1;let r=t._debugOwner;return(r===e||e.alternate!==null&&r===e.alternate)&&t._debugStack instanceof Error&&(n=t._debugStack,!0)}),!n)return null;let{frames:r,isTrusted:i}=_(n);if(!i)return null;for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.fileName)return{...t,lineNumber:t.enclosingLineNumber||t.lineNumber,columnNumber:t.enclosingColumnNumber||t.columnNumber}}return null},st=()=>{let e=[];for(let t of le())e.push({currentDispatcherRef:t,value:ue(t)}),v(t,null);return e},ct=e=>{for(let{currentDispatcherRef:t,value:n}of e)v(t,n)},j=e=>`\n in ${e}`,lt=(e,t,n)=>{if(n){let t=ft(n.stack??``),r=t.lastIndexOf(`
|
|
15
|
+
`),i=r===-1?t:t.slice(r+1);if(i.includes(e))return`\n${i}`}return j(`${e}${t?` [${t}]`:``}`)};let M=!1;const N=new WeakMap,P=(e,n)=>{if(!e||M)return``;let r=N.get(e);if(r!==void 0)return r;let i=f();p(void 0),M=!0;let a=st(),o=console.error,s=console.warn;console.error=()=>{},console.warn=()=>{};try{let r={DetermineComponentFrameRoot(){let t;try{if(n){let n=function(){throw Error()};Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}});try{Reflect.construct(n,[])}catch(e){t=e}Reflect.construct(e,[],n)}else{try{throw Error()}catch(e){t=e}let n=Function.prototype.apply.call(e,void 0,[]);typeof n==`object`&&n&&`catch`in n&&typeof n.catch==`function`&&n.catch(()=>void 0)}}catch(e){if(e instanceof Error&&t instanceof Error&&typeof e.stack==`string`)return[e.stack,t.stack]}return[null,null]}};Object.defineProperty(r.DetermineComponentFrameRoot,"displayName",{value:`DetermineComponentFrameRoot`}),Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`)?.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});let[i,a]=r.DetermineComponentFrameRoot();if(i&&a){let n=i.split(`
|
|
16
16
|
`),r=a.split(`
|
|
17
|
-
`),o=0,s=0;for(;o<n.length&&!n[o].includes(`DetermineComponentFrameRoot`);)o++;for(;s<r.length&&!r[s].includes(`DetermineComponentFrameRoot`);)s++;if(o===n.length||s===r.length)for(o=n.length-1,s=r.length-1;o>=1&&s>=0&&n[o]!==r[s];)s--;for(;o>=1&&s>=0;o--,s--)if(n[o]!==r[s]){if(o!==1||s!==1)do if(o--,s--,s<0||n[o]!==r[s]){let r=`\n${n[o].replace(` at new `,` at `)}`,[i]=g(r);if(!i?.fileName)break;let a=t.
|
|
17
|
+
`),o=0,s=0;for(;o<n.length&&!n[o].includes(`DetermineComponentFrameRoot`);)o++;for(;s<r.length&&!r[s].includes(`DetermineComponentFrameRoot`);)s++;if(o===n.length||s===r.length)for(o=n.length-1,s=r.length-1;o>=1&&s>=0&&n[o]!==r[s];)s--;for(;o>=1&&s>=0;o--,s--)if(n[o]!==r[s]){if(o!==1||s!==1)do if(o--,s--,s<0||n[o]!==r[s]){let r=`\n${n[o].replace(` at new `,` at `)}`,[i]=g(r);if(!i?.fileName)break;let a=t.i(e);return a&&r.includes(`<anonymous>`)&&(r=r.replace(`<anonymous>`,a)),N.set(e,r),r}while(o>=1&&s>=0);break}}}finally{M=!1,p(i),ct(a),console.error=o,console.warn=s}let c=t.i(e),l=c?j(c):``;return N.set(e,l),l},ut=(e,n)=>{let r=``,i=t.O(e);switch(e.tag){case i.ActivityComponent:r=j(`Activity`);break;case i.ClassComponent:r=P(e.type,!0);break;case i.ForwardRef:r=P(t.d(e.type)??e.type,!1);break;case i.FunctionComponent:case i.SimpleMemoComponent:r=P(t.d(e.type)??e.type,!1);break;case i.HostComponent:case i.HostHoistable:case i.HostSingleton:typeof e.type==`string`&&(r=j(e.type));break;case i.LazyComponent:r=j(`Lazy`);break;case i.SuspenseComponent:r=e.child!==n&&n!==null?j(`Suspense Fallback`):j(`Suspense`);break;case i.SuspenseListComponent:r=j(`SuspenseList`);break;case i.ViewTransitionComponent:r=j(`ViewTransition`);break;default:return``}return r},dt=e=>{try{let t=``,n=e,r=null;do{t+=ut(n,r);let e=n._debugInfo;if(e&&Array.isArray(e))for(let n=e.length-1;n>=0;n--){let r=e[n];typeof r.name==`string`&&(t+=lt(r.name,r.env,r.debugLocation))}r=n,n=n.return}while(n);return t}catch(e){return e instanceof Error?`\nBippy couldn’t generate the stack: ${e.message}\n${e.stack}`:``}},ft=e=>{let t=e;if(!t)return``;t.startsWith(`Error: react-stack-top-frame
|
|
18
18
|
`)&&(t=t.slice(29));let n=t.indexOf(`
|
|
19
19
|
`);n!==-1&&(t=t.slice(n+1));let r=Math.max(...u.map(e=>t.indexOf(e)));if(r!==-1&&(r=t.lastIndexOf(`
|
|
20
|
-
`,r)),r!==-1)t=t.slice(0,r);else return``;return t},
|
|
21
|
-
`),r=t-1;if(r<0||r>=n.length)return null;for(let e=0;e<=5;e++){let t=e===0?[r]:[r-e,r+e];for(let e of t){if(e<0||e>=n.length)continue;let t=jt(n[e]);if(t)return t}}return null},Nt=async(e,n=!0,r)=>{let i=j(e)??yt(e).find(e=>e.fileName);if(!i?.fileName)return t.a(e.type);let a=await O(i.fileName,n,r);if(!a)return t.a(e.type);let o=null;if(typeof i.lineNumber==`number`&&typeof i.columnNumber==`number`&&(o=S(a,i.lineNumber,i.columnNumber)),!o?.fileName||!o.lineNumber)return t.a(e.type);let s=C(a,o.fileName);return(s?Mt(s,o.lineNumber):null)||(o.functionName??t.a(e.type))},Pt=Symbol.for(`react.context`),Ft=Symbol.for(`react.memo_cache_sentinel`),It=Symbol.for(`react.recoverable`);let R=[],z=null,B=null,V=null,H=null,U=0,W=null;const G=Error("Suspense interrupted this render. This error is an internal implementation detail of `use`."),K=e=>g(e.stack||``,{includeInElement:!1}),q=()=>{let e=V;return e!==null&&(V=e.next),e},J=e=>typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`,Lt=e=>typeof e==`object`&&!!e&&`current`in e,Y=e=>typeof e==`object`&&!!e&&`_currentValue`in e,Rt=e=>typeof e==`object`&&!!e&&`context`in e&&`next`in e,zt=e=>typeof e==`object`&&!!e&&`render`in e&&typeof e.render==`function`,X=e=>{if(B===null)return e._currentValue;if(H===null)throw new t.C(`Context reads don’t match context dependencies.`);if(Object.hasOwn(H,`memoizedValue`)){let e=H.memoizedValue;return H=H.next,e}return e._currentValue},Z=(e,t,n,r=null,i=null)=>{R.push({displayName:r,primitive:e,stackError:Error(),value:t,debugInfo:i,dispatcherHookName:n})},Bt=e=>{if(typeof e==`object`&&e){if(J(e)){let t=W!==null&&U<W.length?W[U++]:e,n=J(t)?t:e;switch(n.status){case`fulfilled`:return Z(`Promise`,n.value,`Use`,null,n._debugInfo??null),n.value;case`rejected`:throw n.reason}throw Z(`Unresolved`,n,`Use`,null,n._debugInfo??null),G}if(`$$typeof`in e&&e.$$typeof===It){Z(`Recoverable`,void 0,`Use`);return}if(`$$typeof`in e&&e.$$typeof===Pt&&Y(e)){let t={_currentValue:e._currentValue,displayName:typeof e.displayName==`string`?e.displayName:void 0},n=X(t);return Z(`Context (use)`,n,`Use`,t.displayName||`Context`),n}}throw new t.C(`use() received an unsupported value: `+String(e))},Vt=e=>{let t=X(e);return Z(`Context`,t,`Context`,e.displayName||null),t},Ht=e=>{let t=q(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return Z(`State`,n,`State`),[n,()=>{}]},Ut=(e,t,n)=>{let r=q(),i=r===null?n===void 0?t:n(t):r.memoizedState;return Z(`Reducer`,i,`Reducer`),[i,()=>{}]},Wt=e=>{let t=q(),n=Lt(t?.memoizedState)?t.memoizedState:{current:e};return Z(`Ref`,n.current,`Ref`),n},Gt=()=>{let e=q();return Z(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},Kt=e=>{q(),Z(`LayoutEffect`,e,`LayoutEffect`)},qt=e=>{q(),Z(`InsertionEffect`,e,`InsertionEffect`)},Jt=e=>{q(),Z(`Effect`,e,`Effect`)},Yt=e=>{q();let t=Lt(e)?e.current:void 0;Z(`ImperativeHandle`,t,`ImperativeHandle`)},Xt=(e,t)=>{Z(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},Zt=e=>{let t=q();return Z(`Callback`,Array.isArray(t?.memoizedState)?t.memoizedState[0]:e,`Callback`),e},Qt=e=>{let t=q(),n=Array.isArray(t?.memoizedState)?t.memoizedState[0]:e();return Z(`Memo`,n,`Memo`),n},$t=(e,t)=>{let n=q();q();let r=n===null?t():n.memoizedState;return Z(`SyncExternalStore`,r,`SyncExternalStore`),r},en=()=>{let e=q();q();let t=e?.memoizedState===!0;return Z(`Transition`,t,`Transition`),[t,()=>{}]},tn=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`DeferredValue`,n,`DeferredValue`),n},nn=()=>{let e=q(),t=typeof e?.memoizedState==`string`?e.memoizedState:``;return Z(`Id`,t,`Id`),t},rn=e=>{let t=B;if(t===null)return[];let n=t.updateQueue?.memoCache;if(n==null)return[];let r=n.data[n.index];return r===void 0&&(r=n.data[n.index]=Array.from({length:e},()=>Ft)),n.index++,r},an=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`Optimistic`,n,`Optimistic`),[n,()=>{}]},on=(e,t)=>{let n,r=null,i=null;if(e!==null){let t=e.memoizedState;if(J(t))switch(t.status){case`fulfilled`:n=t.value,r=t._debugInfo??null;break;case`rejected`:i=t.reason;break;default:i=G,n=t,r=t._debugInfo??null}else n=t}else n=t;return{value:n,debugInfo:r,error:i}},sn=e=>(t,n)=>{let r=q();q(),q();let{value:i,debugInfo:a,error:o}=on(r,n);if(Z(e,i,e,null,a),o!==null)throw o;return[i,()=>{},!1]},cn=sn(`ActionState`),Q={readContext:X,use:Bt,useCallback:Zt,useContext:Vt,useEffect:Jt,useImperativeHandle:Yt,useLayoutEffect:Kt,useInsertionEffect:qt,useMemo:Qt,useReducer:Ut,useRef:Wt,useState:Ht,useDebugValue:Xt,useDeferredValue:tn,useTransition:en,useSyncExternalStore:$t,useId:nn,useHostTransitionStatus:()=>{let e=X({_currentValue:null});return Z(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:sn(`FormState`),useActionState:cn,useOptimistic:an,useMemoCache:rn,useCacheRefresh:Gt,useEffectEvent:e=>(q(),Z(`EffectEvent`,e,`EffectEvent`),e)},ln=new Proxy(Q,{get(e,n){if(Object.hasOwn(e,n))return Reflect.get(e,n);throw new t.E(`The React dispatcher is missing method `+n)}}),un=()=>{if(z!==null)return z;let e=new Map,t;try{Q.useContext({_currentValue:null}),Q.useState(null),Q.useReducer(e=>e,null),Q.useRef(null),Q.useCacheRefresh(),Q.useLayoutEffect(()=>{}),Q.useInsertionEffect(()=>{}),Q.useEffect(()=>{}),Q.useImperativeHandle(void 0),Q.useDebugValue(null),Q.useCallback(()=>{}),Q.useTransition(),Q.useSyncExternalStore(()=>()=>{},()=>null),Q.useDeferredValue(null),Q.useMemo(()=>null),Q.useOptimistic(null),Q.useFormState(e=>e,null),Q.useActionState(e=>e,null),Q.useHostTransitionStatus(),Q.use({$$typeof:Pt,_currentValue:null}),Q.use({$$typeof:It});let e=Promise.resolve(null);Reflect.set(e,`status`,`fulfilled`),Reflect.set(e,`value`,null),Q.use(e);try{Q.use(new Promise(()=>{}))}catch{}Q.useId(),Q.useEffectEvent(()=>{})}finally{t=R,R=[]}for(let n of t)e.set(n.primitive,K(n.stackError));return z=e,z};let dn=0;const fn=(e,t,n)=>{if(n>=t.length)return-1;let r=t[n].source;hookSearch:for(let i=0;i<e.length;i++)if(e[i].source===r){for(let r=n+1,a=i+1;r<t.length&&a<e.length;r++,a++)if(e[a].source!==t[r].source)continue hookSearch;return i}return-1},pn=(e,t)=>{let n=fn(t,e,dn);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=fn(t,e,r),n!==-1)return dn=r,n;return-1},$=e=>{if(!e)return``;let t=e.lastIndexOf(`[as `);if(t!==-1)return $(e.slice(t+4,-1));if(t=e.lastIndexOf(`.`),t=t===-1?0:t+1,e.slice(t).startsWith(`unstable_`)&&(t+=9),e.slice(t).startsWith(`experimental_`)&&(t+=13),e.slice(t,t+3)===`use`){if(e.length-t===3)return`Use`;t+=3}return e.slice(t)},mn=(e,t)=>{let n=$(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},hn=(e,t)=>{let n=un().get(t.primitive);if(n===void 0)return-1;for(let r=0;r<n.length&&r<e.length;r++)if(n[r].source!==e[r].source)return r<e.length-1&&mn(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&mn(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},gn=(e,t)=>{let n=K(t.stackError),r=pn(e,n),i=hn(n,t);return r===-1||i===-1||r-i<2?i===-1?[null,null]:[n[i-1]??null,null]:[n[i-1]??null,n.slice(i,r-1)]},_n=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),vn=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=gn(e,s),l=s.displayName;if(l===null&&t!==null&&(l=$(t.functionName)||$(s.dispatcherHookName)),c!==null){let e=0;if(r!==null){for(;e<c.length&&e<r.length&&c[c.length-e-1].source===r[r.length-e-1].source;)e++;for(let t=r.length-1;t>e;t--)i=o.pop()??n}for(let t=c.length-e-1;t>=1;t--){let e=[],n=c[t],r={id:null,isStateEditable:!1,name:$(c[t-1].functionName),value:void 0,subHooks:e,debugInfo:null,hookSource:{lineNumber:n.lineNumber??null,columnNumber:n.columnNumber??null,functionName:n.functionName??null,fileName:n.fileName??null}};i.push(r),o.push(i),i=e}r=c}let{primitive:u}=s,d=_n.has(u)?null:a++,f=u===`Reducer`||u===`State`,p=l||u,m=c?.[0],h={lineNumber:m?.lineNumber??null,columnNumber:m?.columnNumber??null,functionName:m?.functionName??null,fileName:m?.fileName??null};i.push({id:d,isStateEditable:f,name:p,value:s.value,subHooks:[],debugInfo:s.debugInfo,hookSource:h})}return yn(n,null),n},yn=(e,t)=>{let n=[];for(let t=0;t<e.length;t++){let r=e[t];r.name===`DebugValue`&&r.subHooks.length===0?(e.splice(t,1),t--,n.push(r)):yn(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},bn=(e,n)=>{let r=n;for(;r;){if(r.tag===t.O(r).ContextProvider){let t=r.type,n=typeof t==`object`&&t&&`_context`in t?t._context:void 0,i=Y(n)?n:Y(t)?t:null;i&&!e.has(i)&&(e.set(i,i._currentValue),i._currentValue=r.memoizedProps.value)}r=r.return}},xn=e=>{e.forEach((e,t)=>{t._currentValue=e})},Sn=e=>{if(e!==G)throw e instanceof t.E?e:new t.w(`Bippy couldn’t render the inspected component`,e)},Cn=(e,t)=>{if(e!==null&&(typeof e==`object`||typeof e==`function`)&&`defaultProps`in e&&typeof e.defaultProps==`object`&&e.defaultProps!==null){let n={...t},r=e.defaultProps;for(let[e,t]of Object.entries(r))n[e]===void 0&&(n[e]=t);return n}return t},wn=()=>{let e={};for(let t in console)try{e[t]=Reflect.get(console,t),Reflect.set(console,t,()=>{})}catch{}return e},Tn=e=>{for(let t in e)try{Reflect.set(console,t,e[t])}catch{}},En=(e,t)=>{let n=ue(e);v(e,ln);let r=[],i;try{i=Error(),t()}catch(e){Sn(e)}finally{r=R,R=[],v(e,n)}let a=i===void 0?[]:K(i);return vn(a,r)},Dn=()=>{let e=le()[0];if(!e)throw new t.C(`Bippy couldn’t find a React renderer. Load React and install Bippy’s hook.`);return e},On=e=>{let n=[`dependencies_old`,`dependencies_new`].find(t=>Object.hasOwn(e,t));if(Object.hasOwn(e,`dependencies`)){let t=e.dependencies;H=t===null?null:t.firstContext}else if(n){let t=Reflect.get(e,n),r=typeof t==`object`&&t&&`firstContext`in t?t.firstContext:null;H=Rt(r)?r:null}else if(Object.hasOwn(e,`contextDependencies`)){let t=Reflect.get(e,`contextDependencies`),n=typeof t==`object`&&t&&`first`in t?t.first:null;H=Rt(n)?n:null}else throw new t.C(`Bippy doesn’t support this React version.`)},kn=e=>{let n=Dn(),r=t.O(e);if(e.tag!==r.FunctionComponent&&e.tag!==r.SimpleMemoComponent&&e.tag!==r.ForwardRef)throw new t.C(`Hook inspection requires a function component Fiber.`);un(),V=e.memoizedState,B=e;let i=e.dependencies?._debugThenableState,a=Array.isArray(i)?i:i?.thenables;W=Array.isArray(a)?a:null,U=0,On(e);let o=e.type,s=e.memoizedProps;o!==e.elementType&&(s=Cn(o,s));let c=wn(),l=new Map;try{if(H!==null&&!Object.hasOwn(H,`memoizedValue`)&&bn(l,e),e.tag===r.ForwardRef){if(!zt(o))throw new t.C(`ForwardRef fiber is missing its render function.`);return En(n,()=>{o.render(s,e.ref)})}if(typeof o!=`function`)throw new t.C(`Function component fiber is missing its component function.`);return En(n,()=>{o(s)})}finally{B=null,V=null,H=null,W=null,U=0,xn(l),Tn(c)}},An=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),jn=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:[\w$.]+\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,Mn=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,Nn=e=>{let t=[],n=e=>{for(let r of e)An.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},Pn=e=>{let t=e.trim();if(t.startsWith(`[`)){let e=t.match(/\[\s*(\w+)/);return e?e[1]:null}return/^\w+$/.test(t)?t:null},Fn=(e,t,n)=>{let r=e.split(`
|
|
20
|
+
`,r)),r!==-1)t=t.slice(0,r);else return``;return t},pt=e=>!!(e.functionName&&e.fileName&&_t(e.fileName)),mt=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,ht=e=>{let t=new Map;for(let n of e){if(!pt(n))continue;let e=n.functionName,r=t.get(e)??[];r.some(e=>mt(e,n))||(r.push(n),t.set(e,r))}return t},gt=(e,t,n)=>{if(!e.functionName)return{...e,isServer:!0};let r=t.get(e.functionName);if(!r||r.length===0)return{...e,isServer:!0};let i=n.get(e.functionName)??0,a=r[i%r.length];return n.set(e.functionName,i+1),{...e,isServer:!0,fileName:a.fileName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,source:e.source?.replace(l,`(${a.fileName}:${a.lineNumber}:${a.columnNumber})`)}},_t=e=>i.some(t=>e.startsWith(t)),vt=e=>!e.isServer&&e.fileName&&_t(e.fileName)?{...e,isServer:!0}:e,yt=e=>{let t=[],n=e;for(;n;)if(ot(n)){let e=n;if(n=e._debugOwner,n&&k(e)){let{frames:n,isTrusted:r}=_(e._debugStack);if(r)for(let e of n)t.push(vt(e))}}else{let e=n;if(n=e.owner,n&&e.debugStack instanceof Error)for(let n of _(e.debugStack).frames)t.push({...n,isServer:!0})}return t},bt=e=>{let n=[];return t.b(e,e=>{if(!k(e))return;let{frames:t,isTrusted:r}=_(e._debugStack);r&&n.push(...t)},!0),n},xt=e=>{let t=bt(e),n=g(dt(e)),r=ht(t),i=new Map;return n.map(e=>e.source!==void 0&&l.test(e.source)?gt(e,r,i):e).filter((e,t,n)=>{if(t===0)return!0;let r=n[t-1];return e.functionName!==r.functionName})},F=async(e,t=!0,n,r={})=>O(xt(e),t,n,r),St=e=>!!e.fileName&&!e.isIgnoreListed,Ct=async(e,n=!0,r,i={})=>{let a=yt(e);if(a.length>0){let o=A(e)??{};o.functionName=t.i(e.type)??o.functionName;let s=await O([o,...a],n,r,i);if(s.some((e,t)=>t>0&&St(e)))return s}return F(e,n,r,i)},wt=e=>{let t=e._debugSource;return t?typeof t==`object`&&typeof t.fileName==`string`&&t.fileName!==`(native)`&&typeof t.lineNumber==`number`:!1},I=e=>e.fileName?{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName}:null,Tt=e=>{if(!k(e))return null;let{frames:t,isTrusted:n}=_(e._debugStack);if(!n)return null;for(let e of t)if(e.fileName)return e;return null},Et=e=>{if(wt(e))return e._debugSource;let t=Tt(e)??A(e);return t?I(t):null},Dt=async(e,n,r,i)=>{let a=t.i(e.type);if(!a)return null;let o=g(Error().stack??``),s=new Set;for(let e of o){let t=e.fileName;if(!t||s.has(t))continue;s.add(t);let o=await D(t,n,r,i);if(!o)continue;let c=Ae(o,a);if(c&&!c.isIgnoreListed)return I(c)}return null},Ot=async(e,t=!0,n,r={})=>{if(wt(e))return e._debugSource;let i=Et(e);if(i){let[e]=await O([{columnNumber:i.columnNumber,fileName:i.fileName,functionName:i.functionName,lineNumber:i.lineNumber}],t,n,r),a=I(e);if(a)return a}let a=await F(e,t,n,r);for(let e of a)if(e.fileName)return I(e);return Dt(e,t,n,r)},kt=e=>e.split(`/`).filter(Boolean).length,At=e=>{let t=e.indexOf(`/`,1);if(t===-1)return e;let n=e.slice(0,t);if(kt(n)!==1)return e;let r=e.slice(t);if(!o.test(r))return e;let i=r.split(`/`).filter(Boolean);if(i.length<2)return e;let a=i[0];return a.startsWith(`@`)||a.length>4?e:r},jt=e=>{if(!e||a.some(t=>t===e))return``;let t=e,i=/^[a-zA-Z]:[\\/]/.test(t);if(t.startsWith(`http://`)||t.startsWith(`https://`)){try{t=new URL(t).pathname}catch{}t=At(t)}if(t.startsWith(`about://React/`)){let e=t.slice(14),n=e.indexOf(`/`),r=e.indexOf(`:`);t=n!==-1&&(r===-1||n<r)?e.slice(n+1):e}let o=!0;for(;o;){o=!1;for(let e of r)if(t.startsWith(e)){t=t.slice(e.length),e===`file:///`&&(t=`/${t.replace(/^\/+/,``)}`),o=!0;break}}if(!i){let e=t.match(n);e&&(t=t.slice(e[0].length))}if(t.startsWith(`//`)){let e=t.indexOf(`/`,2);t=e===-1?``:t.slice(e)}let s=t.indexOf(`?`);if(s!==-1){let e=t.slice(s);c.test(e)&&(t=t.slice(0,s))}return t},Mt=e=>{let t=jt(e);return!(!t||!o.test(t)||s.test(t))},Nt=[/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/,/(?:^|export\s+)function\s+(\w+)/,/(?:^|export\s+)class\s+(\w+)/],Pt=e=>{for(let t of Nt){let n=e.match(t);if(n?.[1])return n[1]}return null},Ft=(e,t)=>{let n=e.split(`
|
|
21
|
+
`),r=t-1;if(r<0||r>=n.length)return null;for(let e=0;e<=5;e++){let t=e===0?[r]:[r-e,r+e];for(let e of t){if(e<0||e>=n.length)continue;let t=Pt(n[e]);if(t)return t}}return null},It=async(e,n=!0,r,i={})=>{let a=A(e)??xt(e).find(e=>e.fileName);if(!a?.fileName)return t.i(e.type);let o=await D(a.fileName,n,r,i);if(!o)return t.i(e.type);let s=null;if(typeof a.lineNumber==`number`&&typeof a.columnNumber==`number`&&(s=S(o,a.lineNumber,a.columnNumber)),!s?.fileName||!s.lineNumber)return t.i(e.type);let c=C(o,s.fileName);return(c?Ft(c,s.lineNumber):null)||(s.functionName??t.i(e.type))},Lt=Symbol.for(`react.context`),Rt=Symbol.for(`react.memo_cache_sentinel`),zt=Symbol.for(`react.recoverable`);let L=[],R=null,z=null,B=null,V=null,H=0,U=null;const W=Error("Suspense interrupted this render. This error is an internal implementation detail of `use`."),G=e=>g(e.stack||``,{includeInElement:!1}),K=()=>{let e=B;return e!==null&&(B=e.next),e},q=e=>typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`,Bt=e=>typeof e==`object`&&!!e&&`current`in e,J=e=>typeof e==`object`&&!!e&&`_currentValue`in e,Vt=e=>typeof e==`object`&&!!e&&`context`in e&&`next`in e,Ht=e=>typeof e==`object`&&!!e&&`render`in e&&typeof e.render==`function`,Y=e=>{if(z===null)return e._currentValue;if(V===null)throw new t.C(`Context reads don’t match context dependencies.`);if(Object.hasOwn(V,`memoizedValue`)){let e=V.memoizedValue;return V=V.next,e}return e._currentValue},X=(e,t,n,r=null,i=null)=>{L.push({displayName:r,primitive:e,stackError:Error(),value:t,debugInfo:i,dispatcherHookName:n})},Ut=e=>{if(typeof e==`object`&&e){if(q(e)){let t=U!==null&&H<U.length?U[H++]:e,n=q(t)?t:e;switch(n.status){case`fulfilled`:return X(`Promise`,n.value,`Use`,null,n._debugInfo??null),n.value;case`rejected`:throw n.reason}throw X(`Unresolved`,n,`Use`,null,n._debugInfo??null),W}if(`$$typeof`in e&&e.$$typeof===zt){X(`Recoverable`,void 0,`Use`);return}if(`$$typeof`in e&&e.$$typeof===Lt&&J(e)){let t={_currentValue:e._currentValue,displayName:typeof e.displayName==`string`?e.displayName:void 0},n=Y(t);return X(`Context (use)`,n,`Use`,t.displayName||`Context`),n}}throw new t.C(`use() received an unsupported value: `+String(e))},Wt=e=>{let t=Y(e);return X(`Context`,t,`Context`,e.displayName||null),t},Gt=e=>{let t=K(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return X(`State`,n,`State`),[n,()=>{}]},Kt=(e,t,n)=>{let r=K(),i=r===null?n===void 0?t:n(t):r.memoizedState;return X(`Reducer`,i,`Reducer`),[i,()=>{}]},qt=e=>{let t=K(),n=Bt(t?.memoizedState)?t.memoizedState:{current:e};return X(`Ref`,n.current,`Ref`),n},Jt=()=>{let e=K();return X(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},Yt=e=>{K(),X(`LayoutEffect`,e,`LayoutEffect`)},Xt=e=>{K(),X(`InsertionEffect`,e,`InsertionEffect`)},Zt=e=>{K(),X(`Effect`,e,`Effect`)},Qt=e=>{K();let t=Bt(e)?e.current:void 0;X(`ImperativeHandle`,t,`ImperativeHandle`)},$t=(e,t)=>{X(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},en=e=>{let t=K();return X(`Callback`,Array.isArray(t?.memoizedState)?t.memoizedState[0]:e,`Callback`),e},tn=e=>{let t=K(),n=Array.isArray(t?.memoizedState)?t.memoizedState[0]:e();return X(`Memo`,n,`Memo`),n},nn=(e,t)=>{let n=K();K();let r=n===null?t():n.memoizedState;return X(`SyncExternalStore`,r,`SyncExternalStore`),r},rn=()=>{let e=K();K();let t=e?.memoizedState===!0;return X(`Transition`,t,`Transition`),[t,()=>{}]},an=e=>{let t=K(),n=t===null?e:t.memoizedState;return X(`DeferredValue`,n,`DeferredValue`),n},on=()=>{let e=K(),t=typeof e?.memoizedState==`string`?e.memoizedState:``;return X(`Id`,t,`Id`),t},sn=e=>{let t=z;if(t===null)return[];let n=t.updateQueue?.memoCache;if(n==null)return[];let r=n.data[n.index];return r===void 0&&(r=n.data[n.index]=Array.from({length:e},()=>Rt)),n.index++,r},cn=e=>{let t=K(),n=t===null?e:t.memoizedState;return X(`Optimistic`,n,`Optimistic`),[n,()=>{}]},ln=(e,t)=>{let n,r=null,i=null;if(e!==null){let t=e.memoizedState;if(q(t))switch(t.status){case`fulfilled`:n=t.value,r=t._debugInfo??null;break;case`rejected`:i=t.reason;break;default:i=W,n=t,r=t._debugInfo??null}else n=t}else n=t;return{value:n,debugInfo:r,error:i}},un=e=>(t,n)=>{let r=K();K(),K();let{value:i,debugInfo:a,error:o}=ln(r,n);if(X(e,i,e,null,a),o!==null)throw o;return[i,()=>{},!1]},dn=un(`ActionState`),Z={readContext:Y,use:Ut,useCallback:en,useContext:Wt,useEffect:Zt,useImperativeHandle:Qt,useLayoutEffect:Yt,useInsertionEffect:Xt,useMemo:tn,useReducer:Kt,useRef:qt,useState:Gt,useDebugValue:$t,useDeferredValue:an,useTransition:rn,useSyncExternalStore:nn,useId:on,useHostTransitionStatus:()=>{let e=Y({_currentValue:null});return X(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:un(`FormState`),useActionState:dn,useOptimistic:cn,useMemoCache:sn,useCacheRefresh:Jt,useEffectEvent:e=>(K(),X(`EffectEvent`,e,`EffectEvent`),e)},fn=new Proxy(Z,{get(e,n){if(Object.hasOwn(e,n))return Reflect.get(e,n);throw new t.E(`The React dispatcher is missing method `+n)}}),pn=()=>{if(R!==null)return R;let e=new Map,t;try{Z.useContext({_currentValue:null}),Z.useState(null),Z.useReducer(e=>e,null),Z.useRef(null),Z.useCacheRefresh(),Z.useLayoutEffect(()=>{}),Z.useInsertionEffect(()=>{}),Z.useEffect(()=>{}),Z.useImperativeHandle(void 0),Z.useDebugValue(null),Z.useCallback(()=>{}),Z.useTransition(),Z.useSyncExternalStore(()=>()=>{},()=>null),Z.useDeferredValue(null),Z.useMemo(()=>null),Z.useOptimistic(null),Z.useFormState(e=>e,null),Z.useActionState(e=>e,null),Z.useHostTransitionStatus(),Z.use({$$typeof:Lt,_currentValue:null}),Z.use({$$typeof:zt});let e=Promise.resolve(null);Reflect.set(e,`status`,`fulfilled`),Reflect.set(e,`value`,null),Z.use(e);try{Z.use(new Promise(()=>{}))}catch{}Z.useId(),Z.useEffectEvent(()=>{})}finally{t=L,L=[]}for(let n of t)e.set(n.primitive,G(n.stackError));return R=e,R};let mn=0;const hn=(e,t,n)=>{if(n>=t.length)return-1;let r=t[n].source;hookSearch:for(let i=0;i<e.length;i++)if(e[i].source===r){for(let r=n+1,a=i+1;r<t.length&&a<e.length;r++,a++)if(e[a].source!==t[r].source)continue hookSearch;return i}return-1},gn=(e,t)=>{let n=hn(t,e,mn);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=hn(t,e,r),n!==-1)return mn=r,n;return-1},Q=e=>{if(!e)return``;let t=e.lastIndexOf(`[as `);if(t!==-1)return Q(e.slice(t+4,-1));if(t=e.lastIndexOf(`.`),t=t===-1?0:t+1,e.slice(t).startsWith(`unstable_`)&&(t+=9),e.slice(t).startsWith(`experimental_`)&&(t+=13),e.slice(t,t+3)===`use`){if(e.length-t===3)return`Use`;t+=3}return e.slice(t)},_n=new Set([X,...Object.values(Z)].map(e=>Q(e.name))),vn=e=>e!==``&&_n.has(e),yn=(e,t)=>{let n=Q(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},bn=(e,t)=>{let n=pn().get(t.primitive);if(n===void 0)return-1;for(let r=0;r<n.length&&r<e.length;r++)if(n[r].source!==e[r].source)return r<e.length-1&&yn(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&yn(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},xn=(e,t)=>{let n=G(t.stackError),r=gn(e,n),i=bn(n,t);return r===-1||i===-1||r-i<2?i===-1?[null,null]:[n[i-1]??null,null]:[n[i-1]??null,n.slice(i,r-1)]},Sn=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),Cn=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=xn(e,s),l=s.displayName;if(l===null&&t!==null){let e=Q(t.functionName);l=vn(e)?null:e||Q(s.dispatcherHookName)}if(c!==null){let e=0;if(r!==null){for(;e<c.length&&e<r.length&&c[c.length-e-1].source===r[r.length-e-1].source;)e++;for(let t=r.length-1;t>e;t--)i=o.pop()??n}for(let t=c.length-e-1;t>=1;t--){let e=[],n=c[t],r={id:null,isStateEditable:!1,name:Q(c[t-1].functionName),value:void 0,subHooks:e,debugInfo:null,hookSource:{lineNumber:n.lineNumber??null,columnNumber:n.columnNumber??null,functionName:n.functionName??null,fileName:n.fileName??null}};i.push(r),o.push(i),i=e}r=c}let{primitive:u}=s,d=Sn.has(u)?null:a++,f=u===`Reducer`||u===`State`,p=l||u,m=c?.[0],h={lineNumber:m?.lineNumber??null,columnNumber:m?.columnNumber??null,functionName:m?.functionName??null,fileName:m?.fileName??null};i.push({id:d,isStateEditable:f,name:p,value:s.value,subHooks:[],debugInfo:s.debugInfo,hookSource:h})}return Tn(n,null),wn(n,null),n},wn=(e,t)=>{for(let n=0;n<e.length;n++){let r=e[n];vn(r.name)?(t!==null&&r.value!==void 0&&(t.value=t.value===void 0?r.value:Array.isArray(t.value)?[...t.value,r.value]:[t.value,r.value]),e.splice(n,1,...r.subHooks),n--):wn(r.subHooks,r)}},Tn=(e,t)=>{let n=[];for(let t=0;t<e.length;t++){let r=e[t];r.name===`DebugValue`?(e.splice(t,1,...r.subHooks),t--,r.value!==void 0&&n.push(r)):Tn(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},En=(e,n)=>{let r=n;for(;r;){if(r.tag===t.O(r).ContextProvider){let t=r.type,n=typeof t==`object`&&t&&`_context`in t?t._context:void 0,i=J(n)?n:J(t)?t:null;i&&!e.has(i)&&(e.set(i,i._currentValue),i._currentValue=r.memoizedProps.value)}r=r.return}},Dn=e=>{e.forEach((e,t)=>{t._currentValue=e})},On=e=>{if(e!==W)throw e instanceof t.E?e:new t.w(`Bippy couldn’t render the inspected component`,e)},kn=(e,t)=>{if(e!==null&&(typeof e==`object`||typeof e==`function`)&&`defaultProps`in e&&typeof e.defaultProps==`object`&&e.defaultProps!==null){let n={...t},r=e.defaultProps;for(let[e,t]of Object.entries(r))n[e]===void 0&&(n[e]=t);return n}return t},An=()=>{let e={};for(let t in console)try{e[t]=Reflect.get(console,t),Reflect.set(console,t,()=>{})}catch{}return e},jn=e=>{for(let t in e)try{Reflect.set(console,t,e[t])}catch{}},Mn=(e,t,...n)=>{let r=ue(e);v(e,fn);let i=[],a;try{a=Error(),t(...n)}catch(e){On(e)}finally{i=L,L=[],v(e,r)}let o=a===void 0?[]:G(a);return Cn(o,i)},Nn=(e,n=globalThis)=>{let r=(e?t.u(e,n)?.currentDispatcherRef:null)??le(n)[0];if(!r)throw new t.C(`Bippy couldn’t find a React renderer. Load React and install Bippy’s hook.`);return r},Pn=e=>{let n=[`dependencies_old`,`dependencies_new`].find(t=>Object.hasOwn(e,t));if(Object.hasOwn(e,`dependencies`)){let t=e.dependencies;V=t===null?null:t.firstContext}else if(n){let t=Reflect.get(e,n),r=typeof t==`object`&&t&&`firstContext`in t?t.firstContext:null;V=Vt(r)?r:null}else if(Object.hasOwn(e,`contextDependencies`)){let t=Reflect.get(e,`contextDependencies`),n=typeof t==`object`&&t&&`first`in t?t.first:null;V=Vt(n)?n:null}else throw new t.C(`Bippy doesn’t support this React version.`)},$=e=>{let t=e=>{let n=e.subHooks.map(t);if(n.length===1){let t=n[0];if(e.name===`Context`&&t.id===null)return{...t,hookSource:e.hookSource};if(e.name===`FormStatus`&&t.name===`HostTransitionStatus`)return{...e,subHooks:[],value:t.value};if(e.name===`Use`){if(t.name===`Context`)return{...t,hookSource:e.hookSource};if(t.name===`Promise`||t.name===`Unresolved`)return{...e,debugInfo:t.debugInfo,subHooks:[],value:t.value}}if(e.id===null&&e.value===void 0&&(e.name===t.name||e.name===`<anonymous>`))return{...t,hookSource:e.hookSource}}return{...e,subHooks:n}};return e.map(t)},Fn=(e,t,n=globalThis)=>{let r=Nn(void 0,n);pn(),B=null,z=null,V=null,U=null,H=0;let i=An();try{return $(Mn(r,e,t))}finally{B=null,z=null,V=null,U=null,H=0,jn(i)}},In=e=>{let n=Nn(e),r=t.O(e);if(e.tag!==r.FunctionComponent&&e.tag!==r.SimpleMemoComponent&&e.tag!==r.ForwardRef)throw new t.C(`Hook inspection requires a function component Fiber.`);pn(),B=e.memoizedState,z=e;let i=e.dependencies?._debugThenableState,a=Array.isArray(i)?i:i?.thenables;U=Array.isArray(a)?a:null,H=0,Pn(e);let o=e.type,s=e.memoizedProps;o!==e.elementType&&(s=kn(o,s));let c=An(),l=new Map;try{if(V!==null&&!Object.hasOwn(V,`memoizedValue`)&&En(l,e),e.tag===r.ForwardRef){if(!Ht(o))throw new t.C(`ForwardRef fiber is missing its render function.`);let r=$(Mn(n,o.render,s,e.ref));for(let e of r)e.hookSource?.functionName===`Object.render`&&(e.hookSource.functionName=null);return r}if(typeof o!=`function`)throw new t.C(`Function component fiber is missing its component function.`);return $(Mn(n,o,s))}finally{z=null,B=null,V=null,U=null,H=0,Dn(l),jn(c)}},Ln=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),Rn=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:(?:[\w$]+|require\s*\([^)]*\))\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,zn=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,Bn=e=>{let t=[],n=e=>{for(let r of e)Ln.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},Vn=e=>{let t=e.trim();if(t.startsWith(`[`)){let e=t.match(/\[\s*(\w+)/);return e?e[1]:null}return/^\w+$/.test(t)?t:null},Hn=(e,t,n)=>{let r=e.split(`
|
|
22
22
|
`),i=t-1;if(i<0||i>=r.length)return null;let a=Math.max(0,i-10),o=r.slice(a,i+1).join(`
|
|
23
|
-
`),s=[...o.matchAll(
|
|
24
|
-
`)+1+n,
|
|
23
|
+
`),s=[...o.matchAll(Rn)],c=o.lastIndexOf(`
|
|
24
|
+
`)+1,l=c+n,u=s.filter(e=>e.index<=l).at(-1)??(n===0?s.find(e=>e.index>=c):void 0);return u?Vn(u[1]):null},Un=async(e,t,n,r)=>{let{sourceContentCache:i,fetchFn:a,requestOptions:o}=r,s=await D(e,!0,a,o);if(s){let e=S(s,t,n);if(e?.fileName&&e.lineNumber!==void 0){let t=C(s,e.fileName);if(t)return{sourceCode:t,lineNumber:e.lineNumber,columnNumber:e.columnNumber??0}}}if(!i.has(e))try{let t=await(a??fetch)(e);i.set(e,t.ok?await t.text():null)}catch{i.set(e,null)}let c=i.get(e)??null;return c?{sourceCode:c,lineNumber:t,columnNumber:n}:null},Wn=async(e,t,n)=>{let r=new Map,i=Bn(e);if(i.length===0)return r;let a={sourceContentCache:new Map,fetchFn:t,requestOptions:n};return await Promise.all(i.map(async e=>{let t=e.hookSource;if(!t||!t.fileName||t.lineNumber===null||t.columnNumber===null)return;let n=await Un(t.fileName,t.lineNumber,t.columnNumber,a);if(!n)return;let i=Hn(n.sourceCode,n.lineNumber,n.columnNumber);if(i){let e=zn(t);r.set(e,i)}})),r};exports.BippyError=t.S,exports.BippyHookInspectionError=t.C,exports.BippyHookRenderError=t.w,exports.BippySourceMapError=t.T,exports.BippyUnsupportedHookError=t.E,exports.formatOwnerStack=ft,exports.getDefinitionFrameFromOwnedChild=A,exports.getDisplayNameFromSource=It,exports.getFallbackParentStack=dt,exports.getFiberHooks=In,exports.getOwnerStack=Ct,exports.getParentStack=F,exports.getRawOwnerStack=yt,exports.getRawSource=Et,exports.getSource=Ot,exports.getSourceContentFromSourceMap=C,exports.getSourceFromSourceMap=S,exports.getSourceFromSourceMapByFunctionName=Ae,exports.getSourceMap=D,exports.hasDebugStack=k,exports.inspectHooks=Fn,exports.isSourceFile=Mt,exports.normalizeFileName=jt,exports.parseHookNames=Wn,exports.parseStack=g,exports.symbolicateStack=O;
|
package/dist/source.d.cts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
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 {
|
|
9
|
+
import { D as Fiber, I as ReactDebugInfo, a as BippyUnsupportedHookError, i as BippySourceMapError, n as BippyHookInspectionError, r as BippyHookRenderError, s as ReactDevToolsTarget, t as BippyError } from "./errors.cjs";
|
|
10
10
|
//#region src/source/parse-stack.d.ts
|
|
11
11
|
interface StackFrame {
|
|
12
12
|
columnNumber?: number;
|
|
@@ -61,6 +61,7 @@ interface SourceFetch {
|
|
|
61
61
|
(url: string, init?: RequestInit): Promise<Response>;
|
|
62
62
|
}
|
|
63
63
|
interface SourceMapRequestOptions {
|
|
64
|
+
allowCrossOriginSourceMap?: boolean;
|
|
64
65
|
allowUnsafeServerFetch?: boolean;
|
|
65
66
|
maxBundleSizeBytes?: number;
|
|
66
67
|
maxSourceMapSizeBytes?: number;
|
|
@@ -70,6 +71,7 @@ interface SourceMapRequestOptions {
|
|
|
70
71
|
interface SourceMap {
|
|
71
72
|
file?: string;
|
|
72
73
|
ignoredSourceIndices?: Set<number>;
|
|
74
|
+
sourceMapUrl?: string;
|
|
73
75
|
mappings: SourceMapSegment[][];
|
|
74
76
|
names?: string[];
|
|
75
77
|
sections?: DecodedSourceMapSection[];
|
|
@@ -92,13 +94,27 @@ interface StandardSourceMap {
|
|
|
92
94
|
declare const getSourceFromSourceMap: (sourceMap: SourceMap, line: number, column: number) => StackFrame | null;
|
|
93
95
|
declare const getSourceFromSourceMapByFunctionName: (sourceMap: SourceMap, functionName: string) => StackFrame | null;
|
|
94
96
|
declare const getSourceContentFromSourceMap: (sourceMap: SourceMap, originalFileName: string) => string | null;
|
|
95
|
-
declare const getSourceMap: (file: string,
|
|
96
|
-
declare const symbolicateStack: (stack: StackFrame[],
|
|
97
|
+
declare const getSourceMap: (file: string, shouldUseCache?: boolean, sourceFetch?: SourceFetch, options?: SourceMapRequestOptions) => Promise<null | SourceMap>;
|
|
98
|
+
declare const symbolicateStack: (stack: StackFrame[], shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<StackFrame[]>;
|
|
97
99
|
//#endregion
|
|
98
100
|
//#region src/source/owner-stack.d.ts
|
|
99
101
|
declare const hasDebugStack: (fiber: Fiber) => fiber is Fiber & {
|
|
100
102
|
_debugStack: NonNullable<Fiber["_debugStack"]>;
|
|
101
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Locates a frame inside the fiber's own function body without invoking it:
|
|
106
|
+
* any child fiber owned by this fiber was created by JSX inside its body, so
|
|
107
|
+
* the bottom user-space frame of that child's _debugStack sits in this
|
|
108
|
+
* component. The enclosing line/column (V8 CallSite API) points at the
|
|
109
|
+
* function definition start. Requires React 19 (_debugStack).
|
|
110
|
+
*/
|
|
111
|
+
declare const getDefinitionFrameFromOwnedChild: (fiber: Fiber) => StackFrame | null;
|
|
112
|
+
/**
|
|
113
|
+
* Builds a component-stack string by walking the fiber `return` chain, the
|
|
114
|
+
* pre-react-19 substitute for `_debugStack` (which is why the frame locations
|
|
115
|
+
* come from re-invocation in {@link describeFiber} rather than a real stack).
|
|
116
|
+
*/
|
|
117
|
+
declare const getFallbackParentStack: (thisFiber: Fiber) => string;
|
|
102
118
|
/**
|
|
103
119
|
* takes Error.stack and formats it to only the React owner stack
|
|
104
120
|
*
|
|
@@ -118,6 +134,14 @@ declare const hasDebugStack: (fiber: Fiber) => fiber is Fiber & {
|
|
|
118
134
|
* @see https://github.com/facebook/react/blob/main/packages/react-devtools-shared/src/backend/shared/DevToolsOwnerStack.js#L12
|
|
119
135
|
*/
|
|
120
136
|
declare const formatOwnerStack: (stack: string) => string;
|
|
137
|
+
/**
|
|
138
|
+
* Builds owner-chain stack frames from the _debugStack errors React 19
|
|
139
|
+
* attaches at JSX creation, walking `_debugOwner` across both client fibers
|
|
140
|
+
* and server components (ReactComponentInfo, which chains via `.owner` and
|
|
141
|
+
* carries `.debugStack`). This is exact - no re-invoking components, no
|
|
142
|
+
* name-matching heuristics - but requires React 19.
|
|
143
|
+
*/
|
|
144
|
+
declare const getRawOwnerStack: (fiber: Fiber) => StackFrame[];
|
|
121
145
|
/**
|
|
122
146
|
* Returns a stack of ALL ancestor components in the render tree (the fiber's
|
|
123
147
|
* `return` chain), including wrappers that render `{children}` without having
|
|
@@ -125,7 +149,7 @@ declare const formatOwnerStack: (stack: string) => string;
|
|
|
125
149
|
* with a throwing dispatcher; server frames are enriched from debug stacks by
|
|
126
150
|
* name matching. Works on every React version.
|
|
127
151
|
*/
|
|
128
|
-
declare const getParentStack: (fiber: Fiber,
|
|
152
|
+
declare const getParentStack: (fiber: Fiber, shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<StackFrame[]>;
|
|
129
153
|
/**
|
|
130
154
|
* Returns the stack of components that CREATED this fiber's JSX (the
|
|
131
155
|
* `_debugOwner` chain), with exact creation-site locations from React 19's
|
|
@@ -136,7 +160,7 @@ declare const getParentStack: (fiber: Fiber, shouldCache?: boolean, fetchFunctio
|
|
|
136
160
|
* yields no locatable frames (so callers always get the most useful stack
|
|
137
161
|
* available).
|
|
138
162
|
*/
|
|
139
|
-
declare const getOwnerStack: (fiber: Fiber,
|
|
163
|
+
declare const getOwnerStack: (fiber: Fiber, shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<StackFrame[]>;
|
|
140
164
|
//#endregion
|
|
141
165
|
//#region src/source/types.d.ts
|
|
142
166
|
interface FiberSource {
|
|
@@ -147,6 +171,7 @@ interface FiberSource {
|
|
|
147
171
|
}
|
|
148
172
|
//#endregion
|
|
149
173
|
//#region src/source/get-source.d.ts
|
|
174
|
+
declare const getRawSource: (fiber: Fiber) => FiberSource | null;
|
|
150
175
|
/**
|
|
151
176
|
* Returns the source of where the component is used. Available only in dev, for composite {@link Fiber}s.
|
|
152
177
|
*
|
|
@@ -173,12 +198,12 @@ interface FiberSource {
|
|
|
173
198
|
* console.log(source.fileName, source.lineNumber);
|
|
174
199
|
* ```
|
|
175
200
|
*/
|
|
176
|
-
declare const getSource: (fiber: Fiber,
|
|
201
|
+
declare const getSource: (fiber: Fiber, shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<FiberSource | null>;
|
|
177
202
|
declare const normalizeFileName: (fileName: string) => string;
|
|
178
203
|
declare const isSourceFile: (fileName: string) => boolean;
|
|
179
204
|
//#endregion
|
|
180
205
|
//#region src/source/get-display-name-from-source.d.ts
|
|
181
|
-
declare const getDisplayNameFromSource: (fiber: Fiber,
|
|
206
|
+
declare const getDisplayNameFromSource: (fiber: Fiber, shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<string | null>;
|
|
182
207
|
//#endregion
|
|
183
208
|
//#region src/source/inspect-hooks.d.ts
|
|
184
209
|
interface HookSource {
|
|
@@ -197,10 +222,11 @@ interface HooksNode {
|
|
|
197
222
|
hookSource: HookSource | null;
|
|
198
223
|
}
|
|
199
224
|
type HooksTree = HooksNode[];
|
|
225
|
+
declare const inspectHooks: (renderFunction: (props: Record<string, unknown>) => unknown, props: Record<string, unknown>, target?: ReactDevToolsTarget) => HooksTree;
|
|
200
226
|
declare const getFiberHooks: (fiber: Fiber) => HooksTree;
|
|
201
227
|
//#endregion
|
|
202
228
|
//#region src/source/parse-hook-names.d.ts
|
|
203
229
|
interface HookNames extends Map<string, string> {}
|
|
204
|
-
declare const parseHookNames: (hooksTree: HooksTree, fetchFn?: SourceFetch) => Promise<HookNames>;
|
|
230
|
+
declare const parseHookNames: (hooksTree: HooksTree, fetchFn?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<HookNames>;
|
|
205
231
|
//#endregion
|
|
206
|
-
export { BippyError, BippyHookInspectionError, BippyHookRenderError, BippySourceMapError, BippyUnsupportedHookError, type DecodedSourceMapSection, type FiberSource, type HookNames, type HookSource, type HooksNode, type HooksTree, type IndexSourceMap, type ParseOptions, type SourceFetch, type SourceMap, type SourceMapRequestOptions, type StackFrame, type StandardSourceMap, formatOwnerStack, getDisplayNameFromSource, getFiberHooks, getOwnerStack, getParentStack, getSource, getSourceContentFromSourceMap, getSourceFromSourceMap, getSourceFromSourceMapByFunctionName, getSourceMap, hasDebugStack, isSourceFile, normalizeFileName, parseHookNames, parseStack, symbolicateStack };
|
|
232
|
+
export { BippyError, BippyHookInspectionError, BippyHookRenderError, BippySourceMapError, BippyUnsupportedHookError, type DecodedSourceMapSection, type FiberSource, type HookNames, type HookSource, type HooksNode, type HooksTree, type IndexSourceMap, type ParseOptions, type SourceFetch, type SourceMap, type SourceMapRequestOptions, type StackFrame, type StandardSourceMap, formatOwnerStack, getDefinitionFrameFromOwnedChild, getDisplayNameFromSource, getFallbackParentStack, getFiberHooks, getOwnerStack, getParentStack, getRawOwnerStack, getRawSource, getSource, getSourceContentFromSourceMap, getSourceFromSourceMap, getSourceFromSourceMapByFunctionName, getSourceMap, hasDebugStack, inspectHooks, isSourceFile, normalizeFileName, parseHookNames, parseStack, symbolicateStack };
|
package/dist/source.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
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 {
|
|
9
|
+
import { D as Fiber, I as ReactDebugInfo, a as BippyUnsupportedHookError, i as BippySourceMapError, n as BippyHookInspectionError, r as BippyHookRenderError, s as ReactDevToolsTarget, t as BippyError } from "./errors.js";
|
|
10
10
|
//#region src/source/parse-stack.d.ts
|
|
11
11
|
interface StackFrame {
|
|
12
12
|
columnNumber?: number;
|
|
@@ -61,6 +61,7 @@ interface SourceFetch {
|
|
|
61
61
|
(url: string, init?: RequestInit): Promise<Response>;
|
|
62
62
|
}
|
|
63
63
|
interface SourceMapRequestOptions {
|
|
64
|
+
allowCrossOriginSourceMap?: boolean;
|
|
64
65
|
allowUnsafeServerFetch?: boolean;
|
|
65
66
|
maxBundleSizeBytes?: number;
|
|
66
67
|
maxSourceMapSizeBytes?: number;
|
|
@@ -70,6 +71,7 @@ interface SourceMapRequestOptions {
|
|
|
70
71
|
interface SourceMap {
|
|
71
72
|
file?: string;
|
|
72
73
|
ignoredSourceIndices?: Set<number>;
|
|
74
|
+
sourceMapUrl?: string;
|
|
73
75
|
mappings: SourceMapSegment[][];
|
|
74
76
|
names?: string[];
|
|
75
77
|
sections?: DecodedSourceMapSection[];
|
|
@@ -92,13 +94,27 @@ interface StandardSourceMap {
|
|
|
92
94
|
declare const getSourceFromSourceMap: (sourceMap: SourceMap, line: number, column: number) => StackFrame | null;
|
|
93
95
|
declare const getSourceFromSourceMapByFunctionName: (sourceMap: SourceMap, functionName: string) => StackFrame | null;
|
|
94
96
|
declare const getSourceContentFromSourceMap: (sourceMap: SourceMap, originalFileName: string) => string | null;
|
|
95
|
-
declare const getSourceMap: (file: string,
|
|
96
|
-
declare const symbolicateStack: (stack: StackFrame[],
|
|
97
|
+
declare const getSourceMap: (file: string, shouldUseCache?: boolean, sourceFetch?: SourceFetch, options?: SourceMapRequestOptions) => Promise<null | SourceMap>;
|
|
98
|
+
declare const symbolicateStack: (stack: StackFrame[], shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<StackFrame[]>;
|
|
97
99
|
//#endregion
|
|
98
100
|
//#region src/source/owner-stack.d.ts
|
|
99
101
|
declare const hasDebugStack: (fiber: Fiber) => fiber is Fiber & {
|
|
100
102
|
_debugStack: NonNullable<Fiber["_debugStack"]>;
|
|
101
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Locates a frame inside the fiber's own function body without invoking it:
|
|
106
|
+
* any child fiber owned by this fiber was created by JSX inside its body, so
|
|
107
|
+
* the bottom user-space frame of that child's _debugStack sits in this
|
|
108
|
+
* component. The enclosing line/column (V8 CallSite API) points at the
|
|
109
|
+
* function definition start. Requires React 19 (_debugStack).
|
|
110
|
+
*/
|
|
111
|
+
declare const getDefinitionFrameFromOwnedChild: (fiber: Fiber) => StackFrame | null;
|
|
112
|
+
/**
|
|
113
|
+
* Builds a component-stack string by walking the fiber `return` chain, the
|
|
114
|
+
* pre-react-19 substitute for `_debugStack` (which is why the frame locations
|
|
115
|
+
* come from re-invocation in {@link describeFiber} rather than a real stack).
|
|
116
|
+
*/
|
|
117
|
+
declare const getFallbackParentStack: (thisFiber: Fiber) => string;
|
|
102
118
|
/**
|
|
103
119
|
* takes Error.stack and formats it to only the React owner stack
|
|
104
120
|
*
|
|
@@ -118,6 +134,14 @@ declare const hasDebugStack: (fiber: Fiber) => fiber is Fiber & {
|
|
|
118
134
|
* @see https://github.com/facebook/react/blob/main/packages/react-devtools-shared/src/backend/shared/DevToolsOwnerStack.js#L12
|
|
119
135
|
*/
|
|
120
136
|
declare const formatOwnerStack: (stack: string) => string;
|
|
137
|
+
/**
|
|
138
|
+
* Builds owner-chain stack frames from the _debugStack errors React 19
|
|
139
|
+
* attaches at JSX creation, walking `_debugOwner` across both client fibers
|
|
140
|
+
* and server components (ReactComponentInfo, which chains via `.owner` and
|
|
141
|
+
* carries `.debugStack`). This is exact - no re-invoking components, no
|
|
142
|
+
* name-matching heuristics - but requires React 19.
|
|
143
|
+
*/
|
|
144
|
+
declare const getRawOwnerStack: (fiber: Fiber) => StackFrame[];
|
|
121
145
|
/**
|
|
122
146
|
* Returns a stack of ALL ancestor components in the render tree (the fiber's
|
|
123
147
|
* `return` chain), including wrappers that render `{children}` without having
|
|
@@ -125,7 +149,7 @@ declare const formatOwnerStack: (stack: string) => string;
|
|
|
125
149
|
* with a throwing dispatcher; server frames are enriched from debug stacks by
|
|
126
150
|
* name matching. Works on every React version.
|
|
127
151
|
*/
|
|
128
|
-
declare const getParentStack: (fiber: Fiber,
|
|
152
|
+
declare const getParentStack: (fiber: Fiber, shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<StackFrame[]>;
|
|
129
153
|
/**
|
|
130
154
|
* Returns the stack of components that CREATED this fiber's JSX (the
|
|
131
155
|
* `_debugOwner` chain), with exact creation-site locations from React 19's
|
|
@@ -136,7 +160,7 @@ declare const getParentStack: (fiber: Fiber, shouldCache?: boolean, fetchFunctio
|
|
|
136
160
|
* yields no locatable frames (so callers always get the most useful stack
|
|
137
161
|
* available).
|
|
138
162
|
*/
|
|
139
|
-
declare const getOwnerStack: (fiber: Fiber,
|
|
163
|
+
declare const getOwnerStack: (fiber: Fiber, shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<StackFrame[]>;
|
|
140
164
|
//#endregion
|
|
141
165
|
//#region src/source/types.d.ts
|
|
142
166
|
interface FiberSource {
|
|
@@ -147,6 +171,7 @@ interface FiberSource {
|
|
|
147
171
|
}
|
|
148
172
|
//#endregion
|
|
149
173
|
//#region src/source/get-source.d.ts
|
|
174
|
+
declare const getRawSource: (fiber: Fiber) => FiberSource | null;
|
|
150
175
|
/**
|
|
151
176
|
* Returns the source of where the component is used. Available only in dev, for composite {@link Fiber}s.
|
|
152
177
|
*
|
|
@@ -173,12 +198,12 @@ interface FiberSource {
|
|
|
173
198
|
* console.log(source.fileName, source.lineNumber);
|
|
174
199
|
* ```
|
|
175
200
|
*/
|
|
176
|
-
declare const getSource: (fiber: Fiber,
|
|
201
|
+
declare const getSource: (fiber: Fiber, shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<FiberSource | null>;
|
|
177
202
|
declare const normalizeFileName: (fileName: string) => string;
|
|
178
203
|
declare const isSourceFile: (fileName: string) => boolean;
|
|
179
204
|
//#endregion
|
|
180
205
|
//#region src/source/get-display-name-from-source.d.ts
|
|
181
|
-
declare const getDisplayNameFromSource: (fiber: Fiber,
|
|
206
|
+
declare const getDisplayNameFromSource: (fiber: Fiber, shouldUseCache?: boolean, sourceFetch?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<string | null>;
|
|
182
207
|
//#endregion
|
|
183
208
|
//#region src/source/inspect-hooks.d.ts
|
|
184
209
|
interface HookSource {
|
|
@@ -197,10 +222,11 @@ interface HooksNode {
|
|
|
197
222
|
hookSource: HookSource | null;
|
|
198
223
|
}
|
|
199
224
|
type HooksTree = HooksNode[];
|
|
225
|
+
declare const inspectHooks: (renderFunction: (props: Record<string, unknown>) => unknown, props: Record<string, unknown>, target?: ReactDevToolsTarget) => HooksTree;
|
|
200
226
|
declare const getFiberHooks: (fiber: Fiber) => HooksTree;
|
|
201
227
|
//#endregion
|
|
202
228
|
//#region src/source/parse-hook-names.d.ts
|
|
203
229
|
interface HookNames extends Map<string, string> {}
|
|
204
|
-
declare const parseHookNames: (hooksTree: HooksTree, fetchFn?: SourceFetch) => Promise<HookNames>;
|
|
230
|
+
declare const parseHookNames: (hooksTree: HooksTree, fetchFn?: SourceFetch, requestOptions?: SourceMapRequestOptions) => Promise<HookNames>;
|
|
205
231
|
//#endregion
|
|
206
|
-
export { BippyError, BippyHookInspectionError, BippyHookRenderError, BippySourceMapError, BippyUnsupportedHookError, type DecodedSourceMapSection, type FiberSource, type HookNames, type HookSource, type HooksNode, type HooksTree, type IndexSourceMap, type ParseOptions, type SourceFetch, type SourceMap, type SourceMapRequestOptions, type StackFrame, type StandardSourceMap, formatOwnerStack, getDisplayNameFromSource, getFiberHooks, getOwnerStack, getParentStack, getSource, getSourceContentFromSourceMap, getSourceFromSourceMap, getSourceFromSourceMapByFunctionName, getSourceMap, hasDebugStack, isSourceFile, normalizeFileName, parseHookNames, parseStack, symbolicateStack };
|
|
232
|
+
export { BippyError, BippyHookInspectionError, BippyHookRenderError, BippySourceMapError, BippyUnsupportedHookError, type DecodedSourceMapSection, type FiberSource, type HookNames, type HookSource, type HooksNode, type HooksTree, type IndexSourceMap, type ParseOptions, type SourceFetch, type SourceMap, type SourceMapRequestOptions, type StackFrame, type StandardSourceMap, formatOwnerStack, getDefinitionFrameFromOwnedChild, getDisplayNameFromSource, getFallbackParentStack, getFiberHooks, getOwnerStack, getParentStack, getRawOwnerStack, getRawSource, getSource, getSourceContentFromSourceMap, getSourceFromSourceMap, getSourceFromSourceMapByFunctionName, getSourceMap, hasDebugStack, inspectHooks, isSourceFile, normalizeFileName, parseHookNames, parseStack, symbolicateStack };
|