bippy 0.6.1-dev.61475ed → 0.6.1-dev.93556ef

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.
Files changed (67) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +51 -48
  3. package/dist/core.cjs +1 -1
  4. package/dist/core.d.cts +45 -60
  5. package/dist/core.d.ts +45 -60
  6. package/dist/core.js +1 -1
  7. package/dist/core2.cjs +9 -0
  8. package/dist/core2.d.cts +11 -3
  9. package/dist/core2.d.ts +11 -3
  10. package/dist/core2.js +9 -0
  11. package/dist/errors.d.cts +410 -0
  12. package/dist/errors.d.ts +410 -0
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.d.cts +11 -3
  15. package/dist/index.d.ts +11 -3
  16. package/dist/index.iife.js +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/install-hook-only.cjs +1 -1
  19. package/dist/install-hook-only.d.cts +9 -1
  20. package/dist/install-hook-only.d.ts +9 -1
  21. package/dist/install-hook-only.iife.js +1 -1
  22. package/dist/install-hook-only.js +1 -1
  23. package/dist/rdt-hook.cjs +1 -1
  24. package/dist/rdt-hook.js +1 -1
  25. package/dist/source.cjs +14 -5
  26. package/dist/source.d.cts +86 -69
  27. package/dist/source.d.ts +86 -69
  28. package/dist/source.js +14 -5
  29. package/package.json +22 -16
  30. package/src/core.ts +348 -344
  31. package/src/errors.ts +34 -0
  32. package/src/install-hook-only.ts +2 -2
  33. package/src/rdt-hook.ts +160 -161
  34. package/src/react-internals/generated/react-work-tags.ts +318 -0
  35. package/src/react-internals/index.ts +67 -0
  36. package/src/react-internals/semver.ts +80 -0
  37. package/src/react-internals/types.ts +186 -0
  38. package/src/source/constants.ts +1 -1
  39. package/src/source/error-stack.ts +11 -0
  40. package/src/source/get-display-name-from-source.ts +44 -40
  41. package/src/source/get-source.ts +43 -26
  42. package/src/source/index.ts +11 -1
  43. package/src/source/inspect-hooks.ts +220 -207
  44. package/src/source/owner-stack.ts +119 -174
  45. package/src/source/parse-debug-stack.ts +4 -4
  46. package/src/source/parse-hook-names.ts +14 -53
  47. package/src/source/parse-stack.ts +14 -31
  48. package/src/source/renderer-dispatchers.ts +30 -0
  49. package/src/source/symbolication.ts +709 -120
  50. package/dist/get-source.cjs +0 -19
  51. package/dist/get-source.js +0 -19
  52. package/dist/react-refresh.cjs +0 -9
  53. package/dist/react-refresh.d.cts +0 -66
  54. package/dist/react-refresh.d.ts +0 -66
  55. package/dist/react-refresh.js +0 -9
  56. package/dist/unsubscribe.d.cts +0 -298
  57. package/dist/unsubscribe.d.ts +0 -298
  58. package/src/react-refresh/constants.ts +0 -9
  59. package/src/react-refresh/detect-hmr-transport.ts +0 -33
  60. package/src/react-refresh/index.ts +0 -173
  61. package/src/react-refresh/metro-hmr-transport.ts +0 -188
  62. package/src/react-refresh/next-webpack-hmr-transport.ts +0 -72
  63. package/src/react-refresh/normalize-hmr-file-path.ts +0 -24
  64. package/src/react-refresh/types.ts +0 -7
  65. package/src/react-refresh/vite-hmr-transport.ts +0 -116
  66. package/src/types.ts +0 -438
  67. package/src/unsubscribe.ts +0 -17
@@ -1,19 +0,0 @@
1
- /**
2
- * @license bippy
3
- *
4
- * Copyright (c) Aiden Bai
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
- const e=require(`./rdt-hook.cjs`),t=require(`./core.cjs`),n=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,r=[`rsc://`,`file:///`,`webpack-internal://`,`webpack://`,`node:`,`turbopack://`,`metro://`,`/app-pages-browser/`,`/(app-pages-browser)/`],i=[`rsc://`,`about://React/`],a=[`<anonymous>`,`eval`,``],o=/\.(jsx|tsx|ts|js)$/,s=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,c=/^\?[\w~.-]+(?:=[^&#]*)?(?:&[\w~.-]+(?:=[^&#]*)?)*$/,l=/\(at [^)]+\)$/,u=[`react_stack_bottom_frame`,`react-stack-bottom-frame`],d=/(^|@)\S+:\d+/,f=/^\s*at .*(\S+:\d+|\(native\))/m,ee=/^(eval@)?(\[native code\])?$/,p=(e,t)=>{if(t?.includeInElement!==!1){let n=e.split(`
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(d)){let t=_(e,void 0)[0];t&&r.push(t)}return h(r,t)}return e.match(f)?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,g=(e,t)=>h(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=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}}),_=(e,t)=>h(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=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}}}),v=new WeakMap,y=e=>u.some(t=>e.includes(t)),te=e=>{let t=e.getFunctionName?.()??``;if(t)return t;let n=e.getTypeName?.()??``,r=e.getMethodName?.()??``;return n&&r?`${n}.${r}`:r},ne=e=>{let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=te(r);if(y(i))return{frames:t,isTrusted:!0};if(r.isNative?.()){t.push({functionName:i||void 0});continue}let a=r.getScriptNameOrSourceURL?.()??``;!a&&r.isEval?.()&&(a=r.getEvalOrigin?.()??``),t.push({functionName:i&&i!==`<anonymous>`?i:void 0,fileName:a&&a!==`<anonymous>`?a:void 0,lineNumber:r.getLineNumber?.()??void 0,columnNumber:r.getColumnNumber?.()??void 0,enclosingLineNumber:r.getEnclosingLineNumber?.()??void 0,enclosingColumnNumber:r.getEnclosingColumnNumber?.()??void 0,source:` at ${r.toString()}`})}return{frames:t,isTrusted:!1}},re=e=>{let t=-1;for(let n of u)if(t=e.indexOf(n),t!==-1)break;return{frames:p(t===-1?e:e.slice(0,e.lastIndexOf(`
13
- `,t))).slice(1),isTrusted:t!==-1}},b=e=>{let t=v.get(e);if(t)return t;let n=null,r=(e,t)=>{n=ne(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=Error.prepareStackTrace;Error.prepareStackTrace=r;let a;try{a=String(e.stack)}finally{Error.prepareStackTrace=i}let o=n??re(a);return v.set(e,o),o};var x=44,S=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,ie=new Uint8Array(64),C=new Uint8Array(128);for(let e=0;e<S.length;e++){let t=S.charCodeAt(e);ie[e]=t,C[t]=e}function w(e,t){let n=0,r=0,i=0;do i=C[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 T(e,t){return e.pos>=t?!1:e.peek()!==x}var ae=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function E(e){let{length:t}=e,n=new ae(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=w(n,i),i<u&&(l=!1),u=i,T(n,e)?(a=w(n,a),o=w(n,o),s=w(n,s),T(n,e)?(c=w(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||oe(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function oe(e){e.sort(se)}function se(e,t){return e[0]-t[0]}const D=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,O=/^data:application\/json[^,]+base64,/,ce=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,k=new Map,A=new Map,j=(e,t,n,r,i)=>{if(n<0||n>=e.length)return null;let a=e[n];if(!a||a.length===0)return null;let o=null,s=0,c=a.length-1;for(;s<=c;){let e=s+c>>1;a[e][0]<=r?(o=a[e],s=e+1):c=e-1}if(!o||o.length<4)return null;let[,l,u,d]=o;if(l===void 0||u===void 0||d===void 0)return null;let f=t[l];return f?{columnNumber:d,fileName:f,lineNumber:u+1,isIgnoreListed:i?.has(l)??!1}:null},M=(e,t,n)=>{if(e.sections){let r=t-1,i=null;for(let t of e.sections)if(r>t.offset.line||r===t.offset.line&&n>=t.offset.column)i=t;else break;if(!i)return null;let a=r-i.offset.line,o=r===i.offset.line?n-i.offset.column:n;return j(i.map.mappings,i.map.sources,a,o,i.map.ignoredSourceIndices)}return j(e.mappings,e.sources,t-1,n,e.ignoredSourceIndices)},le=(e,t)=>{let n,r=t.length;for(;r>0&&!n;){let e=t.lastIndexOf(`
14
- `,r-1)+1,i=t.slice(e,r).match(ce);i&&(n=i[1]||i[2]),r=e-1}if(!n)return null;let i=D.test(n);if(!(O.test(n)||i||n.startsWith(`/`))){let t=e.split(`/`);t[t.length-1]=n,n=t.join(`/`)}return n},N=e=>{let t=e.ignoreList??e.x_google_ignoreList;return Array.isArray(t)&&t.length>0?new Set(t):void 0},ue=e=>({file:e.file,ignoredSourceIndices:N(e),mappings:E(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,version:3}),de=e=>{let t=e.sections.map(({map:e,offset:t})=>({map:{...e,ignoredSourceIndices:N(e),mappings:E(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}},P=e=>{if(!e)return!1;let t=e.trim();if(!t)return!1;let n=t.match(D);if(!n)return!0;let r=n[0].toLowerCase();return r===`http:`||r===`https:`},fe=async(e,t=fetch)=>{if(!P(e))return null;let n=await t(e);if(!n.ok)return null;let r=await n.text();if(!r)return null;let i=le(e,r);if(!i||!P(i)&&!O.test(i))return null;let a=await t(i);if(!a.ok)return null;try{let e=await a.json();return`sections`in e?de(e):ue(e)}catch{return null}},F=async(e,t=!0,n)=>{if(t&&k.has(e))return k.get(e)??null;let r=t?A.get(e):void 0;if(r)return(await r).sourceMap;let i=fe(e,n).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));t&&A.set(e,i);let{sourceMap:a,isTransientFailure:o}=await i;return t&&(A.delete(e),o||k.set(e,a)),a},I=async(e,t=!0,n)=>await Promise.all(e.map(async e=>{if(!e.fileName)return e;let r=await F(e.fileName,t,n);if(!r||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let i=M(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,isIgnoreListed:i.isIgnoreListed,isSymbolicated:!0}:e})),L=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,R=e=>typeof e.tag==`number`,z=e=>e._debugOwner,B=e=>{let n=null;if(t.traverseFiber(e,t=>{if(t===e)return!1;let r=t._debugOwner;return(r===e||e.alternate!==null&&r===e.alternate)&&t._debugStack instanceof Error?(n=t._debugStack,!0):!1}),!n)return null;let{frames:r,isTrusted:i}=b(n);if(!i)return null;for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.fileName)return{...t,lineNumber:t.enclosingLineNumber||t.lineNumber,columnNumber:t.enclosingColumnNumber||t.columnNumber}}return null},V=()=>{let t=e.i();for(let n of[...Array.from(e.r),...Array.from(t.renderers.values())]){let e=n.currentDispatcherRef;if(e&&typeof e==`object`)return`H`in e?e.H:e.current}return null},H=t=>{for(let n of e.r){let e=n.currentDispatcherRef;e&&typeof e==`object`&&(`H`in e?e.H=t:e.current=t)}},U=e=>`\n in ${e}`,pe=(e,t)=>{let n=U(e);return t&&(n+=` (at ${t})`),n};let W=!1;const G=new WeakMap,K=(e,n)=>{if(!e||W)return``;let r=G.get(e);if(r!==void 0)return r;let i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,W=!0;let a=V();H(null);let o=console.error,s=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(`
15
- `),r=a.split(`
16
- `),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)),G.set(e,r),r}while(o>=1&&s>=0);break}}}finally{W=!1,Error.prepareStackTrace=i,H(a),console.error=o,console.warn=s}let c=e?t.getDisplayName(e):``,l=c?U(c):``;return G.set(e,l),l},me=(e,t)=>{let n=e.tag,r=``;switch(n){case 28:r=U(`Activity`);break;case 1:r=K(e.type,!0);break;case 11:r=K(e.type.render,!1);break;case 0:case 15:r=K(e.type,!1);break;case 5:case 26:case 27:r=U(e.type);break;case 16:r=U(`Lazy`);break;case 13:r=e.child!==t&&t!==null?U(`Suspense Fallback`):U(`Suspense`);break;case 19:r=U(`SuspenseList`);break;case 30:r=U(`ViewTransition`);break;default:return``}return r},he=e=>{try{let t=``,n=e,r=null;do{t+=me(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+=pe(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}`:``}},q=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
17
- `)&&(n=n.slice(29));let r=n.indexOf(`
18
- `);r!==-1&&(n=n.slice(r+1));let i=Math.max(n.indexOf(`react_stack_bottom_frame`),n.indexOf(`react-stack-bottom-frame`));if(i!==-1&&(i=n.lastIndexOf(`
19
- `,i)),i!==-1)n=n.slice(0,i);else return``;return n},ge=e=>!!(e.functionName&&e.fileName&&J(e.fileName)),_e=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,ve=e=>{let t=new Map;for(let n of e)for(let e of n.stackFrames){if(!ge(e))continue;let n=e.functionName,r=t.get(n)??[];r.some(t=>_e(t,e))||(r.push(e),t.set(n,r))}return t},ye=(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})`)}},J=e=>i.some(t=>e.startsWith(t)),be=e=>!e.isServer&&e.fileName&&J(e.fileName)?{...e,isServer:!0}:e,xe=e=>{let t=[],n=e;for(;n;)if(R(n)){let e=n;if(n=z(e),n&&L(e)){let{frames:n,isTrusted:r}=b(e._debugStack);if(r)for(let e of n)t.push(be(e))}}else{let e=n;if(n=e.owner,n&&e.debugStack instanceof Error)for(let n of b(e.debugStack).frames)t.push({...n,isServer:!0})}return t},Se=e=>{let n=[];return t.traverseFiber(e,e=>{if(!L(e))return;let r=typeof e.type==`string`?e.type:t.getDisplayName(e.type)||`<anonymous>`;n.push({componentName:r,stackFrames:p(q(e._debugStack?.stack))})},!0),n},Y=async(e,t=!0,n)=>{let r=Se(e),i=p(he(e)),a=ve(r),o=new Map;return I(i.map(e=>(e.source?.includes(`(at Server)`)??!1)||e.source!=null&&l.test(e.source)?ye(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)},Ce=e=>!!e.fileName&&!e.isIgnoreListed,X=async(e,n=!0,r)=>{let i=xe(e);if(i.length>0){let a=B(e)??{};a.functionName=t.getDisplayName(e.type)??a.functionName;let o=await I([a,...i],n,r);if(o.some((e,t)=>t>0&&Ce(e)))return o}return Y(e,n,r)},we=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},Z=e=>e.fileName?{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName}:null,Te=e=>{if(!L(e))return null;let{frames:t,isTrusted:n}=b(e._debugStack);if(!n)return null;for(let e of t)if(e.fileName)return e;return null},Ee=async(e,t=!0,n)=>{if(we(e))return e._debugSource||null;let r=Te(e)??B(e);if(r){let[e]=await I([r],t,n),i=Z(e);if(i)return i}let i=await Y(e,t,n);for(let e of i)if(e.fileName)return Z(e);return null},Q=e=>e.split(`/`).filter(Boolean).length,De=e=>e.split(`/`).filter(Boolean)[0]??null,Oe=e=>{let t=e.indexOf(`/`,1);if(t===-1||Q(e.slice(0,t))!==1)return e;let n=e.slice(t);if(!o.test(n)||Q(n)<2)return e;let r=De(n);return!r||r.startsWith(`@`)||r.length>4?e:n},$=e=>{if(!e||a.some(t=>t===e))return``;let t=e,i=t.startsWith(`http://`)||t.startsWith(`https://`);if(i)try{t=new URL(t).pathname}catch{}if(i&&(t=Oe(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 s=t.indexOf(`?`);if(s!==-1){let e=t.slice(s);c.test(e)&&(t=t.slice(0,s))}return t},ke=e=>{let t=$(e);return!(!t||!o.test(t)||s.test(t))};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return I}});
@@ -1,19 +0,0 @@
1
- /**
2
- * @license bippy
3
- *
4
- * Copyright (c) Aiden Bai
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
- import{i as e,r as t}from"./rdt-hook.js";import{getDisplayName as n,traverseFiber as r}from"./core.js";const i=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,a=[`rsc://`,`file:///`,`webpack-internal://`,`webpack://`,`node:`,`turbopack://`,`metro://`,`/app-pages-browser/`,`/(app-pages-browser)/`],o=[`rsc://`,`about://React/`],s=[`<anonymous>`,`eval`,``],c=/\.(jsx|tsx|ts|js)$/,l=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,u=/^\?[\w~.-]+(?:=[^&#]*)?(?:&[\w~.-]+(?:=[^&#]*)?)*$/,d=/\(at [^)]+\)$/,f=[`react_stack_bottom_frame`,`react-stack-bottom-frame`],ee=/(^|@)\S+:\d+/,p=/^\s*at .*(\S+:\d+|\(native\))/m,te=/^(eval@)?(\[native code\])?$/,m=(e,t)=>{if(t?.includeInElement!==!1){let n=e.split(`
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(ee)){let t=v(e,void 0)[0];t&&r.push(t)}return g(r,t)}return e.match(p)?_(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,_=(e,t)=>g(e.split(`
11
- `).filter(e=>!!e.match(p)),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}}),v=(e,t)=>g(e.split(`
12
- `).filter(e=>!e.match(te)),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}}}),y=new WeakMap,ne=e=>f.some(t=>e.includes(t)),re=e=>{let t=e.getFunctionName?.()??``;if(t)return t;let n=e.getTypeName?.()??``,r=e.getMethodName?.()??``;return n&&r?`${n}.${r}`:r},ie=e=>{let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=re(r);if(ne(i))return{frames:t,isTrusted:!0};if(r.isNative?.()){t.push({functionName:i||void 0});continue}let a=r.getScriptNameOrSourceURL?.()??``;!a&&r.isEval?.()&&(a=r.getEvalOrigin?.()??``),t.push({functionName:i&&i!==`<anonymous>`?i:void 0,fileName:a&&a!==`<anonymous>`?a:void 0,lineNumber:r.getLineNumber?.()??void 0,columnNumber:r.getColumnNumber?.()??void 0,enclosingLineNumber:r.getEnclosingLineNumber?.()??void 0,enclosingColumnNumber:r.getEnclosingColumnNumber?.()??void 0,source:` at ${r.toString()}`})}return{frames:t,isTrusted:!1}},ae=e=>{let t=-1;for(let n of f)if(t=e.indexOf(n),t!==-1)break;return{frames:m(t===-1?e:e.slice(0,e.lastIndexOf(`
13
- `,t))).slice(1),isTrusted:t!==-1}},b=e=>{let t=y.get(e);if(t)return t;let n=null,r=(e,t)=>{n=ie(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=Error.prepareStackTrace;Error.prepareStackTrace=r;let a;try{a=String(e.stack)}finally{Error.prepareStackTrace=i}let o=n??ae(a);return y.set(e,o),o};var oe=44,x=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,se=new Uint8Array(64),S=new Uint8Array(128);for(let e=0;e<x.length;e++){let t=x.charCodeAt(e);se[e]=t,S[t]=e}function C(e,t){let n=0,r=0,i=0;do i=S[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 w(e,t){return e.pos>=t?!1:e.peek()!==oe}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 T(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=C(n,i),i<u&&(l=!1),u=i,w(n,e)?(a=C(n,a),o=C(n,o),s=C(n,s),w(n,e)?(c=C(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||E(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function E(e){e.sort(D)}function D(e,t){return e[0]-t[0]}const O=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,k=/^data:application\/json[^,]+base64,/,le=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,A=new Map,j=new Map,M=(e,t,n,r,i)=>{if(n<0||n>=e.length)return null;let a=e[n];if(!a||a.length===0)return null;let o=null,s=0,c=a.length-1;for(;s<=c;){let e=s+c>>1;a[e][0]<=r?(o=a[e],s=e+1):c=e-1}if(!o||o.length<4)return null;let[,l,u,d]=o;if(l===void 0||u===void 0||d===void 0)return null;let f=t[l];return f?{columnNumber:d,fileName:f,lineNumber:u+1,isIgnoreListed:i?.has(l)??!1}:null},N=(e,t,n)=>{if(e.sections){let r=t-1,i=null;for(let t of e.sections)if(r>t.offset.line||r===t.offset.line&&n>=t.offset.column)i=t;else break;if(!i)return null;let a=r-i.offset.line,o=r===i.offset.line?n-i.offset.column:n;return M(i.map.mappings,i.map.sources,a,o,i.map.ignoredSourceIndices)}return M(e.mappings,e.sources,t-1,n,e.ignoredSourceIndices)},ue=(e,t)=>{let n,r=t.length;for(;r>0&&!n;){let e=t.lastIndexOf(`
14
- `,r-1)+1,i=t.slice(e,r).match(le);i&&(n=i[1]||i[2]),r=e-1}if(!n)return null;let i=O.test(n);if(!(k.test(n)||i||n.startsWith(`/`))){let t=e.split(`/`);t[t.length-1]=n,n=t.join(`/`)}return n},P=e=>{let t=e.ignoreList??e.x_google_ignoreList;return Array.isArray(t)&&t.length>0?new Set(t):void 0},de=e=>({file:e.file,ignoredSourceIndices:P(e),mappings:T(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,version:3}),fe=e=>{let t=e.sections.map(({map:e,offset:t})=>({map:{...e,ignoredSourceIndices:P(e),mappings:T(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}},F=e=>{if(!e)return!1;let t=e.trim();if(!t)return!1;let n=t.match(O);if(!n)return!0;let r=n[0].toLowerCase();return r===`http:`||r===`https:`},pe=async(e,t=fetch)=>{if(!F(e))return null;let n=await t(e);if(!n.ok)return null;let r=await n.text();if(!r)return null;let i=ue(e,r);if(!i||!F(i)&&!k.test(i))return null;let a=await t(i);if(!a.ok)return null;try{let e=await a.json();return`sections`in e?fe(e):de(e)}catch{return null}},I=async(e,t=!0,n)=>{if(t&&A.has(e))return A.get(e)??null;let r=t?j.get(e):void 0;if(r)return(await r).sourceMap;let i=pe(e,n).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));t&&j.set(e,i);let{sourceMap:a,isTransientFailure:o}=await i;return t&&(j.delete(e),o||A.set(e,a)),a},L=async(e,t=!0,n)=>await Promise.all(e.map(async e=>{if(!e.fileName)return e;let r=await I(e.fileName,t,n);if(!r||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let i=N(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,isIgnoreListed:i.isIgnoreListed,isSymbolicated:!0}:e})),R=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,z=e=>typeof e.tag==`number`,B=e=>e._debugOwner,V=e=>{let t=null;if(r(e,n=>{if(n===e)return!1;let r=n._debugOwner;return(r===e||e.alternate!==null&&r===e.alternate)&&n._debugStack instanceof Error?(t=n._debugStack,!0):!1}),!t)return null;let{frames:n,isTrusted:i}=b(t);if(!i)return null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t.fileName)return{...t,lineNumber:t.enclosingLineNumber||t.lineNumber,columnNumber:t.enclosingColumnNumber||t.columnNumber}}return null},me=()=>{let n=e();for(let e of[...Array.from(t),...Array.from(n.renderers.values())]){let t=e.currentDispatcherRef;if(t&&typeof t==`object`)return`H`in t?t.H:t.current}return null},H=e=>{for(let n of t){let t=n.currentDispatcherRef;t&&typeof t==`object`&&(`H`in t?t.H=e:t.current=e)}},U=e=>`\n in ${e}`,he=(e,t)=>{let n=U(e);return t&&(n+=` (at ${t})`),n};let W=!1;const G=new WeakMap,K=(e,t)=>{if(!e||W)return``;let r=G.get(e);if(r!==void 0)return r;let i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,W=!0;let a=me();H(null);let o=console.error,s=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(`
15
- `),r=a.split(`
16
- `),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)),G.set(e,r),r}while(o>=1&&s>=0);break}}}finally{W=!1,Error.prepareStackTrace=i,H(a),console.error=o,console.warn=s}let c=e?n(e):``,l=c?U(c):``;return G.set(e,l),l},ge=(e,t)=>{let n=e.tag,r=``;switch(n){case 28:r=U(`Activity`);break;case 1:r=K(e.type,!0);break;case 11:r=K(e.type.render,!1);break;case 0:case 15:r=K(e.type,!1);break;case 5:case 26:case 27:r=U(e.type);break;case 16:r=U(`Lazy`);break;case 13:r=e.child!==t&&t!==null?U(`Suspense Fallback`):U(`Suspense`);break;case 19:r=U(`SuspenseList`);break;case 30:r=U(`ViewTransition`);break;default:return``}return r},_e=e=>{try{let t=``,n=e,r=null;do{t+=ge(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+=he(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}`:``}},q=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
17
- `)&&(n=n.slice(29));let r=n.indexOf(`
18
- `);r!==-1&&(n=n.slice(r+1));let i=Math.max(n.indexOf(`react_stack_bottom_frame`),n.indexOf(`react-stack-bottom-frame`));if(i!==-1&&(i=n.lastIndexOf(`
19
- `,i)),i!==-1)n=n.slice(0,i);else return``;return n},ve=e=>!!(e.functionName&&e.fileName&&J(e.fileName)),ye=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,be=e=>{let t=new Map;for(let n of e)for(let e of n.stackFrames){if(!ve(e))continue;let n=e.functionName,r=t.get(n)??[];r.some(t=>ye(t,e))||(r.push(e),t.set(n,r))}return t},xe=(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})`)}},J=e=>o.some(t=>e.startsWith(t)),Se=e=>!e.isServer&&e.fileName&&J(e.fileName)?{...e,isServer:!0}:e,Ce=e=>{let t=[],n=e;for(;n;)if(z(n)){let e=n;if(n=B(e),n&&R(e)){let{frames:n,isTrusted:r}=b(e._debugStack);if(r)for(let e of n)t.push(Se(e))}}else{let e=n;if(n=e.owner,n&&e.debugStack instanceof Error)for(let n of b(e.debugStack).frames)t.push({...n,isServer:!0})}return t},we=e=>{let t=[];return r(e,e=>{if(!R(e))return;let r=typeof e.type==`string`?e.type:n(e.type)||`<anonymous>`;t.push({componentName:r,stackFrames:m(q(e._debugStack?.stack))})},!0),t},Y=async(e,t=!0,n)=>{let r=we(e),i=m(_e(e)),a=be(r),o=new Map;return L(i.map(e=>(e.source?.includes(`(at Server)`)??!1)||e.source!=null&&d.test(e.source)?xe(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)},Te=e=>!!e.fileName&&!e.isIgnoreListed,X=async(e,t=!0,r)=>{let i=Ce(e);if(i.length>0){let a=V(e)??{};a.functionName=n(e.type)??a.functionName;let o=await L([a,...i],t,r);if(o.some((e,t)=>t>0&&Te(e)))return o}return Y(e,t,r)},Ee=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},Z=e=>e.fileName?{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName}:null,De=e=>{if(!R(e))return null;let{frames:t,isTrusted:n}=b(e._debugStack);if(!n)return null;for(let e of t)if(e.fileName)return e;return null},Oe=async(e,t=!0,n)=>{if(Ee(e))return e._debugSource||null;let r=De(e)??V(e);if(r){let[e]=await L([r],t,n),i=Z(e);if(i)return i}let i=await Y(e,t,n);for(let e of i)if(e.fileName)return Z(e);return null},Q=e=>e.split(`/`).filter(Boolean).length,ke=e=>e.split(`/`).filter(Boolean)[0]??null,Ae=e=>{let t=e.indexOf(`/`,1);if(t===-1||Q(e.slice(0,t))!==1)return e;let n=e.slice(t);if(!c.test(n)||Q(n)<2)return e;let r=ke(n);return!r||r.startsWith(`@`)||r.length>4?e:n},$=e=>{if(!e||s.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=Ae(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 o=t.indexOf(`?`);if(o!==-1){let e=t.slice(o);u.test(e)&&(t=t.slice(0,o))}return t},je=e=>{let t=$(e);return!(!t||!c.test(t)||l.test(t))};export{X as a,N as c,m as d,q as i,I as l,je as n,Y as o,$ as r,R as s,Oe as t,L as u};
@@ -1,9 +0,0 @@
1
- /**
2
- * @license bippy
3
- *
4
- * Copyright (c) Aiden Bai
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./rdt-hook.cjs`),t=require(`./core.cjs`),n=require(`./get-source.cjs`),r=1e3,i=/wsToken = "([^"]+)"/,a=/\.(?:tsx|ts|jsx|js|mjs|cjs|css)$/,o=/^(?:\.\/)?\/?\([a-z][a-z0-9-]*\)\//,s=e=>{if(typeof e!=`object`||!e||!(`getConstants`in e))return null;let t=e.getConstants;if(typeof t!=`function`)return null;let n;try{n=t.call(e)}catch{return null}if(typeof n!=`object`||!n||!(`scriptURL`in n))return null;let r=n.scriptURL;return typeof r==`string`?r:null},c=()=>{if(typeof globalThis.__turboModuleProxy==`function`){let e;try{e=globalThis.__turboModuleProxy(`SourceCode`)}catch{e=null}let t=s(e);if(t)return t}let e=globalThis.nativeModuleProxy?.SourceCode;return s(e)},l=e=>e.replace(`//&`,`?`),u=e=>{let t;try{t=new URL(l(e))}catch{return null}let n=decodeURIComponent(t.pathname);return n.startsWith(`/`)&&(n=n.slice(1)),n.endsWith(`.bundle`)&&(n=n.slice(0,-7)),n.length>0?n:null},d=(e,t)=>{if(Array.isArray(e))for(let n of e){if(typeof n!=`object`||!n||!(`sourceURL`in n)||typeof n.sourceURL!=`string`)continue;let e=u(n.sourceURL);!e||e.includes(`node_modules`)||t.push(e)}},f=e=>{let t;try{t=JSON.parse(e)}catch{return[]}if(typeof t!=`object`||!t||!(`type`in t)||t.type!==`update`||!(`body`in t)||typeof t.body!=`object`||t.body===null)return[];let n=t.body;if(`isInitialUpdate`in n&&n.isInitialUpdate===!0)return[];let r=[];return`added`in n&&d(n.added,r),`modified`in n&&d(n.modified,r),r},p=(e,t={})=>{if(typeof WebSocket>`u`)return null;let n=t.bundleUrl??c();if(!n)return null;let i;try{let e=new URL(n);i=`${e.protocol===`https:`?`wss`:`ws`}://${e.host}/hot`}catch{return null}let a=!1,o=null,s,l=()=>{a||(s=setTimeout(u,r))},u=()=>{if(a)return;let t=new WebSocket(i);o=t,t.onopen=()=>{t.send(JSON.stringify({type:`register-entrypoints`,entryPoints:[n]}))},t.onmessage=t=>{let n=f(String(t.data));n.length>0&&e(n)},t.onclose=l};return u(),{dispose:()=>{a=!0,clearTimeout(s),o&&(o.onclose=null,o.close())}}},m=e=>{let t=n.r(e);return t=t.replace(o,``),t.startsWith(`./`)&&(t=t.slice(2)),t},h=e=>{let t=[];for(let n of e){if(n.includes(`node_modules`))continue;let e=m(n);a.test(e)&&t.push(e)}return t},g=e=>{if(typeof window>`u`)return null;let t=window.webpackHotUpdate_N_E;if(typeof t!=`function`)return null;let n=(n,r,i)=>{let a=h(Object.keys(r??{}));a.length>0&&e(a),t(n,r,i)};return window.webpackHotUpdate_N_E=n,{dispose:()=>{window.webpackHotUpdate_N_E===n&&(window.webpackHotUpdate_N_E=t)}}},_=e=>{let t;try{t=JSON.parse(e)}catch{return[]}if(typeof t!=`object`||!t||!(`type`in t)||t.type!==`update`||!(`updates`in t)||!Array.isArray(t.updates))return[];let n=[];for(let e of t.updates)typeof e!=`object`||!e||!(`type`in e)||e.type!==`js-update`||!(`acceptedPath`in e)||typeof e.acceptedPath!=`string`||n.push(e.acceptedPath);return n},v=async()=>{try{let e=await fetch(`/@vite/client`);if(!e.ok)return null;let t=await e.text();return i.exec(t)?.[1]??null}catch{return null}},y=async e=>{if(typeof window>`u`||typeof WebSocket>`u`)return null;let t=await v();if(!t)return null;let n=!1,i=null,a,o=()=>{n||(a=window.setTimeout(()=>{v().then(e=>{n||(e?s(e):o())})},r))},s=t=>{if(n)return;let r=location.protocol===`https:`?`wss`:`ws`,a=new WebSocket(`${r}://${location.host}/?token=${t}`,`vite-hmr`);i=a,a.onmessage=t=>{let n=_(String(t.data));n.length>0&&e(n)},a.onclose=o};return s(t),{dispose:()=>{n=!0,window.clearTimeout(a),i&&(i.onclose=null,i.close())}}},b=async t=>e.s()?g(t)||p(t)||y(t):null,x=(e,n)=>{if(n.size===0||!e.current)return[];let r=[];return t.traverseFiber(e.current,e=>{(n.has(e.type)||n.has(t.getType(e.type)))&&r.push(e)}),r},S=new Set,C=new WeakSet;let w=[],T=0;const E=e=>{let t=Date.now();t-T>1e4&&(w=[]),w.push(...e),T=t},D=()=>{if(Date.now()-T>1e4)return[];let e=[...w];return queueMicrotask(()=>{w=[]}),e},O=e=>{if(C.has(e))return;let t=e.scheduleRefresh;typeof t==`function`&&(C.add(e),e.scheduleRefresh=(n,r)=>{if(t.call(e,n,r),S.size===0)return;let i=Array.from(r.staleFamilies,e=>e.current),a=Array.from(r.updatedFamilies,e=>e.current),o={filePaths:D(),root:n,staleComponents:i,staleFibers:x(n,new Set(i)),updatedComponents:a,updatedFibers:x(n,new Set(a))};for(let e of S)e(o)})};let k=!1;const A=()=>{if(k)return;k=!0;let t=e.i();for(let e of t.renderers.values())O(e);e.u(O)};let j=null;const M=()=>{b(E).then(e=>{e&&(j?.dispose(),j=e)})},N=t=>{let{onRefresh:n}=t;return!n||!e.s()?e.m(()=>{}):(A(),S.size===0&&M(),S.add(n),e.m(()=>{S.delete(n)}))};exports.instrumentReactRefresh=N;
@@ -1,66 +0,0 @@
1
- import { d as FiberRoot, t as Unsubscribe, u as Fiber } from "./unsubscribe.cjs";
2
-
3
- //#region src/react-refresh/index.d.ts
4
- interface ReactRefreshUpdate {
5
- /**
6
- * hot-updated source file paths reported by the bundler's HMR transport
7
- * (auto-detected: Next.js webpack, Metro, Vite). Best-effort: empty when
8
- * the bundler does not expose a transport (e.g. Turbopack) or when the
9
- * transport message has not arrived yet (e.g. Metro delivers updates on
10
- * an independent socket).
11
- */
12
- filePaths: string[];
13
- root: FiberRoot;
14
- /** new component types that were remounted, losing state */
15
- staleComponents: unknown[];
16
- /** mounted fibers whose component types were remounted */
17
- staleFibers: Fiber[];
18
- /** new component types that re-rendered preserving state */
19
- updatedComponents: unknown[];
20
- /** mounted fibers whose component types re-rendered preserving state */
21
- updatedFibers: Fiber[];
22
- }
23
- interface ReactRefreshHandler {
24
- (update: ReactRefreshUpdate): void;
25
- }
26
- interface ReactRefreshInstrumentationOptions {
27
- onRefresh?: ReactRefreshHandler;
28
- }
29
- /**
30
- * Subscribes to react-refresh (fast refresh) updates by wrapping
31
- * `scheduleRefresh` on every renderer injected into the React DevTools
32
- * global hook. The react-refresh runtime calls `scheduleRefresh` after each
33
- * hot update, so this works with any bundler that uses react-refresh (Vite,
34
- * Next.js webpack, Next.js Turbopack, Metro) without bundler-specific code.
35
- * Returns an unsubscribe function (a no-op in non-client environments like
36
- * SSR, so callers never need an environment check). The returned function
37
- * is also a `Disposable`, so it composes with other bippy subscriptions
38
- * through `using`.
39
- *
40
- * The bundler's HMR transport is auto-detected and each refresh update is
41
- * augmented with the hot-updated source file paths it reported.
42
- *
43
- * The handler runs after React has re-rendered with the new component
44
- * types, so the refreshed root's fiber tree already carries them;
45
- * `updatedFibers`/`staleFibers` are the mounted fibers matching the
46
- * hot-swapped component types.
47
- *
48
- * @example
49
- * ```ts
50
- * const unsubscribe = instrumentReactRefresh({
51
- * onRefresh(update) {
52
- * for (const fiber of update.updatedFibers) {
53
- * console.log("hot updated:", getDisplayName(fiber.type));
54
- * }
55
- * console.log("changed files:", update.filePaths);
56
- * },
57
- * });
58
- * unsubscribe();
59
- * ```
60
- *
61
- * Pair with `getSource(fiber)` from `bippy/source` to symbolicate the
62
- * source locations of `updatedFibers` when needed.
63
- */
64
- declare const instrumentReactRefresh: (options: ReactRefreshInstrumentationOptions) => Unsubscribe;
65
- //#endregion
66
- export { ReactRefreshHandler, ReactRefreshInstrumentationOptions, ReactRefreshUpdate, instrumentReactRefresh };
@@ -1,66 +0,0 @@
1
- import { d as FiberRoot, t as Unsubscribe, u as Fiber } from "./unsubscribe.js";
2
-
3
- //#region src/react-refresh/index.d.ts
4
- interface ReactRefreshUpdate {
5
- /**
6
- * hot-updated source file paths reported by the bundler's HMR transport
7
- * (auto-detected: Next.js webpack, Metro, Vite). Best-effort: empty when
8
- * the bundler does not expose a transport (e.g. Turbopack) or when the
9
- * transport message has not arrived yet (e.g. Metro delivers updates on
10
- * an independent socket).
11
- */
12
- filePaths: string[];
13
- root: FiberRoot;
14
- /** new component types that were remounted, losing state */
15
- staleComponents: unknown[];
16
- /** mounted fibers whose component types were remounted */
17
- staleFibers: Fiber[];
18
- /** new component types that re-rendered preserving state */
19
- updatedComponents: unknown[];
20
- /** mounted fibers whose component types re-rendered preserving state */
21
- updatedFibers: Fiber[];
22
- }
23
- interface ReactRefreshHandler {
24
- (update: ReactRefreshUpdate): void;
25
- }
26
- interface ReactRefreshInstrumentationOptions {
27
- onRefresh?: ReactRefreshHandler;
28
- }
29
- /**
30
- * Subscribes to react-refresh (fast refresh) updates by wrapping
31
- * `scheduleRefresh` on every renderer injected into the React DevTools
32
- * global hook. The react-refresh runtime calls `scheduleRefresh` after each
33
- * hot update, so this works with any bundler that uses react-refresh (Vite,
34
- * Next.js webpack, Next.js Turbopack, Metro) without bundler-specific code.
35
- * Returns an unsubscribe function (a no-op in non-client environments like
36
- * SSR, so callers never need an environment check). The returned function
37
- * is also a `Disposable`, so it composes with other bippy subscriptions
38
- * through `using`.
39
- *
40
- * The bundler's HMR transport is auto-detected and each refresh update is
41
- * augmented with the hot-updated source file paths it reported.
42
- *
43
- * The handler runs after React has re-rendered with the new component
44
- * types, so the refreshed root's fiber tree already carries them;
45
- * `updatedFibers`/`staleFibers` are the mounted fibers matching the
46
- * hot-swapped component types.
47
- *
48
- * @example
49
- * ```ts
50
- * const unsubscribe = instrumentReactRefresh({
51
- * onRefresh(update) {
52
- * for (const fiber of update.updatedFibers) {
53
- * console.log("hot updated:", getDisplayName(fiber.type));
54
- * }
55
- * console.log("changed files:", update.filePaths);
56
- * },
57
- * });
58
- * unsubscribe();
59
- * ```
60
- *
61
- * Pair with `getSource(fiber)` from `bippy/source` to symbolicate the
62
- * source locations of `updatedFibers` when needed.
63
- */
64
- declare const instrumentReactRefresh: (options: ReactRefreshInstrumentationOptions) => Unsubscribe;
65
- //#endregion
66
- export { ReactRefreshHandler, ReactRefreshInstrumentationOptions, ReactRefreshUpdate, instrumentReactRefresh };
@@ -1,9 +0,0 @@
1
- /**
2
- * @license bippy
3
- *
4
- * Copyright (c) Aiden Bai
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
- import{i as e,m as t,s as n,u as r}from"./rdt-hook.js";import{getType as i,traverseFiber as a}from"./core.js";import{r as o}from"./get-source.js";const s=1e3,c=/wsToken = "([^"]+)"/,l=/\.(?:tsx|ts|jsx|js|mjs|cjs|css)$/,u=/^(?:\.\/)?\/?\([a-z][a-z0-9-]*\)\//,d=e=>{if(typeof e!=`object`||!e||!(`getConstants`in e))return null;let t=e.getConstants;if(typeof t!=`function`)return null;let n;try{n=t.call(e)}catch{return null}if(typeof n!=`object`||!n||!(`scriptURL`in n))return null;let r=n.scriptURL;return typeof r==`string`?r:null},f=()=>{if(typeof globalThis.__turboModuleProxy==`function`){let e;try{e=globalThis.__turboModuleProxy(`SourceCode`)}catch{e=null}let t=d(e);if(t)return t}let e=globalThis.nativeModuleProxy?.SourceCode;return d(e)},p=e=>e.replace(`//&`,`?`),m=e=>{let t;try{t=new URL(p(e))}catch{return null}let n=decodeURIComponent(t.pathname);return n.startsWith(`/`)&&(n=n.slice(1)),n.endsWith(`.bundle`)&&(n=n.slice(0,-7)),n.length>0?n:null},h=(e,t)=>{if(Array.isArray(e))for(let n of e){if(typeof n!=`object`||!n||!(`sourceURL`in n)||typeof n.sourceURL!=`string`)continue;let e=m(n.sourceURL);!e||e.includes(`node_modules`)||t.push(e)}},g=e=>{let t;try{t=JSON.parse(e)}catch{return[]}if(typeof t!=`object`||!t||!(`type`in t)||t.type!==`update`||!(`body`in t)||typeof t.body!=`object`||t.body===null)return[];let n=t.body;if(`isInitialUpdate`in n&&n.isInitialUpdate===!0)return[];let r=[];return`added`in n&&h(n.added,r),`modified`in n&&h(n.modified,r),r},_=(e,t={})=>{if(typeof WebSocket>`u`)return null;let n=t.bundleUrl??f();if(!n)return null;let r;try{let e=new URL(n);r=`${e.protocol===`https:`?`wss`:`ws`}://${e.host}/hot`}catch{return null}let i=!1,a=null,o,c=()=>{i||(o=setTimeout(l,s))},l=()=>{if(i)return;let t=new WebSocket(r);a=t,t.onopen=()=>{t.send(JSON.stringify({type:`register-entrypoints`,entryPoints:[n]}))},t.onmessage=t=>{let n=g(String(t.data));n.length>0&&e(n)},t.onclose=c};return l(),{dispose:()=>{i=!0,clearTimeout(o),a&&(a.onclose=null,a.close())}}},v=e=>{let t=o(e);return t=t.replace(u,``),t.startsWith(`./`)&&(t=t.slice(2)),t},y=e=>{let t=[];for(let n of e){if(n.includes(`node_modules`))continue;let e=v(n);l.test(e)&&t.push(e)}return t},b=e=>{if(typeof window>`u`)return null;let t=window.webpackHotUpdate_N_E;if(typeof t!=`function`)return null;let n=(n,r,i)=>{let a=y(Object.keys(r??{}));a.length>0&&e(a),t(n,r,i)};return window.webpackHotUpdate_N_E=n,{dispose:()=>{window.webpackHotUpdate_N_E===n&&(window.webpackHotUpdate_N_E=t)}}},x=e=>{let t;try{t=JSON.parse(e)}catch{return[]}if(typeof t!=`object`||!t||!(`type`in t)||t.type!==`update`||!(`updates`in t)||!Array.isArray(t.updates))return[];let n=[];for(let e of t.updates)typeof e!=`object`||!e||!(`type`in e)||e.type!==`js-update`||!(`acceptedPath`in e)||typeof e.acceptedPath!=`string`||n.push(e.acceptedPath);return n},S=async()=>{try{let e=await fetch(`/@vite/client`);if(!e.ok)return null;let t=await e.text();return c.exec(t)?.[1]??null}catch{return null}},C=async e=>{if(typeof window>`u`||typeof WebSocket>`u`)return null;let t=await S();if(!t)return null;let n=!1,r=null,i,a=()=>{n||(i=window.setTimeout(()=>{S().then(e=>{n||(e?o(e):a())})},s))},o=t=>{if(n)return;let i=location.protocol===`https:`?`wss`:`ws`,o=new WebSocket(`${i}://${location.host}/?token=${t}`,`vite-hmr`);r=o,o.onmessage=t=>{let n=x(String(t.data));n.length>0&&e(n)},o.onclose=a};return o(t),{dispose:()=>{n=!0,window.clearTimeout(i),r&&(r.onclose=null,r.close())}}},w=async e=>n()?b(e)||_(e)||C(e):null,T=(e,t)=>{if(t.size===0||!e.current)return[];let n=[];return a(e.current,e=>{(t.has(e.type)||t.has(i(e.type)))&&n.push(e)}),n},E=new Set,D=new WeakSet;let O=[],k=0;const A=e=>{let t=Date.now();t-k>1e4&&(O=[]),O.push(...e),k=t},j=()=>{if(Date.now()-k>1e4)return[];let e=[...O];return queueMicrotask(()=>{O=[]}),e},M=e=>{if(D.has(e))return;let t=e.scheduleRefresh;typeof t==`function`&&(D.add(e),e.scheduleRefresh=(n,r)=>{if(t.call(e,n,r),E.size===0)return;let i=Array.from(r.staleFamilies,e=>e.current),a=Array.from(r.updatedFamilies,e=>e.current),o={filePaths:j(),root:n,staleComponents:i,staleFibers:T(n,new Set(i)),updatedComponents:a,updatedFibers:T(n,new Set(a))};for(let e of E)e(o)})};let N=!1;const P=()=>{if(N)return;N=!0;let t=e();for(let e of t.renderers.values())M(e);r(M)};let F=null;const I=()=>{w(A).then(e=>{e&&(F?.dispose(),F=e)})},L=e=>{let{onRefresh:r}=e;return!r||!n()?t(()=>{}):(P(),E.size===0&&I(),E.add(r),t(()=>{E.delete(r)}))};export{L as instrumentReactRefresh};
@@ -1,298 +0,0 @@
1
- import { ReactNode } from "react";
2
-
3
- //#region src/types.d.ts
4
- type BundleType = 0 | 1;
5
- type Flags = number;
6
- type Lanes = number;
7
- type TypeOfMode = number;
8
- type RootTag = 0 | 1 | 2;
9
- type LanePriority = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17;
10
- type WorkTag = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31;
11
- type HookType = "useState" | "useReducer" | "useContext" | "useRef" | "useEffect" | "useLayoutEffect" | "useCallback" | "useMemo" | "useImperativeHandle" | "useDebugValue" | "useDeferredValue" | "useTransition" | "useMutableSource" | "useOpaqueIdentifier" | "useCacheRefresh";
12
- type FiberRoot = any;
13
- type MutableSource = any;
14
- type OpaqueHandle = any;
15
- type OpaqueRoot = any;
16
- type React$AbstractComponent<_Config, _Instance = unknown> = any;
17
- type HostConfig = Record<string, any>;
18
- interface Source {
19
- fileName: string;
20
- lineNumber: number;
21
- }
22
- interface RefObject {
23
- current: any;
24
- }
25
- interface Thenable<T> {
26
- then(resolve: () => T, reject?: () => T): T;
27
- }
28
- interface ReactContext<T> {
29
- $$typeof: symbol | number;
30
- Consumer: ReactContext<T>;
31
- Provider: ReactProviderType<T>;
32
- _calculateChangedBits: ((a: T, b: T) => number) | null;
33
- _currentValue: T;
34
- _currentValue2: T;
35
- _threadCount: number;
36
- _currentRenderer?: Record<string, any> | null;
37
- _currentRenderer2?: Record<string, any> | null;
38
- displayName?: string;
39
- }
40
- interface ReactProviderType<T> {
41
- $$typeof: symbol | number;
42
- _context: ReactContext<T>;
43
- }
44
- interface ReactProvider<T> {
45
- $$typeof: symbol | number;
46
- type: ReactProviderType<T>;
47
- key: null | string;
48
- ref: null;
49
- props: {
50
- value: T;
51
- children?: ReactNode;
52
- };
53
- }
54
- interface ReactConsumer<T> {
55
- $$typeof: symbol | number;
56
- type: ReactContext<T>;
57
- key: null | string;
58
- ref: null;
59
- props: {
60
- children: (value: T) => ReactNode;
61
- unstable_observedBits?: number;
62
- };
63
- }
64
- interface ReactPortal {
65
- $$typeof: symbol | number;
66
- key: null | string;
67
- containerInfo: any;
68
- children: ReactNode;
69
- implementation: any;
70
- }
71
- interface ComponentSelector {
72
- $$typeof: symbol | number;
73
- value: React$AbstractComponent<never, unknown>;
74
- }
75
- interface HasPseudoClassSelector {
76
- $$typeof: symbol | number;
77
- value: Selector[];
78
- }
79
- interface RoleSelector {
80
- $$typeof: symbol | number;
81
- value: string;
82
- }
83
- interface TextSelector {
84
- $$typeof: symbol | number;
85
- value: string;
86
- }
87
- interface TestNameSelector {
88
- $$typeof: symbol | number;
89
- value: string;
90
- }
91
- type Selector = ComponentSelector | HasPseudoClassSelector | RoleSelector | TextSelector | TestNameSelector;
92
- interface DevToolsConfig<Instance = any, TextInstance = any, RendererInspectionConfig = any> {
93
- bundleType: BundleType;
94
- version: string;
95
- rendererPackageName: string;
96
- findFiberByHostInstance?: (instance: Instance | TextInstance) => ReactFiber | null;
97
- rendererConfig?: RendererInspectionConfig;
98
- }
99
- interface SuspenseHydrationCallbacks<SuspenseInstance = unknown> {
100
- onHydrated?: (suspenseInstance: SuspenseInstance) => void;
101
- onDeleted?: (suspenseInstance: SuspenseInstance) => void;
102
- }
103
- interface TransitionTracingCallbacks {
104
- onTransitionStart?: (transitionName: string, startTime: number) => void;
105
- onTransitionProgress?: (transitionName: string, startTime: number, currentTime: number, pending: Array<{
106
- name: null | string;
107
- }>) => void;
108
- onTransitionIncomplete?: (transitionName: string, startTime: number, deletions: Array<{
109
- type: string;
110
- name?: string;
111
- newName?: string;
112
- endTime: number;
113
- }>) => void;
114
- onTransitionComplete?: (transitionName: string, startTime: number, endTime: number) => void;
115
- onMarkerProgress?: (transitionName: string, marker: string, startTime: number, currentTime: number, pending: Array<{
116
- name: null | string;
117
- }>) => void;
118
- onMarkerIncomplete?: (transitionName: string, marker: string, startTime: number, deletions: Array<{
119
- type: string;
120
- name?: string;
121
- newName?: string;
122
- endTime: number;
123
- }>) => void;
124
- onMarkerComplete?: (transitionName: string, marker: string, startTime: number, endTime: number) => void;
125
- }
126
- interface ReactFiber {
127
- tag: WorkTag;
128
- key: null | string;
129
- elementType: any;
130
- type: any;
131
- stateNode: any;
132
- return: ReactFiber | null;
133
- child: ReactFiber | null;
134
- sibling: ReactFiber | null;
135
- index: number;
136
- ref: null | (((handle: unknown) => void) & {
137
- _stringRef?: string | null;
138
- }) | RefObject;
139
- pendingProps: any;
140
- memoizedProps: any;
141
- updateQueue: unknown;
142
- memoizedState: any;
143
- dependencies: Dependencies | null;
144
- mode: TypeOfMode;
145
- flags: Flags;
146
- subtreeFlags: Flags;
147
- deletions: ReactFiber[] | null;
148
- nextEffect: ReactFiber | null;
149
- firstEffect: ReactFiber | null;
150
- lastEffect: ReactFiber | null;
151
- lanes: Lanes;
152
- childLanes: Lanes;
153
- alternate: ReactFiber | null;
154
- actualDuration?: number;
155
- actualStartTime?: number;
156
- selfBaseDuration?: number;
157
- treeBaseDuration?: number;
158
- _debugID?: number;
159
- _debugSource?: Source | null;
160
- _debugOwner?: ReactFiber | null;
161
- _debugIsCurrentlyTiming?: boolean;
162
- _debugNeedsRemount?: boolean;
163
- _debugHookTypes?: HookType[] | null;
164
- }
165
- interface ContextDependency<T> {
166
- context: ReactContext<T>;
167
- memoizedValue: T;
168
- next: ContextDependency<unknown> | null;
169
- observedBits: number;
170
- }
171
- interface Dependencies {
172
- firstContext: ContextDependency<unknown> | null;
173
- lanes: Lanes;
174
- }
175
- interface Effect {
176
- [key: string]: unknown;
177
- create: (...args: unknown[]) => unknown;
178
- deps: null | unknown[];
179
- destroy: ((...args: unknown[]) => unknown) | null;
180
- next: Effect | null;
181
- tag: number;
182
- }
183
- interface Family {
184
- current: unknown;
185
- }
186
- /**
187
- * React 19 flight metadata for a server component owner (ReactComponentInfo).
188
- * Unlike client owners it has no `tag`; the owner chain continues via `owner`.
189
- */
190
- interface ServerComponentInfo {
191
- name?: string;
192
- env?: string;
193
- owner?: Fiber | ServerComponentInfo | null;
194
- debugStack?: Error | null;
195
- }
196
- interface RendererRefreshUpdate {
197
- staleFamilies: Set<Family>;
198
- updatedFamilies: Set<Family>;
199
- }
200
- /**
201
- * Represents a react-internal Fiber node.
202
- */
203
- type Fiber<T = any> = Omit<ReactFiber, "alternate" | "child" | "dependencies" | "memoizedProps" | "memoizedState" | "pendingProps" | "return" | "sibling" | "stateNode" | "updateQueue"> & {
204
- _debugInfo?: Array<{
205
- debugLocation?: unknown;
206
- env?: string;
207
- name?: string;
208
- }>;
209
- _debugOwner?: Fiber;
210
- _debugSource?: {
211
- columnNumber?: number;
212
- fileName: string;
213
- lineNumber: number;
214
- };
215
- _debugStack?: Error & {
216
- stack: string;
217
- };
218
- alternate: Fiber | null;
219
- child: Fiber | null;
220
- dependencies: Dependencies | null;
221
- memoizedProps: Props;
222
- memoizedState: MemoizedState;
223
- pendingProps: Props;
224
- return: Fiber | null;
225
- sibling: Fiber | null;
226
- stateNode: T;
227
- updateQueue: {
228
- [key: string]: unknown;
229
- lastEffect: Effect | null;
230
- };
231
- };
232
- interface MemoizedState {
233
- [key: string]: unknown;
234
- memoizedState: unknown;
235
- next: MemoizedState | null;
236
- }
237
- interface Props {
238
- [key: string]: unknown;
239
- }
240
- interface ReactDevToolsGlobalHook {
241
- _instrumentationIsActive?: boolean;
242
- _instrumentationSource?: string;
243
- checkDCE: (fn: unknown) => void;
244
- hasUnsupportedRendererAttached: boolean;
245
- inject: (renderer: ReactRenderer) => number;
246
- on: () => void;
247
- onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: number | void) => void;
248
- onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
249
- onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
250
- onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: ReactNode) => void;
251
- renderers: Map<number, ReactRenderer>;
252
- supportsFiber: boolean;
253
- supportsFlight: boolean;
254
- }
255
- interface ReactRenderer {
256
- bundleType: 0 | 1;
257
- currentDispatcherRef: any;
258
- findFiberByHostInstance?: (hostInstance: unknown) => Fiber | null;
259
- getCurrentFiber?: (fiber: Fiber) => Fiber | null;
260
- overrideContext?: (fiber: Fiber, contextType: unknown, path: string[], value: unknown) => void;
261
- overrideHookState?: (fiber: Fiber, id: string, path: string[], value: unknown) => void;
262
- overrideHookStateDeletePath?: (fiber: Fiber, id: number, path: Array<number | string>) => void;
263
- overrideHookStateRenamePath?: (fiber: Fiber, id: number, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
264
- overrideProps?: (fiber: Fiber, path: string[], value: unknown) => void;
265
- overridePropsDeletePath?: (fiber: Fiber, path: Array<number | string>) => void;
266
- overridePropsRenamePath?: (fiber: Fiber, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
267
- reconcilerVersion: string;
268
- rendererPackageName: string;
269
- scheduleRefresh?: (root: FiberRoot, update: RendererRefreshUpdate) => void;
270
- scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
271
- scheduleUpdate?: (fiber: Fiber) => void;
272
- setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean) => void;
273
- setRefreshHandler?: (handler: ((fiber: Fiber) => Family | null) | null) => void;
274
- setSuspenseHandler?: (newShouldSuspendImpl: (suspenseInstance: unknown) => void) => void;
275
- version: string;
276
- }
277
- declare global {
278
- var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined;
279
- }
280
- //#endregion
281
- //#region src/unsubscribe.d.ts
282
- interface Unsubscribe extends Disposable {
283
- (): void;
284
- }
285
- /**
286
- * Wraps a teardown callback so it is both callable and a `Disposable`,
287
- * letting subscriptions compose through explicit resource management:
288
- *
289
- * @example
290
- * ```ts
291
- * using instrumentation = instrument({ onCommitFiberRoot });
292
- * using refresh = instrumentReactRefresh({ onRefresh: handleRefresh });
293
- * // both torn down automatically at scope exit
294
- * ```
295
- */
296
- declare const toUnsubscribe: (dispose: () => void) => Unsubscribe;
297
- //#endregion
298
- export { ReactRenderer as A, TextSelector as B, React$AbstractComponent as C, ReactPortal as D, ReactDevToolsGlobalHook as E, Selector as F, TransitionTracingCallbacks as H, ServerComponentInfo as I, Source as L, RendererRefreshUpdate as M, RoleSelector as N, ReactProvider as O, RootTag as P, SuspenseHydrationCallbacks as R, Props as S, ReactContext as T, TypeOfMode as U, Thenable as V, WorkTag as W, Lanes as _, ContextDependency as a, OpaqueHandle as b, Effect as c, FiberRoot as d, Flags as f, LanePriority as g, HostConfig as h, ComponentSelector as i, RefObject as j, ReactProviderType as k, Family as l, HookType as m, toUnsubscribe as n, Dependencies as o, HasPseudoClassSelector as p, BundleType as r, DevToolsConfig as s, Unsubscribe as t, Fiber as u, MemoizedState as v, ReactConsumer as w, OpaqueRoot as x, MutableSource as y, TestNameSelector as z };