bippy 0.5.42 → 0.6.0
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/dist/core.cjs +1 -1
- package/dist/core.d.cts +28 -313
- package/dist/core.d.ts +28 -313
- package/dist/core.js +1 -1
- package/dist/core2.d.cts +3 -2
- package/dist/core2.d.ts +3 -2
- package/dist/get-source.cjs +19 -0
- package/dist/get-source.js +19 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.iife.js +1 -1
- package/dist/index.js +1 -1
- package/dist/install-hook-only.cjs +1 -1
- package/dist/install-hook-only.iife.js +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/react-refresh.cjs +9 -0
- package/dist/react-refresh.d.cts +66 -0
- package/dist/react-refresh.d.ts +66 -0
- package/dist/react-refresh.js +9 -0
- package/dist/source.cjs +4 -19
- package/dist/source.d.cts +35 -27
- package/dist/source.d.ts +35 -27
- package/dist/source.js +4 -19
- package/dist/unsubscribe.d.cts +298 -0
- package/dist/unsubscribe.d.ts +298 -0
- package/package.json +14 -3
- package/src/core.ts +312 -334
- package/src/rdt-hook.ts +57 -16
- package/src/react-refresh/constants.ts +9 -0
- package/src/react-refresh/detect-hmr-transport.ts +33 -0
- package/src/react-refresh/index.ts +173 -0
- package/src/react-refresh/metro-hmr-transport.ts +188 -0
- package/src/react-refresh/next-webpack-hmr-transport.ts +72 -0
- package/src/react-refresh/normalize-hmr-file-path.ts +24 -0
- package/src/react-refresh/types.ts +7 -0
- package/src/react-refresh/vite-hmr-transport.ts +116 -0
- package/src/source/constants.ts +11 -0
- package/src/source/get-display-name-from-source.ts +3 -3
- package/src/source/get-source.ts +53 -9
- package/src/source/index.ts +17 -8
- package/src/source/inspect-hooks.ts +7 -4
- package/src/source/owner-stack.ts +193 -29
- package/src/source/parse-debug-stack.ts +133 -0
- package/src/source/parse-stack.ts +6 -105
- package/src/source/symbolication.ts +48 -13
- package/src/types.ts +20 -7
- package/src/unsubscribe.ts +17 -0
package/dist/source.cjs
CHANGED
|
@@ -6,24 +6,9 @@
|
|
|
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
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./rdt-hook.cjs`),t=require(`./core.cjs`),n
|
|
10
|
-
`),r=[];for(let e of n)if(/^\s*at\s+/.test(e)){let t=g(e,void 0)[0];t&&r.push(t)}else if(/^\s*in\s+/.test(e)){let t=e.replace(/^\s*in\s+/,``).replace(/\s*\(at .*\)$/,``);r.push({functionName:t,source:e})}else if(e.match(l)){let t=_(e,void 0)[0];t&&r.push(t)}return h(r,t)}return e.match(u)?g(e,t):_(e,t)},m=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]},h=(e,t)=>t&&t.slice!=null?Array.isArray(t.slice)?e.slice(t.slice[0],t.slice[1]):e.slice(0,t.slice):e,ee=(e,t)=>g(e.stack,t),g=(e,t)=>h(e.split(`
|
|
11
|
-
`).filter(e=>!!e.match(u)),t).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=m(r?r[1]:n);return{functionName:r&&n||void 0,fileName:[`eval`,`<anonymous>`].includes(i[0])?void 0:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}),te=(e,t)=>_(e.stack,t),_=(e,t)=>h(e.split(`
|
|
12
|
-
`).filter(e=>!e.match(d)),t).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=m(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}}}),ne=(e,t)=>{let n=f(e);return!n||e.message.includes(`
|
|
13
|
-
`)&&e.message.split(`
|
|
14
|
-
`).length>n.split(`
|
|
15
|
-
`).length?v(e,t):e.stack?re(e,t):y(e,t)},v=(e,t)=>{let n=/Line (\d+).*script (?:in )?(\S+)/i,r=e.message.split(`
|
|
16
|
-
`),i=[];for(let e=2,t=r.length;e<t;e+=2){let t=n.exec(r[e]);t&&i.push({fileName:t[2],lineNumber:+t[1],source:r[e]})}return h(i,t)},y=(e,t)=>{let n=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,r=(f(e)||``).split(`
|
|
17
|
-
`),i=[];for(let e=0,t=r.length;e<t;e+=2){let t=n.exec(r[e]);t&&i.push({functionName:t[3]||void 0,fileName:t[2],lineNumber:t[1]?+t[1]:void 0,source:r[e]})}return h(i,t)},re=(e,t)=>h(e.stack.split(`
|
|
18
|
-
`).filter(e=>!!e.match(l)&&!e.match(/^Error created at/)),t).map(e=>{let t=e.split(`@`),n=m(t.pop()),r=t.shift()||``,i=r.replace(/<anonymous function(: (\w+))?>/,`$2`).replace(/\([^)]*\)/g,``)||void 0,a;return r.match(/\(([^)]*)\)/)&&(a=r.replace(/^[^(]+\(([^)]*)\)$/,`$1`)),{functionName:i,args:a===void 0||a===`[arguments not available]`?void 0:a.split(`,`),fileName:n[0],lineNumber:n[1]?+n[1]:void 0,columnNumber:n[2]?+n[2]:void 0,source:e}});var ie=44,ae=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,oe=new Uint8Array(64),se=new Uint8Array(128);for(let e=0;e<ae.length;e++){let t=ae.charCodeAt(e);oe[e]=t,se[t]=e}function b(e,t){let n=0,r=0,i=0;do i=se[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 x(e,t){return e.pos>=t?!1:e.peek()!==ie}var ce=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 S(e){let{length:t}=e,n=new ce(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=b(n,i),i<u&&(l=!1),u=i,x(n,e)?(a=b(n,a),o=b(n,o),s=b(n,s),x(n,e)?(c=b(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||le(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function le(e){e.sort(ue)}function ue(e,t){return e[0]-t[0]}const C=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,de=/^data:application\/json[^,]+base64,/,fe=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,w=new Map,T=new Map,E=(e,t,n,r)=>{if(n<0||n>=e.length)return null;let i=e[n];if(!i||i.length===0)return null;let a=null;for(let e of i)if(e[0]<=r)a=e;else break;if(!a||a.length<4)return null;let[,o,s,c]=a;if(o===void 0||s===void 0||c===void 0)return null;let l=t[o];return l?{columnNumber:c,fileName:l,lineNumber:s+1}:null},D=(e,t,n)=>{if(e.sections){let r=null;for(let i of e.sections)if(t>i.offset.line||t===i.offset.line&&n>=i.offset.column)r=i;else break;if(!r)return null;let i=t-r.offset.line,a=t===r.offset.line?n-r.offset.column:n;return E(r.map.mappings,r.map.sources,i,a)}return E(e.mappings,e.sources,t-1,n)},pe=(e,t)=>{let n=t.split(`
|
|
19
|
-
`),r;for(let e=n.length-1;e>=0&&!r;e--){let t=n[e].match(fe);t&&(r=t[1]||t[2])}if(!r)return null;let i=C.test(r);if(!(de.test(r)||i||r.startsWith(`/`))){let t=e.split(`/`);t[t.length-1]=r,r=t.join(`/`)}return r},me=e=>({file:e.file,mappings:S(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,version:3}),he=e=>{let t=e.sections.map(({map:e,offset:t})=>({map:{...e,mappings:S(e.mappings)},offset:t})),n=new Set;for(let e of t)for(let t of e.map.sources)n.add(t);return{file:e.file,mappings:[],names:[],sections:t,sourceRoot:void 0,sources:Array.from(n),sourcesContent:void 0,version:3}},ge=e=>{if(!e)return!1;let t=e.trim();if(!t)return!1;let n=t.match(C);if(!n)return!0;let r=n[0].toLowerCase();return r===`http:`||r===`https:`},_e=async(e,t=fetch)=>{if(!ge(e))return null;let n=await t(e);if(!n.ok)return null;let r=await n.text();if(!r)return null;let i=pe(e,r);if(!i||!ge(i))return null;let a=await t(i);if(!a.ok)return null;try{let e=await a.json();return`sections`in e?he(e):me(e)}catch{return null}},O=async(e,t=!0,n)=>{if(t&&w.has(e))return w.get(e)??null;let r=t?T.get(e):void 0;if(r)return(await r).sourceMap;let i=_e(e,n).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));t&&T.set(e,i);let{sourceMap:a,isTransientFailure:o}=await i;return t&&(T.delete(e),o||w.set(e,a)),a},ve=async(e,t=!0,n)=>await Promise.all(e.map(async e=>{if(!e.fileName)return e;let r=await O(e.fileName,t,n);if(!r||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let i=D(r,e.lineNumber,e.columnNumber);return i?{...e,source:i.fileName&&e.source?e.source.replace(e.fileName,i.fileName):e.source,fileName:i.fileName,lineNumber:i.lineNumber,columnNumber:i.columnNumber,isSymbolicated:!0}:e})),ye=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,be=()=>{let t=e.r();for(let n of[...Array.from(e.n),...Array.from(t.renderers.values())]){let e=n.currentDispatcherRef;if(e&&typeof e==`object`)return`H`in e?e.H:e.current}return null},xe=t=>{for(let n of e.n){let e=n.currentDispatcherRef;e&&typeof e==`object`&&(`H`in e?e.H=t:e.current=t)}},k=e=>`\n in ${e}`,A=(e,t)=>{let n=k(e);return t&&(n+=` (at ${t})`),n};let j=!1;const M=(e,n)=>{if(!e||j)return``;let r=Error.prepareStackTrace;Error.prepareStackTrace=void 0,j=!0;let i=be();xe(null);let a=console.error,o=console.warn;console.error=()=>{},console.warn=()=>{};try{let r={DetermineComponentFrameRoot(){let t;try{if(n){let n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){t=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){t=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){t=e}let n=e();n&&typeof n.catch==`function`&&n.catch(()=>{})}}catch(e){if(e instanceof Error&&t instanceof Error&&typeof e.stack==`string`)return[e.stack,t.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`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(`
|
|
20
|
-
`),r=a.split(`
|
|
21
|
-
`),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=t.getDisplayName(e);return i&&r.includes(`<anonymous>`)&&(r=r.replace(`<anonymous>`,i)),r}while(o>=1&&s>=0);break}}}finally{j=!1,Error.prepareStackTrace=r,xe(i),console.error=a,console.warn=o}let s=e?t.getDisplayName(e):``;return s?k(s):``},N=(e,t)=>{let n=e.tag,r=``;switch(n){case 28:r=k(`Activity`);break;case 1:r=M(e.type,!0);break;case 11:r=M(e.type.render,!1);break;case 0:case 15:r=M(e.type,!1);break;case 5:case 26:case 27:r=k(e.type);break;case 16:r=k(`Lazy`);break;case 13:r=e.child!==t&&t!==null?k(`Suspense Fallback`):k(`Suspense`);break;case 19:r=k(`SuspenseList`);break;case 30:r=k(`ViewTransition`);break;default:return``}return r},Se=e=>{try{let t=``,n=e,r=null;do{t+=N(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+=A(r.name,r.env))}r=n,n=n.return}while(n);return t}catch(e){return e instanceof Error?`\nError generating stack: ${e.message}\n${e.stack}`:``}},Ce=e=>{let t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;let n=e;if(!n)return``;Error.prepareStackTrace=t,n.startsWith(`Error: react-stack-top-frame
|
|
22
|
-
`)&&(n=n.slice(29));let r=n.indexOf(`
|
|
23
|
-
`);if(r!==-1&&(n=n.slice(r+1)),r=Math.max(n.indexOf(`react_stack_bottom_frame`),n.indexOf(`react-stack-bottom-frame`)),r!==-1&&(r=n.lastIndexOf(`
|
|
24
|
-
`,r)),r!==-1)n=n.slice(0,r);else return``;return n},we=e=>!!(e.functionName&&e.fileName&&(e.fileName.startsWith(`rsc://`)||e.fileName.startsWith(`about://React/`))),Te=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,Ee=e=>{let t=new Map;for(let n of e)for(let e of n.stackFrames){if(!we(e))continue;let n=e.functionName,r=t.get(n)??[];r.some(t=>Te(t,e))||(r.push(e),t.set(n,r))}return t},De=(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(`(at Server)`,`(${a.fileName}:${a.lineNumber}:${a.columnNumber})`)}},Oe=e=>{let n=[];return t.traverseFiber(e,e=>{if(!ye(e))return;let r=typeof e.type==`string`?e.type:t.getDisplayName(e.type)||`<anonymous>`;n.push({componentName:r,stackFrames:p(Ce(e._debugStack?.stack))})},!0),n},P=async(e,t=!0,n)=>{let r=Oe(e),i=p(Se(e)),a=Ee(r),o=new Map;return ve(i.map(e=>(e.source?.includes(`(at Server)`)??!1)||e.source!=null&&c.test(e.source)?De(e,a,o):e).filter((e,t,n)=>{if(t===0)return!0;let r=n[t-1];return e.functionName!==r.functionName}),t,n)},F=e=>{let t=e._debugSource;return t?typeof t==`object`&&!!t&&`fileName`in t&&typeof t.fileName==`string`&&`lineNumber`in t&&typeof t.lineNumber==`number`:!1},ke=async(e,t=!0,n)=>{if(F(e))return e._debugSource||null;let r=await P(e,t,n);for(let e of r)if(e.fileName)return{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName};return null},I=e=>e.split(`/`).filter(Boolean).length,Ae=e=>e.split(`/`).filter(Boolean)[0]??null,je=e=>{let t=e.indexOf(`/`,1);if(t===-1||I(e.slice(0,t))!==1)return e;let n=e.slice(t);if(!a.test(n)||I(n)<2)return e;let r=Ae(n);return!r||r.startsWith(`@`)||r.length>4?e:n},L=e=>{if(!e||i.some(t=>t===e))return``;let t=e,a=t.startsWith(`http://`)||t.startsWith(`https://`);if(a)try{t=new URL(t).pathname}catch{}if(a&&(t=je(t)),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(n.test(t)){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 c=t.indexOf(`?`);if(c!==-1){let e=t.slice(c);s.test(e)&&(t=t.slice(0,c))}return t},Me=e=>{let t=L(e);return!(!t||!a.test(t)||o.test(t))},Ne=(e,t)=>{let n=e.split(`
|
|
9
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./rdt-hook.cjs`),t=require(`./core.cjs`),n=require(`./get-source.cjs`),r=(e,t)=>{let n=e.split(`
|
|
25
10
|
`),r=t-1;if(r<0||r>=n.length)return null;let i=Math.max(0,r-5),a=Math.min(n.length,r+5),o=n.slice(i,a).join(`
|
|
26
|
-
`),s=/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/m,c=/(?:^|export\s+)function\s+(\w+)/m,l=/(?:^|export\s+)class\s+(\w+)/m,u=o.match(s);if(u?.[1])return u[1];let d=o.match(c);if(d?.[1])return d[1];let f=o.match(l);return f?.[1]?f[1]:null},Pe=async(e,n=!0,r)=>{let i=(await P(e,n,r)).filter(e=>e.fileName)[0];if(!i?.fileName)return t.getDisplayName(e.type);let a=await O(i.fileName,n,r);if(!a)return t.getDisplayName(e.type);let o=null;if(typeof i.lineNumber==`number`&&typeof i.columnNumber==`number`&&(o=D(a,i.lineNumber,i.columnNumber)),!o?.fileName||!o.lineNumber||!a.sourcesContent)return t.getDisplayName(e.type);let s=a.sources.indexOf(o.fileName);if(s===-1||!a.sourcesContent[s])return t.getDisplayName(e.type);let c=a.sourcesContent[s];return Ne(c,o.lineNumber)||t.getDisplayName(e.type)},R=Symbol.for(`react.context`),Fe=Symbol.for(`react.memo_cache_sentinel`);let z=[],B=null,V=null,H=null,U=null,W=0,G=null;const K=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render."),q=e=>p(e.stack||``,{includeInElement:!1}),J=()=>{let e=H;return e!==null&&(H=e.next),e},Y=e=>{if(V===null)return e._currentValue;if(U===null)throw Error(`Context reads do not line up with context dependencies.`);if(Object.prototype.hasOwnProperty.call(U,`memoizedValue`)){let e=U.memoizedValue;return U=U.next,e}return e._currentValue},Ie=()=>{let t=e.r(),n=[...e.n,...t.renderers.values()];for(let e of n){let t=e.currentDispatcherRef;if(t&&typeof t==`object`)return t}return null},Le=e=>`H`in e?e.H:e.current,Re=(e,t)=>{`H`in e?e.H=t:e.current=t},X=(e,t,n,r=null)=>{z.push({displayName:r,primitive:e,stackError:Error(),value:t,dispatcherHookName:n})},ze=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.then==`function`){let e=G!==null&&W<G.length?G[W++]:t;switch(e.status){case`fulfilled`:return X(`Promise`,e.value,`Use`),e.value;case`rejected`:throw e.reason}throw X(`Unresolved`,e,`Use`),K}if(t.$$typeof===R&&`_currentValue`in t){let e=t,n=Y(e);return X(`Context (use)`,n,`Use`,e.displayName||`Context`),n}}throw Error(`An unsupported type was passed to use(): `+String(e))},Be=e=>{let t=Y(e);return X(`Context`,t,`Context`,e.displayName||null),t},Ve=e=>{let t=J(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return X(`State`,n,`State`),[n,()=>{}]},He=(e,t,n)=>{let r=J(),i=r===null?n===void 0?t:n(t):r.memoizedState;return X(`Reducer`,i,`Reducer`),[i,()=>{}]},Ue=e=>{let t=J(),n=t===null?{current:e}:t.memoizedState;return X(`Ref`,n.current,`Ref`),n},We=()=>{let e=J();return X(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},Ge=e=>{J(),X(`LayoutEffect`,e,`LayoutEffect`)},Ke=e=>{J(),X(`InsertionEffect`,e,`InsertionEffect`)},qe=e=>{J(),X(`Effect`,e,`Effect`)},Je=e=>{J();let t;typeof e==`object`&&e&&`current`in e&&(t=e.current),X(`ImperativeHandle`,t,`ImperativeHandle`)},Ye=(e,t)=>{X(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},Xe=e=>{let t=J();return X(`Callback`,t===null?e:t.memoizedState[0],`Callback`),e},Ze=e=>{let t=J(),n=t===null?e():t.memoizedState[0];return X(`Memo`,n,`Memo`),n},Qe=(e,t)=>{let n=J();J();let r=n===null?t():n.memoizedState;return X(`SyncExternalStore`,r,`SyncExternalStore`),r},$e=()=>{let e=J();J();let t=e===null?!1:e.memoizedState;return X(`Transition`,t,`Transition`),[t,()=>{}]},et=e=>{let t=J(),n=t===null?e:t.memoizedState;return X(`DeferredValue`,n,`DeferredValue`),n},tt=()=>{let e=J(),t=e===null?``:e.memoizedState;return X(`Id`,t,`Id`),t},nt=e=>{let t=V;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},()=>Fe)),n.index++,r},rt=e=>{let t=J(),n=t===null?e:t.memoizedState;return X(`Optimistic`,n,`Optimistic`),[n,()=>{}]},it=(e,t)=>{let n,r=null;if(e!==null){let t=e.memoizedState;if(typeof t==`object`&&t&&`then`in t&&typeof t.then==`function`){let e=t;switch(e.status){case`fulfilled`:n=e.value;break;case`rejected`:r=e.reason;break;default:r=K,n=e}}else n=t}else n=t;return{value:n,error:r}},at=e=>(t,n)=>{let r=J();J(),J();let i=Error(),{value:a,error:o}=it(r,n);if(z.push({displayName:null,primitive:e,stackError:i,value:a,dispatcherHookName:e}),o!==null)throw o;return[a,()=>{},!1]},ot=at(`ActionState`),Z={readContext:Y,use:ze,useCallback:Xe,useContext:Be,useEffect:qe,useImperativeHandle:Je,useLayoutEffect:Ge,useInsertionEffect:Ke,useMemo:Ze,useReducer:He,useRef:Ue,useState:Ve,useDebugValue:Ye,useDeferredValue:et,useTransition:$e,useSyncExternalStore:Qe,useId:tt,useHostTransitionStatus:()=>{let e=Y({_currentValue:null});return X(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:at(`FormState`),useActionState:ot,useOptimistic:rt,useMemoCache:nt,useCacheRefresh:We,useEffectEvent:e=>(J(),X(`EffectEvent`,e,`EffectEvent`),e)},st=typeof Proxy>`u`?Z:new Proxy(Z,{get(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let n=Error(`Missing method in Dispatcher: `+t);throw n.name=`ReactDebugToolsUnsupportedHookError`,n}}),ct=()=>{if(B!==null)return B;let e=new Map,t;try{if(Z.useContext({_currentValue:null}),Z.useState(null),Z.useReducer(e=>e,null),Z.useRef(null),typeof Z.useCacheRefresh==`function`&&Z.useCacheRefresh(),Z.useLayoutEffect(()=>{}),Z.useInsertionEffect(()=>{}),Z.useEffect(()=>{}),Z.useImperativeHandle(void 0,()=>null),Z.useDebugValue(null),Z.useCallback(()=>{}),Z.useTransition(),Z.useSyncExternalStore(()=>()=>{},()=>null,()=>null),Z.useDeferredValue(null),Z.useMemo(()=>null),Z.useOptimistic(null,e=>e),Z.useFormState(e=>e,null),Z.useActionState(e=>e,null),Z.useHostTransitionStatus(),typeof Z.useMemoCache==`function`&&Z.useMemoCache(0),typeof Z.use==`function`){Z.use({$$typeof:R,_currentValue:null}),Z.use({then(){},status:`fulfilled`,value:null});try{Z.use({then(){}})}catch{}}Z.useId(),typeof Z.useEffectEvent==`function`&&Z.useEffectEvent(()=>{})}finally{t=z,z=[]}for(let n of t)e.set(n.primitive,q(n.stackError));return B=e,B};let Q=0;const lt=(e,t,n)=>{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},ut=(e,t)=>{let n=lt(t,e,Q);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=lt(t,e,r),n!==-1)return Q=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)},dt=(e,t)=>{let n=$(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},ft=(e,t)=>{let n=ct().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&&dt(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&dt(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},pt=(e,t)=>{let n=q(t.stackError),r=ut(e,n),i=ft(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)]},mt=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),ht=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=pt(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,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=mt.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:[],hookSource:h})}return gt(n,null),n},gt=(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)):gt(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},_t=(e,t)=>{let n=t;for(;n;){if(n.tag===10){let t=n.type;`_context`in t&&t._context!==void 0&&(t=t._context),e.has(t)||(e.set(t,t._currentValue),t._currentValue=n.memoizedProps.value)}n=n.return}},vt=e=>{e.forEach((e,t)=>{t._currentValue=e})},yt=e=>{if(e===K)return;if(e instanceof Error&&e.name===`ReactDebugToolsUnsupportedHookError`)throw e;let t=Error(`Error rendering inspected component`,{cause:e});throw t.name=`ReactDebugToolsRenderError`,t.cause=e,t},bt=(e,t)=>{if(e&&typeof e==`object`&&`defaultProps`in e&&e.defaultProps){let n={...t},r=e.defaultProps;for(let e in r)n[e]===void 0&&(n[e]=r[e]);return n}return t},xt=()=>{let e={};for(let t in console)try{e[t]=console[t],console[t]=()=>{}}catch{}return e},St=e=>{for(let t in e)try{console[t]=e[t]}catch{}},Ct=(e,t)=>{let n=Le(e);Re(e,st);let r=[],i;try{i=Error(),t()}catch(e){yt(e)}finally{r=z,z=[],Re(e,n)}return ht(i===void 0?[]:q(i),r)},wt=()=>{let e=Ie();if(!e)throw Error(`No React renderer found. Make sure React is loaded and bippy's hook is installed.`);return e},Tt=e=>{if(Object.prototype.hasOwnProperty.call(e,`dependencies`)){let t=e.dependencies;U=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_old`)){let t=e.dependencies_old;U=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_new`)){let t=e.dependencies_new;U=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`contextDependencies`)){let t=e.contextDependencies;U=t===null?null:t.first}else throw Error(`Unsupported React version.`)},Et=e=>{let t=wt();if(e.tag!==0&&e.tag!==15&&e.tag!==11)throw Error(`Unknown Fiber. Needs to be a function component to inspect hooks.`);ct(),H=e.memoizedState,V=e;let n=e.dependencies&&e.dependencies._debugThenableState,r=n?n.thenables||n:null;G=Array.isArray(r)?r:null,W=0,Tt(e);let i=e.type,a=e.memoizedProps;i!==e.elementType&&(a=bt(i,a));let o=xt(),s=new Map;try{return U!==null&&!Object.prototype.hasOwnProperty.call(U,`memoizedValue`)&&_t(s,e),e.tag===11?Ct(t,()=>{i.render(a,e.ref)}):Ct(t,()=>{i(a)})}finally{V=null,H=null,U=null,G=null,W=0,vt(s),St(o)}},Dt=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),Ot=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:[\w$.]+\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,kt=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,At=e=>{let t=[],n=e=>{for(let r of e)Dt.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},jt=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},Mt=(e,t)=>{let n=jt(e.sources,e.sourcesContent,t);if(n)return n;if(e.sections)for(let n of e.sections){let e=jt(n.map.sources,n.map.sourcesContent,t);if(e)return e}return null},Nt=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},Pt=(e,t,n)=>{let r=e.split(`
|
|
11
|
+
`),s=/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/m,c=/(?:^|export\s+)function\s+(\w+)/m,l=/(?:^|export\s+)class\s+(\w+)/m,u=o.match(s);if(u?.[1])return u[1];let d=o.match(c);if(d?.[1])return d[1];let f=o.match(l);return f?.[1]?f[1]:null},i=async(e,i=!0,a)=>{let o=(await n.o(e,i,a)).filter(e=>e.fileName)[0];if(!o?.fileName)return t.getDisplayName(e.type);let s=await n.l(o.fileName,i,a);if(!s)return t.getDisplayName(e.type);let c=null;if(typeof o.lineNumber==`number`&&typeof o.columnNumber==`number`&&(c=n.c(s,o.lineNumber,o.columnNumber)),!c?.fileName||!c.lineNumber||!s.sourcesContent)return t.getDisplayName(e.type);let l=s.sources.indexOf(c.fileName);if(l===-1||!s.sourcesContent[l])return t.getDisplayName(e.type);let u=s.sourcesContent[l];return r(u,c.lineNumber)||t.getDisplayName(e.type)},a=Symbol.for(`react.context`),o=Symbol.for(`react.memo_cache_sentinel`);let s=[],c=null,l=null,u=null,d=null,f=0,p=null;const m=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render."),h=e=>n.d(e.stack||``,{includeInElement:!1}),g=()=>{let e=u;return e!==null&&(u=e.next),e},_=e=>{if(l===null)return e._currentValue;if(d===null)throw Error(`Context reads do not line up with context dependencies.`);if(Object.prototype.hasOwnProperty.call(d,`memoizedValue`)){let e=d.memoizedValue;return d=d.next,e}return e._currentValue},v=()=>{let t=e.i(),n=[...e.r,...t.renderers.values()];for(let e of n){let t=e.currentDispatcherRef;if(t&&typeof t==`object`)return t}return null},y=e=>`H`in e?e.H:e.current,b=(e,t)=>{`H`in e?e.H=t:e.current=t},x=(e,t,n,r=null)=>{s.push({displayName:r,primitive:e,stackError:Error(),value:t,dispatcherHookName:n})},S=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.then==`function`){let e=p!==null&&f<p.length?p[f++]:t;switch(e.status){case`fulfilled`:return x(`Promise`,e.value,`Use`),e.value;case`rejected`:throw e.reason}throw x(`Unresolved`,e,`Use`),m}if(t.$$typeof===a&&`_currentValue`in t){let e=t,n=_(e);return x(`Context (use)`,n,`Use`,e.displayName||`Context`),n}}throw Error(`An unsupported type was passed to use(): `+String(e))},C=e=>{let t=_(e);return x(`Context`,t,`Context`,e.displayName||null),t},w=e=>{let t=g(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return x(`State`,n,`State`),[n,()=>{}]},T=(e,t,n)=>{let r=g(),i=r===null?n===void 0?t:n(t):r.memoizedState;return x(`Reducer`,i,`Reducer`),[i,()=>{}]},ee=e=>{let t=g(),n=t===null?{current:e}:t.memoizedState;return x(`Ref`,n.current,`Ref`),n},te=()=>{let e=g();return x(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},ne=e=>{g(),x(`LayoutEffect`,e,`LayoutEffect`)},re=e=>{g(),x(`InsertionEffect`,e,`InsertionEffect`)},ie=e=>{g(),x(`Effect`,e,`Effect`)},E=e=>{g();let t;typeof e==`object`&&e&&`current`in e&&(t=e.current),x(`ImperativeHandle`,t,`ImperativeHandle`)},D=(e,t)=>{x(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},O=e=>{let t=g();return x(`Callback`,t===null?e:t.memoizedState[0],`Callback`),e},k=e=>{let t=g(),n=t===null?e():t.memoizedState[0];return x(`Memo`,n,`Memo`),n},A=(e,t)=>{let n=g();g();let r=n===null?t():n.memoizedState;return x(`SyncExternalStore`,r,`SyncExternalStore`),r},j=()=>{let e=g();g();let t=e===null?!1:e.memoizedState;return x(`Transition`,t,`Transition`),[t,()=>{}]},M=e=>{let t=g(),n=t===null?e:t.memoizedState;return x(`DeferredValue`,n,`DeferredValue`),n},N=()=>{let e=g(),t=e===null?``:e.memoizedState;return x(`Id`,t,`Id`),t},P=e=>{let t=l;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},()=>o)),n.index++,r},F=e=>{let t=g(),n=t===null?e:t.memoizedState;return x(`Optimistic`,n,`Optimistic`),[n,()=>{}]},I=(e,t)=>{let n,r=null;if(e!==null){let t=e.memoizedState;if(typeof t==`object`&&t&&`then`in t&&typeof t.then==`function`){let e=t;switch(e.status){case`fulfilled`:n=e.value;break;case`rejected`:r=e.reason;break;default:r=m,n=e}}else n=t}else n=t;return{value:n,error:r}},L=e=>(t,n)=>{let r=g();g(),g();let i=Error(),{value:a,error:o}=I(r,n);if(s.push({displayName:null,primitive:e,stackError:i,value:a,dispatcherHookName:e}),o!==null)throw o;return[a,()=>{},!1]},R=L(`ActionState`),z={readContext:_,use:S,useCallback:O,useContext:C,useEffect:ie,useImperativeHandle:E,useLayoutEffect:ne,useInsertionEffect:re,useMemo:k,useReducer:T,useRef:ee,useState:w,useDebugValue:D,useDeferredValue:M,useTransition:j,useSyncExternalStore:A,useId:N,useHostTransitionStatus:()=>{let e=_({_currentValue:null});return x(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:L(`FormState`),useActionState:R,useOptimistic:F,useMemoCache:P,useCacheRefresh:te,useEffectEvent:e=>(g(),x(`EffectEvent`,e,`EffectEvent`),e)},B=typeof Proxy>`u`?z:new Proxy(z,{get(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let n=Error(`Missing method in Dispatcher: `+t);throw n.name=`ReactDebugToolsUnsupportedHookError`,n}}),V=()=>{if(c!==null)return c;let e=new Map,t;try{if(z.useContext({_currentValue:null}),z.useState(null),z.useReducer(e=>e,null),z.useRef(null),typeof z.useCacheRefresh==`function`&&z.useCacheRefresh(),z.useLayoutEffect(()=>{}),z.useInsertionEffect(()=>{}),z.useEffect(()=>{}),z.useImperativeHandle(void 0,()=>null),z.useDebugValue(null),z.useCallback(()=>{}),z.useTransition(),z.useSyncExternalStore(()=>()=>{},()=>null,()=>null),z.useDeferredValue(null),z.useMemo(()=>null),z.useOptimistic(null,e=>e),z.useFormState(e=>e,null),z.useActionState(e=>e,null),z.useHostTransitionStatus(),typeof z.useMemoCache==`function`&&z.useMemoCache(0),typeof z.use==`function`){z.use({$$typeof:a,_currentValue:null}),z.use({then(){},status:`fulfilled`,value:null});try{z.use({then(){}})}catch{}}z.useId(),typeof z.useEffectEvent==`function`&&z.useEffectEvent(()=>{})}finally{t=s,s=[]}for(let n of t)e.set(n.primitive,h(n.stackError));return c=e,c};let H=0;const U=(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},W=(e,t)=>{let n=U(t,e,H);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=U(t,e,r),n!==-1)return H=r,n;return-1},G=e=>{if(!e)return``;let t=e.lastIndexOf(`[as `);if(t!==-1)return G(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)},K=(e,t)=>{let n=G(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},q=(e,t)=>{let n=V().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&&K(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&K(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},J=(e,t)=>{let n=h(t.stackError),r=W(e,n),i=q(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)]},Y=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),ae=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=J(e,s),l=s.displayName;if(l===null&&t!==null&&(l=G(t.functionName)||G(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:G(c[t-1].functionName),value:void 0,subHooks:e,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=Y.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:[],hookSource:h})}return X(n,null),n},X=(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)):X(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},oe=(e,t)=>{let n=t;for(;n;){if(n.tag===10){let t=n.type;`_context`in t&&t._context!==void 0&&(t=t._context),e.has(t)||(e.set(t,t._currentValue),t._currentValue=n.memoizedProps.value)}n=n.return}},se=e=>{e.forEach((e,t)=>{t._currentValue=e})},ce=e=>{if(e===m)return;if(e instanceof Error&&e.name===`ReactDebugToolsUnsupportedHookError`)throw e;let t=Error(`Error rendering inspected component`,{cause:e});throw t.name=`ReactDebugToolsRenderError`,t.cause=e,t},le=(e,t)=>{if(e&&typeof e==`object`&&`defaultProps`in e&&e.defaultProps){let n={...t},r=e.defaultProps;for(let e in r)n[e]===void 0&&(n[e]=r[e]);return n}return t},ue=()=>{let e={};for(let t in console)try{e[t]=console[t],console[t]=()=>{}}catch{}return e},de=e=>{for(let t in e)try{console[t]=e[t]}catch{}},Z=(e,t)=>{let n=y(e);b(e,B);let r=[],i;try{i=Error(),t()}catch(e){ce(e)}finally{r=s,s=[],b(e,n)}return ae(i===void 0?[]:h(i),r)},fe=()=>{let e=v();if(!e)throw Error(`No React renderer found. Make sure React is loaded and bippy's hook is installed.`);return e},pe=e=>{if(Object.prototype.hasOwnProperty.call(e,`dependencies`)){let t=e.dependencies;d=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_old`)){let t=e.dependencies_old;d=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_new`)){let t=e.dependencies_new;d=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`contextDependencies`)){let t=e.contextDependencies;d=t===null?null:t.first}else throw Error(`Unsupported React version.`)},me=e=>{let t=fe();if(e.tag!==0&&e.tag!==15&&e.tag!==11)throw Error(`Unknown Fiber. Needs to be a function component to inspect hooks.`);V(),u=e.memoizedState,l=e;let n=e.dependencies&&e.dependencies._debugThenableState,r=n?n.thenables||n:null;p=Array.isArray(r)?r:null,f=0,pe(e);let i=e.type,a=e.memoizedProps;i!==e.elementType&&(a=le(i,a));let o=ue(),s=new Map;try{return d!==null&&!Object.prototype.hasOwnProperty.call(d,`memoizedValue`)&&oe(s,e),e.tag===11?Z(t,()=>{i.render(a,e.ref)}):Z(t,()=>{i(a)})}finally{l=null,u=null,d=null,p=null,f=0,se(s),de(o)}},he=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),ge=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:[\w$.]+\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,_e=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,Q=e=>{let t=[],n=e=>{for(let r of e)he.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},$=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},ve=(e,t)=>{let n=$(e.sources,e.sourcesContent,t);if(n)return n;if(e.sections)for(let n of e.sections){let e=$(n.map.sources,n.map.sourcesContent,t);if(e)return e}return null},ye=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},be=(e,t,n)=>{let r=e.split(`
|
|
27
12
|
`),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(`
|
|
28
|
-
`),s=[...o.matchAll(
|
|
29
|
-
`)+1+n,l=s.filter(e=>e.index<=c).at(-1);return l?
|
|
13
|
+
`),s=[...o.matchAll(ge)],c=o.lastIndexOf(`
|
|
14
|
+
`)+1+n,l=s.filter(e=>e.index<=c).at(-1);return l?ye(l[1]):null},xe=async(e,t,r,i)=>{let{sourceMapsByFile:a,sourceContentCache:o,fetchFn:s}=i;a.has(e)||a.set(e,await n.l(e,!0,s));let c=a.get(e)??null;if(c){let i=n.c(c,t,r);if(i?.fileName&&i.lineNumber!==void 0){let t=`sourcemap:${e}:${i.fileName}`;o.has(t)||o.set(t,ve(c,i.fileName));let n=o.get(t)??null;if(n)return{sourceCode:n,lineNumber:i.lineNumber,columnNumber:i.columnNumber??0}}}if(!o.has(e))try{let t=await(s??fetch)(e);o.set(e,t.ok?await t.text():null)}catch{o.set(e,null)}let l=o.get(e)??null;return l?{sourceCode:l,lineNumber:t,columnNumber:r}:null},Se=async(e,t)=>{let n=new Map,r=Q(e);if(r.length===0)return n;let i={sourceMapsByFile:new Map,sourceContentCache:new Map,fetchFn:t};return await Promise.all(r.map(async e=>{let t=e.hookSource;if(!t||!t.fileName||t.lineNumber===null||t.columnNumber===null)return;let r=await xe(t.fileName,t.lineNumber,t.columnNumber,i);if(!r)return;let a=be(r.sourceCode,r.lineNumber,r.columnNumber);if(a){let e=_e(t);n.set(e,a)}})),n};exports.formatOwnerStack=n.i,exports.getDisplayNameFromSource=i,exports.getFiberHooks=me,exports.getOwnerStack=n.a,exports.getParentStack=n.o,exports.getSource=n.t,exports.getSourceFromSourceMap=n.c,exports.getSourceMap=n.l,exports.hasDebugStack=n.s,exports.isSourceFile=n.n,exports.normalizeFileName=n.r,exports.parseHookNames=Se,exports.parseStack=n.d,exports.symbolicateStack=n.u;
|
package/dist/source.d.cts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { u as Fiber } from "./unsubscribe.cjs";
|
|
3
2
|
//#region src/source/parse-stack.d.ts
|
|
4
3
|
interface StackFrame {
|
|
5
4
|
args?: unknown[];
|
|
6
5
|
columnNumber?: number;
|
|
7
6
|
lineNumber?: number;
|
|
7
|
+
enclosingLineNumber?: number;
|
|
8
|
+
enclosingColumnNumber?: number;
|
|
8
9
|
fileName?: string;
|
|
9
10
|
functionName?: string;
|
|
10
11
|
source?: string;
|
|
11
12
|
isServer?: boolean;
|
|
12
13
|
isSymbolicated?: boolean;
|
|
14
|
+
isIgnoreListed?: boolean;
|
|
13
15
|
}
|
|
14
16
|
interface ParseOptions {
|
|
15
17
|
slice?: number | [number, number];
|
|
@@ -17,28 +19,11 @@ interface ParseOptions {
|
|
|
17
19
|
includeInElement?: boolean;
|
|
18
20
|
}
|
|
19
21
|
declare const parseStack: (stackString: string, options?: ParseOptions) => StackFrame[];
|
|
20
|
-
declare const extractLocation: (urlLike: string) => [string, string | undefined, string | undefined];
|
|
21
|
-
declare const parseV8OrIE: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
22
|
-
declare const parseV8OrIeString: (stack: string, options?: ParseOptions) => StackFrame[];
|
|
23
|
-
declare const parseFFOrSafari: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
24
|
-
declare const parseFFOrSafariString: (stack: string, options?: ParseOptions) => StackFrame[];
|
|
25
|
-
declare const parseOpera: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
26
|
-
declare const parseOpera9: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
27
|
-
declare const parseOpera10: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
28
|
-
declare const parseOpera11: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
29
22
|
//#endregion
|
|
30
23
|
//#region src/source/owner-stack.d.ts
|
|
31
24
|
declare const hasDebugStack: (fiber: Fiber) => fiber is Fiber & {
|
|
32
25
|
_debugStack: NonNullable<Fiber["_debugStack"]>;
|
|
33
26
|
};
|
|
34
|
-
declare const describeDebugInfoFrame: (name: string, env?: string) => string;
|
|
35
|
-
declare const describeFiber: (fiber: Fiber, childFiber: Fiber | null) => string;
|
|
36
|
-
/**
|
|
37
|
-
* react 19 introduces the _debugStack property, which we can use to grab the stack.
|
|
38
|
-
* however, for versions that don't have this property, we need to construct
|
|
39
|
-
* a "fake" version of the owner stack
|
|
40
|
-
*/
|
|
41
|
-
declare const getFallbackOwnerStack: (thisFiber: Fiber) => string;
|
|
42
27
|
/**
|
|
43
28
|
* takes Error.stack and formats it to only the React owner stack
|
|
44
29
|
*
|
|
@@ -58,6 +43,24 @@ declare const getFallbackOwnerStack: (thisFiber: Fiber) => string;
|
|
|
58
43
|
* @see https://github.com/facebook/react/blob/main/packages/react-devtools-shared/src/backend/shared/DevToolsOwnerStack.js#L12
|
|
59
44
|
*/
|
|
60
45
|
declare const formatOwnerStack: (stack: string) => string;
|
|
46
|
+
/**
|
|
47
|
+
* Returns a stack of ALL ancestor components in the render tree (the fiber's
|
|
48
|
+
* `return` chain), including wrappers that render `{children}` without having
|
|
49
|
+
* created this fiber's JSX. Locations come from re-invoking each component
|
|
50
|
+
* with a throwing dispatcher; server frames are enriched from debug stacks by
|
|
51
|
+
* name matching. Works on every React version.
|
|
52
|
+
*/
|
|
53
|
+
declare const getParentStack: (fiber: Fiber, shouldCache?: boolean, fetchFunction?: (url: string) => Promise<Response>) => Promise<StackFrame[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the stack of components that CREATED this fiber's JSX (the
|
|
56
|
+
* `_debugOwner` chain), with exact creation-site locations from React 19's
|
|
57
|
+
* `_debugStack` errors - including server component owners. Wrappers that
|
|
58
|
+
* merely render `{children}` do not appear; use {@link getParentStack} for
|
|
59
|
+
* the full render-tree ancestry. Falls back to {@link getParentStack} on
|
|
60
|
+
* React <19, when no trusted debug stacks exist, or when the owner chain
|
|
61
|
+
* yields no locatable frames (so callers always get the most useful stack
|
|
62
|
+
* available).
|
|
63
|
+
*/
|
|
61
64
|
declare const getOwnerStack: (fiber: Fiber, shouldCache?: boolean, fetchFunction?: (url: string) => Promise<Response>) => Promise<StackFrame[]>;
|
|
62
65
|
//#endregion
|
|
63
66
|
//#region src/source/types.d.ts
|
|
@@ -69,12 +72,17 @@ interface FiberSource {
|
|
|
69
72
|
}
|
|
70
73
|
//#endregion
|
|
71
74
|
//#region src/source/get-source.d.ts
|
|
72
|
-
declare const hasDebugSource: (fiber: Fiber) => fiber is Fiber & {
|
|
73
|
-
_debugSource: NonNullable<Fiber["_debugSource"]>;
|
|
74
|
-
};
|
|
75
75
|
/**
|
|
76
76
|
* Returns the source of where the component is used. Available only in dev, for composite {@link Fiber}s.
|
|
77
77
|
*
|
|
78
|
+
* Resolution order:
|
|
79
|
+
* 1. `_debugSource` (react <19, requires the JSX source babel transform)
|
|
80
|
+
* 2. the fiber's own `_debugStack` (react 19) - the exact JSX creation site
|
|
81
|
+
* 3. an owned child's `_debugStack` bottom frame (react 19) - a location
|
|
82
|
+
* inside the component's own body; works for components that the throwing
|
|
83
|
+
* trick cannot locate (no hooks, no props access)
|
|
84
|
+
* 4. the legacy owner-stack path (throwing trick re-invocation)
|
|
85
|
+
*
|
|
78
86
|
* @example
|
|
79
87
|
* ```ts
|
|
80
88
|
* function Parent() {
|
|
@@ -101,6 +109,7 @@ type SourceMapSegment = [number] | [number, number, number, number] | [number, n
|
|
|
101
109
|
interface DecodedSourceMapSection {
|
|
102
110
|
map: {
|
|
103
111
|
file?: string;
|
|
112
|
+
ignoredSourceIndices?: Set<number>;
|
|
104
113
|
mappings: SourceMapSegment[][];
|
|
105
114
|
names?: string[];
|
|
106
115
|
sourceRoot?: string;
|
|
@@ -127,6 +136,7 @@ interface IndexSourceMap {
|
|
|
127
136
|
type RawSourceMap = IndexSourceMap | StandardSourceMap;
|
|
128
137
|
interface SourceMap {
|
|
129
138
|
file?: string;
|
|
139
|
+
ignoredSourceIndices?: Set<number>;
|
|
130
140
|
mappings: SourceMapSegment[][];
|
|
131
141
|
names?: string[];
|
|
132
142
|
sections?: DecodedSourceMapSection[];
|
|
@@ -137,16 +147,16 @@ interface SourceMap {
|
|
|
137
147
|
}
|
|
138
148
|
interface StandardSourceMap {
|
|
139
149
|
file?: string;
|
|
150
|
+
ignoreList?: number[];
|
|
140
151
|
mappings: string;
|
|
141
152
|
names?: string[];
|
|
142
153
|
sourceRoot?: string;
|
|
143
154
|
sources: string[];
|
|
144
155
|
sourcesContent?: string[];
|
|
145
156
|
version: 3;
|
|
157
|
+
x_google_ignoreList?: number[];
|
|
146
158
|
}
|
|
147
|
-
declare const sourceMapCache: Map<string, SourceMap | null>;
|
|
148
159
|
declare const getSourceFromSourceMap: (sourceMap: SourceMap, line: number, column: number) => StackFrame | null;
|
|
149
|
-
declare const getSourceMapImpl: (bundleUrl: string, fetchFn?: (url: string) => Promise<Response>) => Promise<null | SourceMap>;
|
|
150
160
|
declare const getSourceMap: (file: string, useCache?: boolean, fetchFn?: (url: string) => Promise<Response>) => Promise<null | SourceMap>;
|
|
151
161
|
declare const symbolicateStack: (stack: StackFrame[], cache?: boolean, fetchFn?: (url: string) => Promise<Response>) => Promise<StackFrame[]>;
|
|
152
162
|
//#endregion
|
|
@@ -173,8 +183,6 @@ declare const getFiberHooks: (fiber: Fiber) => HooksTree;
|
|
|
173
183
|
//#endregion
|
|
174
184
|
//#region src/source/parse-hook-names.d.ts
|
|
175
185
|
interface HookNames extends Map<string, string> {}
|
|
176
|
-
declare const getHookSourceLocationKey: (hookSource: HookSource) => string;
|
|
177
|
-
declare const extractHookVariableName: (sourceCode: string, lineNumber: number, columnNumber: number) => string | null;
|
|
178
186
|
declare const parseHookNames: (hooksTree: HooksTree, fetchFn?: (url: string) => Promise<Response>) => Promise<HookNames>;
|
|
179
187
|
//#endregion
|
|
180
|
-
export { DecodedSourceMapSection, FiberSource, HookNames, HookSource, HooksNode, HooksTree, IndexSourceMap, ParseOptions, RawSourceMap, SourceMap, StackFrame, StandardSourceMap,
|
|
188
|
+
export { type DecodedSourceMapSection, type FiberSource, type HookNames, type HookSource, type HooksNode, type HooksTree, type IndexSourceMap, type ParseOptions, type RawSourceMap, type SourceMap, type StackFrame, type StandardSourceMap, formatOwnerStack, getDisplayNameFromSource, getFiberHooks, getOwnerStack, getParentStack, getSource, getSourceFromSourceMap, getSourceMap, hasDebugStack, isSourceFile, normalizeFileName, parseHookNames, parseStack, symbolicateStack };
|
package/dist/source.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { u as Fiber } from "./unsubscribe.js";
|
|
3
2
|
//#region src/source/parse-stack.d.ts
|
|
4
3
|
interface StackFrame {
|
|
5
4
|
args?: unknown[];
|
|
6
5
|
columnNumber?: number;
|
|
7
6
|
lineNumber?: number;
|
|
7
|
+
enclosingLineNumber?: number;
|
|
8
|
+
enclosingColumnNumber?: number;
|
|
8
9
|
fileName?: string;
|
|
9
10
|
functionName?: string;
|
|
10
11
|
source?: string;
|
|
11
12
|
isServer?: boolean;
|
|
12
13
|
isSymbolicated?: boolean;
|
|
14
|
+
isIgnoreListed?: boolean;
|
|
13
15
|
}
|
|
14
16
|
interface ParseOptions {
|
|
15
17
|
slice?: number | [number, number];
|
|
@@ -17,28 +19,11 @@ interface ParseOptions {
|
|
|
17
19
|
includeInElement?: boolean;
|
|
18
20
|
}
|
|
19
21
|
declare const parseStack: (stackString: string, options?: ParseOptions) => StackFrame[];
|
|
20
|
-
declare const extractLocation: (urlLike: string) => [string, string | undefined, string | undefined];
|
|
21
|
-
declare const parseV8OrIE: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
22
|
-
declare const parseV8OrIeString: (stack: string, options?: ParseOptions) => StackFrame[];
|
|
23
|
-
declare const parseFFOrSafari: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
24
|
-
declare const parseFFOrSafariString: (stack: string, options?: ParseOptions) => StackFrame[];
|
|
25
|
-
declare const parseOpera: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
26
|
-
declare const parseOpera9: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
27
|
-
declare const parseOpera10: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
28
|
-
declare const parseOpera11: (error: Error, options?: ParseOptions) => StackFrame[];
|
|
29
22
|
//#endregion
|
|
30
23
|
//#region src/source/owner-stack.d.ts
|
|
31
24
|
declare const hasDebugStack: (fiber: Fiber) => fiber is Fiber & {
|
|
32
25
|
_debugStack: NonNullable<Fiber["_debugStack"]>;
|
|
33
26
|
};
|
|
34
|
-
declare const describeDebugInfoFrame: (name: string, env?: string) => string;
|
|
35
|
-
declare const describeFiber: (fiber: Fiber, childFiber: Fiber | null) => string;
|
|
36
|
-
/**
|
|
37
|
-
* react 19 introduces the _debugStack property, which we can use to grab the stack.
|
|
38
|
-
* however, for versions that don't have this property, we need to construct
|
|
39
|
-
* a "fake" version of the owner stack
|
|
40
|
-
*/
|
|
41
|
-
declare const getFallbackOwnerStack: (thisFiber: Fiber) => string;
|
|
42
27
|
/**
|
|
43
28
|
* takes Error.stack and formats it to only the React owner stack
|
|
44
29
|
*
|
|
@@ -58,6 +43,24 @@ declare const getFallbackOwnerStack: (thisFiber: Fiber) => string;
|
|
|
58
43
|
* @see https://github.com/facebook/react/blob/main/packages/react-devtools-shared/src/backend/shared/DevToolsOwnerStack.js#L12
|
|
59
44
|
*/
|
|
60
45
|
declare const formatOwnerStack: (stack: string) => string;
|
|
46
|
+
/**
|
|
47
|
+
* Returns a stack of ALL ancestor components in the render tree (the fiber's
|
|
48
|
+
* `return` chain), including wrappers that render `{children}` without having
|
|
49
|
+
* created this fiber's JSX. Locations come from re-invoking each component
|
|
50
|
+
* with a throwing dispatcher; server frames are enriched from debug stacks by
|
|
51
|
+
* name matching. Works on every React version.
|
|
52
|
+
*/
|
|
53
|
+
declare const getParentStack: (fiber: Fiber, shouldCache?: boolean, fetchFunction?: (url: string) => Promise<Response>) => Promise<StackFrame[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the stack of components that CREATED this fiber's JSX (the
|
|
56
|
+
* `_debugOwner` chain), with exact creation-site locations from React 19's
|
|
57
|
+
* `_debugStack` errors - including server component owners. Wrappers that
|
|
58
|
+
* merely render `{children}` do not appear; use {@link getParentStack} for
|
|
59
|
+
* the full render-tree ancestry. Falls back to {@link getParentStack} on
|
|
60
|
+
* React <19, when no trusted debug stacks exist, or when the owner chain
|
|
61
|
+
* yields no locatable frames (so callers always get the most useful stack
|
|
62
|
+
* available).
|
|
63
|
+
*/
|
|
61
64
|
declare const getOwnerStack: (fiber: Fiber, shouldCache?: boolean, fetchFunction?: (url: string) => Promise<Response>) => Promise<StackFrame[]>;
|
|
62
65
|
//#endregion
|
|
63
66
|
//#region src/source/types.d.ts
|
|
@@ -69,12 +72,17 @@ interface FiberSource {
|
|
|
69
72
|
}
|
|
70
73
|
//#endregion
|
|
71
74
|
//#region src/source/get-source.d.ts
|
|
72
|
-
declare const hasDebugSource: (fiber: Fiber) => fiber is Fiber & {
|
|
73
|
-
_debugSource: NonNullable<Fiber["_debugSource"]>;
|
|
74
|
-
};
|
|
75
75
|
/**
|
|
76
76
|
* Returns the source of where the component is used. Available only in dev, for composite {@link Fiber}s.
|
|
77
77
|
*
|
|
78
|
+
* Resolution order:
|
|
79
|
+
* 1. `_debugSource` (react <19, requires the JSX source babel transform)
|
|
80
|
+
* 2. the fiber's own `_debugStack` (react 19) - the exact JSX creation site
|
|
81
|
+
* 3. an owned child's `_debugStack` bottom frame (react 19) - a location
|
|
82
|
+
* inside the component's own body; works for components that the throwing
|
|
83
|
+
* trick cannot locate (no hooks, no props access)
|
|
84
|
+
* 4. the legacy owner-stack path (throwing trick re-invocation)
|
|
85
|
+
*
|
|
78
86
|
* @example
|
|
79
87
|
* ```ts
|
|
80
88
|
* function Parent() {
|
|
@@ -101,6 +109,7 @@ type SourceMapSegment = [number] | [number, number, number, number] | [number, n
|
|
|
101
109
|
interface DecodedSourceMapSection {
|
|
102
110
|
map: {
|
|
103
111
|
file?: string;
|
|
112
|
+
ignoredSourceIndices?: Set<number>;
|
|
104
113
|
mappings: SourceMapSegment[][];
|
|
105
114
|
names?: string[];
|
|
106
115
|
sourceRoot?: string;
|
|
@@ -127,6 +136,7 @@ interface IndexSourceMap {
|
|
|
127
136
|
type RawSourceMap = IndexSourceMap | StandardSourceMap;
|
|
128
137
|
interface SourceMap {
|
|
129
138
|
file?: string;
|
|
139
|
+
ignoredSourceIndices?: Set<number>;
|
|
130
140
|
mappings: SourceMapSegment[][];
|
|
131
141
|
names?: string[];
|
|
132
142
|
sections?: DecodedSourceMapSection[];
|
|
@@ -137,16 +147,16 @@ interface SourceMap {
|
|
|
137
147
|
}
|
|
138
148
|
interface StandardSourceMap {
|
|
139
149
|
file?: string;
|
|
150
|
+
ignoreList?: number[];
|
|
140
151
|
mappings: string;
|
|
141
152
|
names?: string[];
|
|
142
153
|
sourceRoot?: string;
|
|
143
154
|
sources: string[];
|
|
144
155
|
sourcesContent?: string[];
|
|
145
156
|
version: 3;
|
|
157
|
+
x_google_ignoreList?: number[];
|
|
146
158
|
}
|
|
147
|
-
declare const sourceMapCache: Map<string, SourceMap | null>;
|
|
148
159
|
declare const getSourceFromSourceMap: (sourceMap: SourceMap, line: number, column: number) => StackFrame | null;
|
|
149
|
-
declare const getSourceMapImpl: (bundleUrl: string, fetchFn?: (url: string) => Promise<Response>) => Promise<null | SourceMap>;
|
|
150
160
|
declare const getSourceMap: (file: string, useCache?: boolean, fetchFn?: (url: string) => Promise<Response>) => Promise<null | SourceMap>;
|
|
151
161
|
declare const symbolicateStack: (stack: StackFrame[], cache?: boolean, fetchFn?: (url: string) => Promise<Response>) => Promise<StackFrame[]>;
|
|
152
162
|
//#endregion
|
|
@@ -173,8 +183,6 @@ declare const getFiberHooks: (fiber: Fiber) => HooksTree;
|
|
|
173
183
|
//#endregion
|
|
174
184
|
//#region src/source/parse-hook-names.d.ts
|
|
175
185
|
interface HookNames extends Map<string, string> {}
|
|
176
|
-
declare const getHookSourceLocationKey: (hookSource: HookSource) => string;
|
|
177
|
-
declare const extractHookVariableName: (sourceCode: string, lineNumber: number, columnNumber: number) => string | null;
|
|
178
186
|
declare const parseHookNames: (hooksTree: HooksTree, fetchFn?: (url: string) => Promise<Response>) => Promise<HookNames>;
|
|
179
187
|
//#endregion
|
|
180
|
-
export { DecodedSourceMapSection, FiberSource, HookNames, HookSource, HooksNode, HooksTree, IndexSourceMap, ParseOptions, RawSourceMap, SourceMap, StackFrame, StandardSourceMap,
|
|
188
|
+
export { type DecodedSourceMapSection, type FiberSource, type HookNames, type HookSource, type HooksNode, type HooksTree, type IndexSourceMap, type ParseOptions, type RawSourceMap, type SourceMap, type StackFrame, type StandardSourceMap, formatOwnerStack, getDisplayNameFromSource, getFiberHooks, getOwnerStack, getParentStack, getSource, getSourceFromSourceMap, getSourceMap, hasDebugStack, isSourceFile, normalizeFileName, parseHookNames, parseStack, symbolicateStack };
|
package/dist/source.js
CHANGED
|
@@ -6,24 +6,9 @@
|
|
|
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{
|
|
10
|
-
`),r=[];for(let e of n)if(/^\s*at\s+/.test(e)){let t=_(e,void 0)[0];t&&r.push(t)}else if(/^\s*in\s+/.test(e)){let t=e.replace(/^\s*in\s+/,``).replace(/\s*\(at .*\)$/,``);r.push({functionName:t,source:e})}else if(e.match(d)){let t=v(e,void 0)[0];t&&r.push(t)}return g(r,t)}return e.match(f)?_(e,t):v(e,t)},h=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]},g=(e,t)=>t&&t.slice!=null?Array.isArray(t.slice)?e.slice(t.slice[0],t.slice[1]):e.slice(0,t.slice):e,te=(e,t)=>_(e.stack,t),_=(e,t)=>g(e.split(`
|
|
11
|
-
`).filter(e=>!!e.match(f)),t).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=h(r?r[1]:n);return{functionName:r&&n||void 0,fileName:[`eval`,`<anonymous>`].includes(i[0])?void 0:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}),ne=(e,t)=>v(e.stack,t),v=(e,t)=>g(e.split(`
|
|
12
|
-
`).filter(e=>!e.match(ee)),t).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=h(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}}}),re=(e,t)=>{let n=p(e);return!n||e.message.includes(`
|
|
13
|
-
`)&&e.message.split(`
|
|
14
|
-
`).length>n.split(`
|
|
15
|
-
`).length?ie(e,t):e.stack?oe(e,t):ae(e,t)},ie=(e,t)=>{let n=/Line (\d+).*script (?:in )?(\S+)/i,r=e.message.split(`
|
|
16
|
-
`),i=[];for(let e=2,t=r.length;e<t;e+=2){let t=n.exec(r[e]);t&&i.push({fileName:t[2],lineNumber:+t[1],source:r[e]})}return g(i,t)},ae=(e,t)=>{let n=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,r=(p(e)||``).split(`
|
|
17
|
-
`),i=[];for(let e=0,t=r.length;e<t;e+=2){let t=n.exec(r[e]);t&&i.push({functionName:t[3]||void 0,fileName:t[2],lineNumber:t[1]?+t[1]:void 0,source:r[e]})}return g(i,t)},oe=(e,t)=>g(e.stack.split(`
|
|
18
|
-
`).filter(e=>!!e.match(d)&&!e.match(/^Error created at/)),t).map(e=>{let t=e.split(`@`),n=h(t.pop()),r=t.shift()||``,i=r.replace(/<anonymous function(: (\w+))?>/,`$2`).replace(/\([^)]*\)/g,``)||void 0,a;return r.match(/\(([^)]*)\)/)&&(a=r.replace(/^[^(]+\(([^)]*)\)$/,`$1`)),{functionName:i,args:a===void 0||a===`[arguments not available]`?void 0:a.split(`,`),fileName:n[0],lineNumber:n[1]?+n[1]:void 0,columnNumber:n[2]?+n[2]:void 0,source:e}});var se=44,y=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,ce=new Uint8Array(64),le=new Uint8Array(128);for(let e=0;e<y.length;e++){let t=y.charCodeAt(e);ce[e]=t,le[t]=e}function b(e,t){let n=0,r=0,i=0;do i=le[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 ue(e,t){return e.pos>=t?!1:e.peek()!==se}var de=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 x(e){let{length:t}=e,n=new de(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=b(n,i),i<u&&(l=!1),u=i,ue(n,e)?(a=b(n,a),o=b(n,o),s=b(n,s),ue(n,e)?(c=b(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||fe(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function fe(e){e.sort(pe)}function pe(e,t){return e[0]-t[0]}const S=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,me=/^data:application\/json[^,]+base64,/,he=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,C=new Map,w=new Map,T=(e,t,n,r)=>{if(n<0||n>=e.length)return null;let i=e[n];if(!i||i.length===0)return null;let a=null;for(let e of i)if(e[0]<=r)a=e;else break;if(!a||a.length<4)return null;let[,o,s,c]=a;if(o===void 0||s===void 0||c===void 0)return null;let l=t[o];return l?{columnNumber:c,fileName:l,lineNumber:s+1}:null},E=(e,t,n)=>{if(e.sections){let r=null;for(let i of e.sections)if(t>i.offset.line||t===i.offset.line&&n>=i.offset.column)r=i;else break;if(!r)return null;let i=t-r.offset.line,a=t===r.offset.line?n-r.offset.column:n;return T(r.map.mappings,r.map.sources,i,a)}return T(e.mappings,e.sources,t-1,n)},ge=(e,t)=>{let n=t.split(`
|
|
19
|
-
`),r;for(let e=n.length-1;e>=0&&!r;e--){let t=n[e].match(he);t&&(r=t[1]||t[2])}if(!r)return null;let i=S.test(r);if(!(me.test(r)||i||r.startsWith(`/`))){let t=e.split(`/`);t[t.length-1]=r,r=t.join(`/`)}return r},_e=e=>({file:e.file,mappings:x(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,version:3}),ve=e=>{let t=e.sections.map(({map:e,offset:t})=>({map:{...e,mappings:x(e.mappings)},offset:t})),n=new Set;for(let e of t)for(let t of e.map.sources)n.add(t);return{file:e.file,mappings:[],names:[],sections:t,sourceRoot:void 0,sources:Array.from(n),sourcesContent:void 0,version:3}},D=e=>{if(!e)return!1;let t=e.trim();if(!t)return!1;let n=t.match(S);if(!n)return!0;let r=n[0].toLowerCase();return r===`http:`||r===`https:`},ye=async(e,t=fetch)=>{if(!D(e))return null;let n=await t(e);if(!n.ok)return null;let r=await n.text();if(!r)return null;let i=ge(e,r);if(!i||!D(i))return null;let a=await t(i);if(!a.ok)return null;try{let e=await a.json();return`sections`in e?ve(e):_e(e)}catch{return null}},O=async(e,t=!0,n)=>{if(t&&C.has(e))return C.get(e)??null;let r=t?w.get(e):void 0;if(r)return(await r).sourceMap;let i=ye(e,n).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));t&&w.set(e,i);let{sourceMap:a,isTransientFailure:o}=await i;return t&&(w.delete(e),o||C.set(e,a)),a},be=async(e,t=!0,n)=>await Promise.all(e.map(async e=>{if(!e.fileName)return e;let r=await O(e.fileName,t,n);if(!r||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let i=E(r,e.lineNumber,e.columnNumber);return i?{...e,source:i.fileName&&e.source?e.source.replace(e.fileName,i.fileName):e.source,fileName:i.fileName,lineNumber:i.lineNumber,columnNumber:i.columnNumber,isSymbolicated:!0}:e})),xe=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,Se=()=>{let n=t();for(let t of[...Array.from(e),...Array.from(n.renderers.values())]){let e=t.currentDispatcherRef;if(e&&typeof e==`object`)return`H`in e?e.H:e.current}return null},Ce=t=>{for(let n of e){let e=n.currentDispatcherRef;e&&typeof e==`object`&&(`H`in e?e.H=t:e.current=t)}},k=e=>`\n in ${e}`,we=(e,t)=>{let n=k(e);return t&&(n+=` (at ${t})`),n};let A=!1;const j=(e,t)=>{if(!e||A)return``;let r=Error.prepareStackTrace;Error.prepareStackTrace=void 0,A=!0;let i=Se();Ce(null);let a=console.error,o=console.warn;console.error=()=>{},console.warn=()=>{};try{let r={DetermineComponentFrameRoot(){let n;try{if(t){let t=function(){throw Error()};if(Object.defineProperty(t.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){n=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){n=e}e.call(t.prototype)}}else{try{throw Error()}catch(e){n=e}let t=e();t&&typeof t.catch==`function`&&t.catch(()=>{})}}catch(e){if(e instanceof Error&&n instanceof Error&&typeof e.stack==`string`)return[e.stack,n.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`,Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`)?.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});let[i,a]=r.DetermineComponentFrameRoot();if(i&&a){let t=i.split(`
|
|
20
|
-
`),r=a.split(`
|
|
21
|
-
`),o=0,s=0;for(;o<t.length&&!t[o].includes(`DetermineComponentFrameRoot`);)o++;for(;s<r.length&&!r[s].includes(`DetermineComponentFrameRoot`);)s++;if(o===t.length||s===r.length)for(o=t.length-1,s=r.length-1;o>=1&&s>=0&&t[o]!==r[s];)s--;for(;o>=1&&s>=0;o--,s--)if(t[o]!==r[s]){if(o!==1||s!==1)do if(o--,s--,s<0||t[o]!==r[s]){let r=`\n${t[o].replace(` at new `,` at `)}`,i=n(e);return i&&r.includes(`<anonymous>`)&&(r=r.replace(`<anonymous>`,i)),r}while(o>=1&&s>=0);break}}}finally{A=!1,Error.prepareStackTrace=r,Ce(i),console.error=a,console.warn=o}let s=e?n(e):``;return s?k(s):``},M=(e,t)=>{let n=e.tag,r=``;switch(n){case 28:r=k(`Activity`);break;case 1:r=j(e.type,!0);break;case 11:r=j(e.type.render,!1);break;case 0:case 15:r=j(e.type,!1);break;case 5:case 26:case 27:r=k(e.type);break;case 16:r=k(`Lazy`);break;case 13:r=e.child!==t&&t!==null?k(`Suspense Fallback`):k(`Suspense`);break;case 19:r=k(`SuspenseList`);break;case 30:r=k(`ViewTransition`);break;default:return``}return r},N=e=>{try{let t=``,n=e,r=null;do{t+=M(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+=we(r.name,r.env))}r=n,n=n.return}while(n);return t}catch(e){return e instanceof Error?`\nError generating stack: ${e.message}\n${e.stack}`:``}},P=e=>{let t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;let n=e;if(!n)return``;Error.prepareStackTrace=t,n.startsWith(`Error: react-stack-top-frame
|
|
22
|
-
`)&&(n=n.slice(29));let r=n.indexOf(`
|
|
23
|
-
`);if(r!==-1&&(n=n.slice(r+1)),r=Math.max(n.indexOf(`react_stack_bottom_frame`),n.indexOf(`react-stack-bottom-frame`)),r!==-1&&(r=n.lastIndexOf(`
|
|
24
|
-
`,r)),r!==-1)n=n.slice(0,r);else return``;return n},Te=e=>!!(e.functionName&&e.fileName&&(e.fileName.startsWith(`rsc://`)||e.fileName.startsWith(`about://React/`))),Ee=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,De=e=>{let t=new Map;for(let n of e)for(let e of n.stackFrames){if(!Te(e))continue;let n=e.functionName,r=t.get(n)??[];r.some(t=>Ee(t,e))||(r.push(e),t.set(n,r))}return t},Oe=(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(`(at Server)`,`(${a.fileName}:${a.lineNumber}:${a.columnNumber})`)}},ke=e=>{let t=[];return r(e,e=>{if(!xe(e))return;let r=typeof e.type==`string`?e.type:n(e.type)||`<anonymous>`;t.push({componentName:r,stackFrames:m(P(e._debugStack?.stack))})},!0),t},F=async(e,t=!0,n)=>{let r=ke(e),i=m(N(e)),a=De(r),o=new Map;return be(i.map(e=>(e.source?.includes(`(at Server)`)??!1)||e.source!=null&&u.test(e.source)?Oe(e,a,o):e).filter((e,t,n)=>{if(t===0)return!0;let r=n[t-1];return e.functionName!==r.functionName}),t,n)},I=e=>{let t=e._debugSource;return t?typeof t==`object`&&!!t&&`fileName`in t&&typeof t.fileName==`string`&&`lineNumber`in t&&typeof t.lineNumber==`number`:!1},Ae=async(e,t=!0,n)=>{if(I(e))return e._debugSource||null;let r=await F(e,t,n);for(let e of r)if(e.fileName)return{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName};return null},L=e=>e.split(`/`).filter(Boolean).length,je=e=>e.split(`/`).filter(Boolean)[0]??null,Me=e=>{let t=e.indexOf(`/`,1);if(t===-1||L(e.slice(0,t))!==1)return e;let n=e.slice(t);if(!s.test(n)||L(n)<2)return e;let r=je(n);return!r||r.startsWith(`@`)||r.length>4?e:n},R=e=>{if(!e||o.some(t=>t===e))return``;let t=e,n=t.startsWith(`http://`)||t.startsWith(`https://`);if(n)try{t=new URL(t).pathname}catch{}if(n&&(t=Me(t)),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 r=!0;for(;r;){r=!1;for(let e of a)if(t.startsWith(e)){t=t.slice(e.length),e===`file:///`&&(t=`/${t.replace(/^\/+/,``)}`),r=!0;break}}if(i.test(t)){let e=t.match(i);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);l.test(e)&&(t=t.slice(0,s))}return t},Ne=e=>{let t=R(e);return!(!t||!s.test(t)||c.test(t))},Pe=(e,t)=>{let n=e.split(`
|
|
9
|
+
import{i as e,r as t}from"./rdt-hook.js";import{getDisplayName as n}from"./core.js";import{a as r,c as i,d as a,i as o,l as s,n as c,o as l,r as u,s as d,t as f,u as p}from"./get-source.js";const m=(e,t)=>{let n=e.split(`
|
|
25
10
|
`),r=t-1;if(r<0||r>=n.length)return null;let i=Math.max(0,r-5),a=Math.min(n.length,r+5),o=n.slice(i,a).join(`
|
|
26
|
-
`),s=/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/m,c=/(?:^|export\s+)function\s+(\w+)/m,l=/(?:^|export\s+)class\s+(\w+)/m,u=o.match(s);if(u?.[1])return u[1];let d=o.match(c);if(d?.[1])return d[1];let f=o.match(l);return f?.[1]?f[1]:null},Fe=async(e,t=!0,r)=>{let i=(await F(e,t,r)).filter(e=>e.fileName)[0];if(!i?.fileName)return n(e.type);let a=await O(i.fileName,t,r);if(!a)return n(e.type);let o=null;if(typeof i.lineNumber==`number`&&typeof i.columnNumber==`number`&&(o=E(a,i.lineNumber,i.columnNumber)),!o?.fileName||!o.lineNumber||!a.sourcesContent)return n(e.type);let s=a.sources.indexOf(o.fileName);if(s===-1||!a.sourcesContent[s])return n(e.type);let c=a.sourcesContent[s];return Pe(c,o.lineNumber)||n(e.type)},z=Symbol.for(`react.context`),Ie=Symbol.for(`react.memo_cache_sentinel`);let B=[],V=null,H=null,U=null,W=null,G=0,K=null;const q=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render."),J=e=>m(e.stack||``,{includeInElement:!1}),Y=()=>{let e=U;return e!==null&&(U=e.next),e},X=e=>{if(H===null)return e._currentValue;if(W===null)throw Error(`Context reads do not line up with context dependencies.`);if(Object.prototype.hasOwnProperty.call(W,`memoizedValue`)){let e=W.memoizedValue;return W=W.next,e}return e._currentValue},Le=()=>{let n=t(),r=[...e,...n.renderers.values()];for(let e of r){let t=e.currentDispatcherRef;if(t&&typeof t==`object`)return t}return null},Re=e=>`H`in e?e.H:e.current,ze=(e,t)=>{`H`in e?e.H=t:e.current=t},Z=(e,t,n,r=null)=>{B.push({displayName:r,primitive:e,stackError:Error(),value:t,dispatcherHookName:n})},Be=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.then==`function`){let e=K!==null&&G<K.length?K[G++]:t;switch(e.status){case`fulfilled`:return Z(`Promise`,e.value,`Use`),e.value;case`rejected`:throw e.reason}throw Z(`Unresolved`,e,`Use`),q}if(t.$$typeof===z&&`_currentValue`in t){let e=t,n=X(e);return Z(`Context (use)`,n,`Use`,e.displayName||`Context`),n}}throw Error(`An unsupported type was passed to use(): `+String(e))},Ve=e=>{let t=X(e);return Z(`Context`,t,`Context`,e.displayName||null),t},He=e=>{let t=Y(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return Z(`State`,n,`State`),[n,()=>{}]},Ue=(e,t,n)=>{let r=Y(),i=r===null?n===void 0?t:n(t):r.memoizedState;return Z(`Reducer`,i,`Reducer`),[i,()=>{}]},We=e=>{let t=Y(),n=t===null?{current:e}:t.memoizedState;return Z(`Ref`,n.current,`Ref`),n},Ge=()=>{let e=Y();return Z(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},Ke=e=>{Y(),Z(`LayoutEffect`,e,`LayoutEffect`)},qe=e=>{Y(),Z(`InsertionEffect`,e,`InsertionEffect`)},Je=e=>{Y(),Z(`Effect`,e,`Effect`)},Ye=e=>{Y();let t;typeof e==`object`&&e&&`current`in e&&(t=e.current),Z(`ImperativeHandle`,t,`ImperativeHandle`)},Xe=(e,t)=>{Z(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},Ze=e=>{let t=Y();return Z(`Callback`,t===null?e:t.memoizedState[0],`Callback`),e},Qe=e=>{let t=Y(),n=t===null?e():t.memoizedState[0];return Z(`Memo`,n,`Memo`),n},$e=(e,t)=>{let n=Y();Y();let r=n===null?t():n.memoizedState;return Z(`SyncExternalStore`,r,`SyncExternalStore`),r},et=()=>{let e=Y();Y();let t=e===null?!1:e.memoizedState;return Z(`Transition`,t,`Transition`),[t,()=>{}]},tt=e=>{let t=Y(),n=t===null?e:t.memoizedState;return Z(`DeferredValue`,n,`DeferredValue`),n},nt=()=>{let e=Y(),t=e===null?``:e.memoizedState;return Z(`Id`,t,`Id`),t},rt=e=>{let t=H;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},()=>Ie)),n.index++,r},it=e=>{let t=Y(),n=t===null?e:t.memoizedState;return Z(`Optimistic`,n,`Optimistic`),[n,()=>{}]},at=(e,t)=>{let n,r=null;if(e!==null){let t=e.memoizedState;if(typeof t==`object`&&t&&`then`in t&&typeof t.then==`function`){let e=t;switch(e.status){case`fulfilled`:n=e.value;break;case`rejected`:r=e.reason;break;default:r=q,n=e}}else n=t}else n=t;return{value:n,error:r}},ot=e=>(t,n)=>{let r=Y();Y(),Y();let i=Error(),{value:a,error:o}=at(r,n);if(B.push({displayName:null,primitive:e,stackError:i,value:a,dispatcherHookName:e}),o!==null)throw o;return[a,()=>{},!1]},st=ot(`ActionState`),Q={readContext:X,use:Be,useCallback:Ze,useContext:Ve,useEffect:Je,useImperativeHandle:Ye,useLayoutEffect:Ke,useInsertionEffect:qe,useMemo:Qe,useReducer:Ue,useRef:We,useState:He,useDebugValue:Xe,useDeferredValue:tt,useTransition:et,useSyncExternalStore:$e,useId:nt,useHostTransitionStatus:()=>{let e=X({_currentValue:null});return Z(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:ot(`FormState`),useActionState:st,useOptimistic:it,useMemoCache:rt,useCacheRefresh:Ge,useEffectEvent:e=>(Y(),Z(`EffectEvent`,e,`EffectEvent`),e)},ct=typeof Proxy>`u`?Q:new Proxy(Q,{get(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let n=Error(`Missing method in Dispatcher: `+t);throw n.name=`ReactDebugToolsUnsupportedHookError`,n}}),lt=()=>{if(V!==null)return V;let e=new Map,t;try{if(Q.useContext({_currentValue:null}),Q.useState(null),Q.useReducer(e=>e,null),Q.useRef(null),typeof Q.useCacheRefresh==`function`&&Q.useCacheRefresh(),Q.useLayoutEffect(()=>{}),Q.useInsertionEffect(()=>{}),Q.useEffect(()=>{}),Q.useImperativeHandle(void 0,()=>null),Q.useDebugValue(null),Q.useCallback(()=>{}),Q.useTransition(),Q.useSyncExternalStore(()=>()=>{},()=>null,()=>null),Q.useDeferredValue(null),Q.useMemo(()=>null),Q.useOptimistic(null,e=>e),Q.useFormState(e=>e,null),Q.useActionState(e=>e,null),Q.useHostTransitionStatus(),typeof Q.useMemoCache==`function`&&Q.useMemoCache(0),typeof Q.use==`function`){Q.use({$$typeof:z,_currentValue:null}),Q.use({then(){},status:`fulfilled`,value:null});try{Q.use({then(){}})}catch{}}Q.useId(),typeof Q.useEffectEvent==`function`&&Q.useEffectEvent(()=>{})}finally{t=B,B=[]}for(let n of t)e.set(n.primitive,J(n.stackError));return V=e,V};let ut=0;const dt=(e,t,n)=>{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},ft=(e,t)=>{let n=dt(t,e,ut);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=dt(t,e,r),n!==-1)return ut=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)},pt=(e,t)=>{let n=$(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},mt=(e,t)=>{let n=lt().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&&pt(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&pt(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},ht=(e,t)=>{let n=J(t.stackError),r=ft(e,n),i=mt(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)]},gt=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),_t=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=ht(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,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=gt.has(u)?null:a++,f=u===`Reducer`||u===`State`,ee=l||u,p=c?.[0],m={lineNumber:p?.lineNumber??null,columnNumber:p?.columnNumber??null,functionName:p?.functionName??null,fileName:p?.fileName??null};i.push({id:d,isStateEditable:f,name:ee,value:s.value,subHooks:[],hookSource:m})}return vt(n,null),n},vt=(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)):vt(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},yt=(e,t)=>{let n=t;for(;n;){if(n.tag===10){let t=n.type;`_context`in t&&t._context!==void 0&&(t=t._context),e.has(t)||(e.set(t,t._currentValue),t._currentValue=n.memoizedProps.value)}n=n.return}},bt=e=>{e.forEach((e,t)=>{t._currentValue=e})},xt=e=>{if(e===q)return;if(e instanceof Error&&e.name===`ReactDebugToolsUnsupportedHookError`)throw e;let t=Error(`Error rendering inspected component`,{cause:e});throw t.name=`ReactDebugToolsRenderError`,t.cause=e,t},St=(e,t)=>{if(e&&typeof e==`object`&&`defaultProps`in e&&e.defaultProps){let n={...t},r=e.defaultProps;for(let e in r)n[e]===void 0&&(n[e]=r[e]);return n}return t},Ct=()=>{let e={};for(let t in console)try{e[t]=console[t],console[t]=()=>{}}catch{}return e},wt=e=>{for(let t in e)try{console[t]=e[t]}catch{}},Tt=(e,t)=>{let n=Re(e);ze(e,ct);let r=[],i;try{i=Error(),t()}catch(e){xt(e)}finally{r=B,B=[],ze(e,n)}return _t(i===void 0?[]:J(i),r)},Et=()=>{let e=Le();if(!e)throw Error(`No React renderer found. Make sure React is loaded and bippy's hook is installed.`);return e},Dt=e=>{if(Object.prototype.hasOwnProperty.call(e,`dependencies`)){let t=e.dependencies;W=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_old`)){let t=e.dependencies_old;W=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_new`)){let t=e.dependencies_new;W=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`contextDependencies`)){let t=e.contextDependencies;W=t===null?null:t.first}else throw Error(`Unsupported React version.`)},Ot=e=>{let t=Et();if(e.tag!==0&&e.tag!==15&&e.tag!==11)throw Error(`Unknown Fiber. Needs to be a function component to inspect hooks.`);lt(),U=e.memoizedState,H=e;let n=e.dependencies&&e.dependencies._debugThenableState,r=n?n.thenables||n:null;K=Array.isArray(r)?r:null,G=0,Dt(e);let i=e.type,a=e.memoizedProps;i!==e.elementType&&(a=St(i,a));let o=Ct(),s=new Map;try{return W!==null&&!Object.prototype.hasOwnProperty.call(W,`memoizedValue`)&&yt(s,e),e.tag===11?Tt(t,()=>{i.render(a,e.ref)}):Tt(t,()=>{i(a)})}finally{H=null,U=null,W=null,K=null,G=0,bt(s),wt(o)}},kt=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),At=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:[\w$.]+\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,jt=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,Mt=e=>{let t=[],n=e=>{for(let r of e)kt.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},Nt=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},Pt=(e,t)=>{let n=Nt(e.sources,e.sourcesContent,t);if(n)return n;if(e.sections)for(let n of e.sections){let e=Nt(n.map.sources,n.map.sourcesContent,t);if(e)return e}return null},Ft=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},It=(e,t,n)=>{let r=e.split(`
|
|
11
|
+
`),s=/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/m,c=/(?:^|export\s+)function\s+(\w+)/m,l=/(?:^|export\s+)class\s+(\w+)/m,u=o.match(s);if(u?.[1])return u[1];let d=o.match(c);if(d?.[1])return d[1];let f=o.match(l);return f?.[1]?f[1]:null},h=async(e,t=!0,r)=>{let a=(await l(e,t,r)).filter(e=>e.fileName)[0];if(!a?.fileName)return n(e.type);let o=await s(a.fileName,t,r);if(!o)return n(e.type);let c=null;if(typeof a.lineNumber==`number`&&typeof a.columnNumber==`number`&&(c=i(o,a.lineNumber,a.columnNumber)),!c?.fileName||!c.lineNumber||!o.sourcesContent)return n(e.type);let u=o.sources.indexOf(c.fileName);if(u===-1||!o.sourcesContent[u])return n(e.type);let d=o.sourcesContent[u];return m(d,c.lineNumber)||n(e.type)},g=Symbol.for(`react.context`),ee=Symbol.for(`react.memo_cache_sentinel`);let _=[],v=null,y=null,b=null,x=null,S=0,C=null;const w=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render."),T=e=>a(e.stack||``,{includeInElement:!1}),E=()=>{let e=b;return e!==null&&(b=e.next),e},D=e=>{if(y===null)return e._currentValue;if(x===null)throw Error(`Context reads do not line up with context dependencies.`);if(Object.prototype.hasOwnProperty.call(x,`memoizedValue`)){let e=x.memoizedValue;return x=x.next,e}return e._currentValue},te=()=>{let n=e(),r=[...t,...n.renderers.values()];for(let e of r){let t=e.currentDispatcherRef;if(t&&typeof t==`object`)return t}return null},O=e=>`H`in e?e.H:e.current,k=(e,t)=>{`H`in e?e.H=t:e.current=t},A=(e,t,n,r=null)=>{_.push({displayName:r,primitive:e,stackError:Error(),value:t,dispatcherHookName:n})},ne=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.then==`function`){let e=C!==null&&S<C.length?C[S++]:t;switch(e.status){case`fulfilled`:return A(`Promise`,e.value,`Use`),e.value;case`rejected`:throw e.reason}throw A(`Unresolved`,e,`Use`),w}if(t.$$typeof===g&&`_currentValue`in t){let e=t,n=D(e);return A(`Context (use)`,n,`Use`,e.displayName||`Context`),n}}throw Error(`An unsupported type was passed to use(): `+String(e))},re=e=>{let t=D(e);return A(`Context`,t,`Context`,e.displayName||null),t},ie=e=>{let t=E(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return A(`State`,n,`State`),[n,()=>{}]},ae=(e,t,n)=>{let r=E(),i=r===null?n===void 0?t:n(t):r.memoizedState;return A(`Reducer`,i,`Reducer`),[i,()=>{}]},oe=e=>{let t=E(),n=t===null?{current:e}:t.memoizedState;return A(`Ref`,n.current,`Ref`),n},se=()=>{let e=E();return A(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},ce=e=>{E(),A(`LayoutEffect`,e,`LayoutEffect`)},le=e=>{E(),A(`InsertionEffect`,e,`InsertionEffect`)},ue=e=>{E(),A(`Effect`,e,`Effect`)},j=e=>{E();let t;typeof e==`object`&&e&&`current`in e&&(t=e.current),A(`ImperativeHandle`,t,`ImperativeHandle`)},M=(e,t)=>{A(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},N=e=>{let t=E();return A(`Callback`,t===null?e:t.memoizedState[0],`Callback`),e},P=e=>{let t=E(),n=t===null?e():t.memoizedState[0];return A(`Memo`,n,`Memo`),n},F=(e,t)=>{let n=E();E();let r=n===null?t():n.memoizedState;return A(`SyncExternalStore`,r,`SyncExternalStore`),r},I=()=>{let e=E();E();let t=e===null?!1:e.memoizedState;return A(`Transition`,t,`Transition`),[t,()=>{}]},L=e=>{let t=E(),n=t===null?e:t.memoizedState;return A(`DeferredValue`,n,`DeferredValue`),n},R=()=>{let e=E(),t=e===null?``:e.memoizedState;return A(`Id`,t,`Id`),t},z=e=>{let t=y;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},()=>ee)),n.index++,r},B=e=>{let t=E(),n=t===null?e:t.memoizedState;return A(`Optimistic`,n,`Optimistic`),[n,()=>{}]},V=(e,t)=>{let n,r=null;if(e!==null){let t=e.memoizedState;if(typeof t==`object`&&t&&`then`in t&&typeof t.then==`function`){let e=t;switch(e.status){case`fulfilled`:n=e.value;break;case`rejected`:r=e.reason;break;default:r=w,n=e}}else n=t}else n=t;return{value:n,error:r}},H=e=>(t,n)=>{let r=E();E(),E();let i=Error(),{value:a,error:o}=V(r,n);if(_.push({displayName:null,primitive:e,stackError:i,value:a,dispatcherHookName:e}),o!==null)throw o;return[a,()=>{},!1]},U=H(`ActionState`),W={readContext:D,use:ne,useCallback:N,useContext:re,useEffect:ue,useImperativeHandle:j,useLayoutEffect:ce,useInsertionEffect:le,useMemo:P,useReducer:ae,useRef:oe,useState:ie,useDebugValue:M,useDeferredValue:L,useTransition:I,useSyncExternalStore:F,useId:R,useHostTransitionStatus:()=>{let e=D({_currentValue:null});return A(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:H(`FormState`),useActionState:U,useOptimistic:B,useMemoCache:z,useCacheRefresh:se,useEffectEvent:e=>(E(),A(`EffectEvent`,e,`EffectEvent`),e)},de=typeof Proxy>`u`?W:new Proxy(W,{get(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let n=Error(`Missing method in Dispatcher: `+t);throw n.name=`ReactDebugToolsUnsupportedHookError`,n}}),G=()=>{if(v!==null)return v;let e=new Map,t;try{if(W.useContext({_currentValue:null}),W.useState(null),W.useReducer(e=>e,null),W.useRef(null),typeof W.useCacheRefresh==`function`&&W.useCacheRefresh(),W.useLayoutEffect(()=>{}),W.useInsertionEffect(()=>{}),W.useEffect(()=>{}),W.useImperativeHandle(void 0,()=>null),W.useDebugValue(null),W.useCallback(()=>{}),W.useTransition(),W.useSyncExternalStore(()=>()=>{},()=>null,()=>null),W.useDeferredValue(null),W.useMemo(()=>null),W.useOptimistic(null,e=>e),W.useFormState(e=>e,null),W.useActionState(e=>e,null),W.useHostTransitionStatus(),typeof W.useMemoCache==`function`&&W.useMemoCache(0),typeof W.use==`function`){W.use({$$typeof:g,_currentValue:null}),W.use({then(){},status:`fulfilled`,value:null});try{W.use({then(){}})}catch{}}W.useId(),typeof W.useEffectEvent==`function`&&W.useEffectEvent(()=>{})}finally{t=_,_=[]}for(let n of t)e.set(n.primitive,T(n.stackError));return v=e,v};let K=0;const q=(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},fe=(e,t)=>{let n=q(t,e,K);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=q(t,e,r),n!==-1)return K=r,n;return-1},J=e=>{if(!e)return``;let t=e.lastIndexOf(`[as `);if(t!==-1)return J(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)},Y=(e,t)=>{let n=J(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},pe=(e,t)=>{let n=G().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&&Y(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&Y(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},me=(e,t)=>{let n=T(t.stackError),r=fe(e,n),i=pe(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)]},he=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),ge=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=me(e,s),l=s.displayName;if(l===null&&t!==null&&(l=J(t.functionName)||J(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:J(c[t-1].functionName),value:void 0,subHooks:e,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=he.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:[],hookSource:h})}return X(n,null),n},X=(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)):X(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},_e=(e,t)=>{let n=t;for(;n;){if(n.tag===10){let t=n.type;`_context`in t&&t._context!==void 0&&(t=t._context),e.has(t)||(e.set(t,t._currentValue),t._currentValue=n.memoizedProps.value)}n=n.return}},ve=e=>{e.forEach((e,t)=>{t._currentValue=e})},ye=e=>{if(e===w)return;if(e instanceof Error&&e.name===`ReactDebugToolsUnsupportedHookError`)throw e;let t=Error(`Error rendering inspected component`,{cause:e});throw t.name=`ReactDebugToolsRenderError`,t.cause=e,t},be=(e,t)=>{if(e&&typeof e==`object`&&`defaultProps`in e&&e.defaultProps){let n={...t},r=e.defaultProps;for(let e in r)n[e]===void 0&&(n[e]=r[e]);return n}return t},xe=()=>{let e={};for(let t in console)try{e[t]=console[t],console[t]=()=>{}}catch{}return e},Se=e=>{for(let t in e)try{console[t]=e[t]}catch{}},Z=(e,t)=>{let n=O(e);k(e,de);let r=[],i;try{i=Error(),t()}catch(e){ye(e)}finally{r=_,_=[],k(e,n)}return ge(i===void 0?[]:T(i),r)},Ce=()=>{let e=te();if(!e)throw Error(`No React renderer found. Make sure React is loaded and bippy's hook is installed.`);return e},we=e=>{if(Object.prototype.hasOwnProperty.call(e,`dependencies`)){let t=e.dependencies;x=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_old`)){let t=e.dependencies_old;x=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_new`)){let t=e.dependencies_new;x=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`contextDependencies`)){let t=e.contextDependencies;x=t===null?null:t.first}else throw Error(`Unsupported React version.`)},Te=e=>{let t=Ce();if(e.tag!==0&&e.tag!==15&&e.tag!==11)throw Error(`Unknown Fiber. Needs to be a function component to inspect hooks.`);G(),b=e.memoizedState,y=e;let n=e.dependencies&&e.dependencies._debugThenableState,r=n?n.thenables||n:null;C=Array.isArray(r)?r:null,S=0,we(e);let i=e.type,a=e.memoizedProps;i!==e.elementType&&(a=be(i,a));let o=xe(),s=new Map;try{return x!==null&&!Object.prototype.hasOwnProperty.call(x,`memoizedValue`)&&_e(s,e),e.tag===11?Z(t,()=>{i.render(a,e.ref)}):Z(t,()=>{i(a)})}finally{y=null,b=null,x=null,C=null,S=0,ve(s),Se(o)}},Ee=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),De=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:[\w$.]+\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,Oe=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,Q=e=>{let t=[],n=e=>{for(let r of e)Ee.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},$=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},ke=(e,t)=>{let n=$(e.sources,e.sourcesContent,t);if(n)return n;if(e.sections)for(let n of e.sections){let e=$(n.map.sources,n.map.sourcesContent,t);if(e)return e}return null},Ae=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},je=(e,t,n)=>{let r=e.split(`
|
|
27
12
|
`),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(`
|
|
28
|
-
`),s=[...o.matchAll(
|
|
29
|
-
`)+1+n,l=s.filter(e=>e.index<=c).at(-1);return l?
|
|
13
|
+
`),s=[...o.matchAll(De)],c=o.lastIndexOf(`
|
|
14
|
+
`)+1+n,l=s.filter(e=>e.index<=c).at(-1);return l?Ae(l[1]):null},Me=async(e,t,n,r)=>{let{sourceMapsByFile:a,sourceContentCache:o,fetchFn:c}=r;a.has(e)||a.set(e,await s(e,!0,c));let l=a.get(e)??null;if(l){let r=i(l,t,n);if(r?.fileName&&r.lineNumber!==void 0){let t=`sourcemap:${e}:${r.fileName}`;o.has(t)||o.set(t,ke(l,r.fileName));let n=o.get(t)??null;if(n)return{sourceCode:n,lineNumber:r.lineNumber,columnNumber:r.columnNumber??0}}}if(!o.has(e))try{let t=await(c??fetch)(e);o.set(e,t.ok?await t.text():null)}catch{o.set(e,null)}let u=o.get(e)??null;return u?{sourceCode:u,lineNumber:t,columnNumber:n}:null},Ne=async(e,t)=>{let n=new Map,r=Q(e);if(r.length===0)return n;let i={sourceMapsByFile:new Map,sourceContentCache:new Map,fetchFn:t};return await Promise.all(r.map(async e=>{let t=e.hookSource;if(!t||!t.fileName||t.lineNumber===null||t.columnNumber===null)return;let r=await Me(t.fileName,t.lineNumber,t.columnNumber,i);if(!r)return;let a=je(r.sourceCode,r.lineNumber,r.columnNumber);if(a){let e=Oe(t);n.set(e,a)}})),n};export{o as formatOwnerStack,h as getDisplayNameFromSource,Te as getFiberHooks,r as getOwnerStack,l as getParentStack,f as getSource,i as getSourceFromSourceMap,s as getSourceMap,d as hasDebugStack,c as isSourceFile,u as normalizeFileName,Ne as parseHookNames,a as parseStack,p as symbolicateStack};
|