bippy 0.6.1-dev.fe75557 → 0.7.0-dev.697d535

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 +223 -461
  3. package/dist/core.cjs +1 -1
  4. package/dist/core.js +1 -1
  5. package/dist/errors.d.cts +410 -0
  6. package/dist/errors.d.ts +410 -0
  7. package/dist/index.cjs +1 -1
  8. package/dist/index.d.cts +153 -3
  9. package/dist/index.d.ts +153 -3
  10. package/dist/index.js +1 -1
  11. package/dist/install-hook-only.cjs +1 -1
  12. package/dist/install-hook-only.d.cts +9 -1
  13. package/dist/install-hook-only.d.ts +9 -1
  14. package/dist/install-hook-only.js +1 -1
  15. package/dist/rdt-hook.cjs +1 -1
  16. package/dist/rdt-hook.js +1 -1
  17. package/dist/source.cjs +14 -5
  18. package/dist/source.d.cts +86 -69
  19. package/dist/source.d.ts +86 -69
  20. package/dist/source.js +14 -5
  21. package/package.json +26 -27
  22. package/src/core.ts +353 -685
  23. package/src/errors.ts +34 -0
  24. package/src/index.ts +1 -0
  25. package/src/install-hook-only.ts +2 -2
  26. package/src/rdt-hook.ts +160 -161
  27. package/src/react-internals/generated/react-work-tags.ts +318 -0
  28. package/src/react-internals/index.ts +67 -0
  29. package/src/react-internals/semver.ts +80 -0
  30. package/src/react-internals/types.ts +186 -0
  31. package/src/react.ts +76 -0
  32. package/src/source/constants.ts +1 -1
  33. package/src/source/error-stack.ts +11 -0
  34. package/src/source/get-display-name-from-source.ts +44 -40
  35. package/src/source/get-source.ts +43 -26
  36. package/src/source/index.ts +11 -1
  37. package/src/source/inspect-hooks.ts +220 -207
  38. package/src/source/owner-stack.ts +119 -174
  39. package/src/source/parse-debug-stack.ts +4 -4
  40. package/src/source/parse-hook-names.ts +14 -53
  41. package/src/source/parse-stack.ts +14 -31
  42. package/src/source/renderer-dispatchers.ts +30 -0
  43. package/src/source/symbolication.ts +709 -120
  44. package/dist/core.d.cts +0 -214
  45. package/dist/core.d.ts +0 -214
  46. package/dist/core2.d.cts +0 -3
  47. package/dist/core2.d.ts +0 -3
  48. package/dist/get-source.cjs +0 -19
  49. package/dist/get-source.js +0 -19
  50. package/dist/index.iife.js +0 -9
  51. package/dist/install-hook-only.iife.js +0 -9
  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
package/dist/source.d.ts CHANGED
@@ -1,7 +1,14 @@
1
- import { u as Fiber } from "./unsubscribe.js";
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 { a as BippyUnsupportedHookError, i as BippySourceMapError, m as Fiber, n as BippyHookInspectionError, r as BippyHookRenderError, t as BippyError } from "./errors.js";
2
10
  //#region src/source/parse-stack.d.ts
3
11
  interface StackFrame {
4
- args?: unknown[];
5
12
  columnNumber?: number;
6
13
  lineNumber?: number;
7
14
  enclosingLineNumber?: number;
@@ -14,12 +21,80 @@ interface StackFrame {
14
21
  isIgnoreListed?: boolean;
15
22
  }
16
23
  interface ParseOptions {
17
- slice?: number | [number, number];
18
- allowEmpty?: boolean;
19
24
  includeInElement?: boolean;
20
25
  }
21
26
  declare const parseStack: (stackString: string, options?: ParseOptions) => StackFrame[];
22
27
  //#endregion
28
+ //#region ../../node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts
29
+ type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number];
30
+ //#endregion
31
+ //#region src/source/symbolication.d.ts
32
+ interface DecodedSourceMapSection {
33
+ map: {
34
+ file?: string;
35
+ ignoredSourceIndices?: Set<number>;
36
+ mappings: SourceMapSegment[][];
37
+ names?: string[];
38
+ sourceRoot?: string;
39
+ sources: string[];
40
+ sourcesContent?: Array<string | null>;
41
+ version: 3;
42
+ };
43
+ offset: {
44
+ column: number;
45
+ line: number;
46
+ };
47
+ }
48
+ interface IndexSourceMap {
49
+ file?: string;
50
+ sections: Array<{
51
+ map?: StandardSourceMap;
52
+ offset: {
53
+ column: number;
54
+ line: number;
55
+ };
56
+ url?: string;
57
+ }>;
58
+ version: 3;
59
+ }
60
+ interface SourceFetch {
61
+ (url: string, init?: RequestInit): Promise<Response>;
62
+ }
63
+ interface SourceMapRequestOptions {
64
+ allowUnsafeServerFetch?: boolean;
65
+ maxBundleSizeBytes?: number;
66
+ maxSourceMapSizeBytes?: number;
67
+ signal?: AbortSignal;
68
+ timeoutMs?: number;
69
+ }
70
+ interface SourceMap {
71
+ file?: string;
72
+ ignoredSourceIndices?: Set<number>;
73
+ mappings: SourceMapSegment[][];
74
+ names?: string[];
75
+ sections?: DecodedSourceMapSection[];
76
+ sourceRoot?: string;
77
+ sources: string[];
78
+ sourcesContent?: Array<string | null>;
79
+ version: 3;
80
+ }
81
+ interface StandardSourceMap {
82
+ file?: string;
83
+ ignoreList?: number[];
84
+ mappings: string;
85
+ names?: string[];
86
+ sourceRoot?: string;
87
+ sources: string[];
88
+ sourcesContent?: Array<string | null>;
89
+ version: 3;
90
+ x_google_ignoreList?: number[];
91
+ }
92
+ declare const getSourceFromSourceMap: (sourceMap: SourceMap, line: number, column: number) => StackFrame | null;
93
+ declare const getSourceFromSourceMapByFunctionName: (sourceMap: SourceMap, functionName: string) => StackFrame | null;
94
+ declare const getSourceContentFromSourceMap: (sourceMap: SourceMap, originalFileName: string) => string | null;
95
+ declare const getSourceMap: (file: string, useCache?: boolean, fetchFn?: SourceFetch, options?: SourceMapRequestOptions) => Promise<null | SourceMap>;
96
+ declare const symbolicateStack: (stack: StackFrame[], cache?: boolean, fetchFn?: SourceFetch) => Promise<StackFrame[]>;
97
+ //#endregion
23
98
  //#region src/source/owner-stack.d.ts
24
99
  declare const hasDebugStack: (fiber: Fiber) => fiber is Fiber & {
25
100
  _debugStack: NonNullable<Fiber["_debugStack"]>;
@@ -50,7 +125,7 @@ declare const formatOwnerStack: (stack: string) => string;
50
125
  * with a throwing dispatcher; server frames are enriched from debug stacks by
51
126
  * name matching. Works on every React version.
52
127
  */
53
- declare const getParentStack: (fiber: Fiber, shouldCache?: boolean, fetchFunction?: (url: string) => Promise<Response>) => Promise<StackFrame[]>;
128
+ declare const getParentStack: (fiber: Fiber, shouldCache?: boolean, fetchFunction?: SourceFetch) => Promise<StackFrame[]>;
54
129
  /**
55
130
  * Returns the stack of components that CREATED this fiber's JSX (the
56
131
  * `_debugOwner` chain), with exact creation-site locations from React 19's
@@ -61,7 +136,7 @@ declare const getParentStack: (fiber: Fiber, shouldCache?: boolean, fetchFunctio
61
136
  * yields no locatable frames (so callers always get the most useful stack
62
137
  * available).
63
138
  */
64
- declare const getOwnerStack: (fiber: Fiber, shouldCache?: boolean, fetchFunction?: (url: string) => Promise<Response>) => Promise<StackFrame[]>;
139
+ declare const getOwnerStack: (fiber: Fiber, shouldCache?: boolean, fetchFunction?: SourceFetch) => Promise<StackFrame[]>;
65
140
  //#endregion
66
141
  //#region src/source/types.d.ts
67
142
  interface FiberSource {
@@ -98,70 +173,12 @@ interface FiberSource {
98
173
  * console.log(source.fileName, source.lineNumber);
99
174
  * ```
100
175
  */
101
- declare const getSource: (fiber: Fiber, cache?: boolean, fetchFn?: (url: string) => Promise<Response>) => Promise<FiberSource | null>;
176
+ declare const getSource: (fiber: Fiber, cache?: boolean, fetchFn?: SourceFetch) => Promise<FiberSource | null>;
102
177
  declare const normalizeFileName: (fileName: string) => string;
103
178
  declare const isSourceFile: (fileName: string) => boolean;
104
179
  //#endregion
105
- //#region ../../node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts
106
- type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number];
107
- //#endregion
108
- //#region src/source/symbolication.d.ts
109
- interface DecodedSourceMapSection {
110
- map: {
111
- file?: string;
112
- ignoredSourceIndices?: Set<number>;
113
- mappings: SourceMapSegment[][];
114
- names?: string[];
115
- sourceRoot?: string;
116
- sources: string[];
117
- sourcesContent?: string[];
118
- version: 3;
119
- };
120
- offset: {
121
- column: number;
122
- line: number;
123
- };
124
- }
125
- interface IndexSourceMap {
126
- file?: string;
127
- sections: Array<{
128
- map: StandardSourceMap;
129
- offset: {
130
- column: number;
131
- line: number;
132
- };
133
- }>;
134
- version: 3;
135
- }
136
- type RawSourceMap = IndexSourceMap | StandardSourceMap;
137
- interface SourceMap {
138
- file?: string;
139
- ignoredSourceIndices?: Set<number>;
140
- mappings: SourceMapSegment[][];
141
- names?: string[];
142
- sections?: DecodedSourceMapSection[];
143
- sourceRoot?: string;
144
- sources: string[];
145
- sourcesContent?: string[];
146
- version: 3;
147
- }
148
- interface StandardSourceMap {
149
- file?: string;
150
- ignoreList?: number[];
151
- mappings: string;
152
- names?: string[];
153
- sourceRoot?: string;
154
- sources: string[];
155
- sourcesContent?: string[];
156
- version: 3;
157
- x_google_ignoreList?: number[];
158
- }
159
- declare const getSourceFromSourceMap: (sourceMap: SourceMap, line: number, column: number) => StackFrame | null;
160
- declare const getSourceMap: (file: string, useCache?: boolean, fetchFn?: (url: string) => Promise<Response>) => Promise<null | SourceMap>;
161
- declare const symbolicateStack: (stack: StackFrame[], cache?: boolean, fetchFn?: (url: string) => Promise<Response>) => Promise<StackFrame[]>;
162
- //#endregion
163
180
  //#region src/source/get-display-name-from-source.d.ts
164
- declare const getDisplayNameFromSource: (fiber: Fiber, cache?: boolean, fetchFn?: (url: string) => Promise<Response>) => Promise<string | null>;
181
+ declare const getDisplayNameFromSource: (fiber: Fiber, cache?: boolean, fetchFn?: SourceFetch) => Promise<string | null>;
165
182
  //#endregion
166
183
  //#region src/source/inspect-hooks.d.ts
167
184
  interface HookSource {
@@ -178,11 +195,11 @@ interface HooksNode {
178
195
  subHooks: HooksNode[];
179
196
  hookSource: HookSource | null;
180
197
  }
181
- interface HooksTree extends Array<HooksNode> {}
198
+ type HooksTree = HooksNode[];
182
199
  declare const getFiberHooks: (fiber: Fiber) => HooksTree;
183
200
  //#endregion
184
201
  //#region src/source/parse-hook-names.d.ts
185
202
  interface HookNames extends Map<string, string> {}
186
- declare const parseHookNames: (hooksTree: HooksTree, fetchFn?: (url: string) => Promise<Response>) => Promise<HookNames>;
203
+ declare const parseHookNames: (hooksTree: HooksTree, fetchFn?: SourceFetch) => Promise<HookNames>;
187
204
  //#endregion
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 };
205
+ export { BippyError, BippyHookInspectionError, BippyHookRenderError, BippySourceMapError, BippyUnsupportedHookError, type DecodedSourceMapSection, type FiberSource, type HookNames, type HookSource, type HooksNode, type HooksTree, type IndexSourceMap, type ParseOptions, type SourceFetch, type SourceMap, type SourceMapRequestOptions, type StackFrame, type StandardSourceMap, formatOwnerStack, getDisplayNameFromSource, getFiberHooks, getOwnerStack, getParentStack, getSource, getSourceContentFromSourceMap, getSourceFromSourceMap, getSourceFromSourceMapByFunctionName, getSourceMap, hasDebugStack, isSourceFile, normalizeFileName, parseHookNames, parseStack, symbolicateStack };
package/dist/source.js CHANGED
@@ -6,9 +6,18 @@
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{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(`
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(`
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(`
9
+ import{a as e,r as t}from"./rdt-hook.js";import{C as n,E as r,O as i,S as a,T as o,a as s,b as c,d as l,w as u}from"./core.js";const d=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,ee=[`rsc://`,`file:///`,`webpack-internal://`,`webpack://`,`node:`,`turbopack://`,`metro://`,`/app-pages-browser/`,`/(app-pages-browser)/`],te=[`rsc://`,`about://React/`],f=[`<anonymous>`,`eval`,``],p=/\.(cjs|cts|js|jsx|mdx|mjs|mts|ts|tsx)$/,ne=/(\.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,re=/^\?[\w~.-]+(?:=[^&#]*)?(?:&[\w~.-]+(?:=[^&#]*)?)*$/,ie=/\(at [^)]+\)$/,m=[`react_stack_bottom_frame`,`react-stack-bottom-frame`],ae=Error,oe=()=>ae.prepareStackTrace,h=e=>{ae.prepareStackTrace=e},se=/(^|@)\S+:\d+/,ce=/^\s*at .*(\S+:\d+|\(native\))/m,le=/^(eval@)?(\[native code\])?$/,g=(e,t)=>{if(t?.includeInElement!==!1){let t=e.split(`
10
+ `),n=[];for(let e of t)if(/^\s*at\s+/.test(e)){let t=de(e)[0];t&&n.push(t)}else if(/^\s*in\s+/.test(e)){let t=e.replace(/^\s*in\s+/,``).replace(/\s*\(at .*\)$/,``);n.push({functionName:t,source:e})}else if(e.match(se)){let t=fe(e)[0];t&&n.push(t)}return n}return e.match(ce)?de(e):fe(e)},ue=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]},de=e=>e.split(`
11
+ `).filter(e=>!!e.match(ce)).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=ue(r?r[1]:n);return{functionName:r&&n||void 0,fileName:[`eval`,`<anonymous>`,`(native)`].includes(i[0])?void 0:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}),fe=e=>e.split(`
12
+ `).filter(e=>!e.match(le)).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=ue(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}}}),pe=new WeakMap,me=e=>m.some(t=>e.includes(t)),he=e=>{let t=e.getFunctionName?.()??``;if(t)return t;let n=e.getTypeName?.()??``,r=e.getMethodName?.()??``;return n&&r?`${n}.${r}`:r},ge=e=>{let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=he(r);if(me(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}},_e=e=>{let t=-1;for(let n of m)if(t=e.indexOf(n),t!==-1)break;let n=t===-1?e:e.slice(0,e.lastIndexOf(`
13
+ `,t));return{frames:g(n).slice(1),isTrusted:t!==-1}},_=e=>{let t=pe.get(e);if(t)return t;let n=null,r=(e,t)=>{n=ge(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=oe();h(r);let a;try{a=String(e.stack)}finally{h(i)}let o=n??_e(a);return pe.set(e,o),o},ve=()=>{let n=e(),r=new Set([...t,...n.renderers.values()]),i=[],a=new Set;for(let e of r){let t=e.currentDispatcherRef;!t||a.has(t)||(a.add(t),i.push(t))}return i},ye=e=>`H`in e?e.H:e.current,v=(e,t)=>{`H`in e?e.H=t:e.current=t};var be=44,xe=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Se=new Uint8Array(64),Ce=new Uint8Array(128);for(let e=0;e<xe.length;e++){let t=xe.charCodeAt(e);Se[e]=t,Ce[t]=e}function y(e,t){let n=0,r=0,i=0;do i=Ce[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 we(e,t){return e.pos>=t?!1:e.peek()!==be}var Te=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 Ee(e){let{length:t}=e,n=new Te(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i=y(n,i),i<u&&(l=!1),u=i,we(n,e)?(a=y(n,a),o=y(n,o),s=y(n,s),we(n,e)?(c=y(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||De(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function De(e){e.sort(Oe)}function Oe(e,t){return e[0]-t[0]}const b=/^data:application\/json(?:;[^,]*)?,/i,ke=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,Ae=new Map,je=new WeakMap;var Me=class extends Error{};const Ne=new Map,Pe=new WeakMap,Fe=new Set([`chrome-extension:`,`moz-extension:`,`safari-web-extension:`]),x=new Set([`http:`,`https:`,...Fe]),Ie=(e,t,n,r)=>{let[,i,a,o,s]=e;if(i===void 0||a===void 0||o===void 0)return null;let c=t[i];return c?{columnNumber:o,fileName:c,functionName:s===void 0?void 0:r?.[s]||void 0,isIgnoreListed:n?.has(i)??!1,lineNumber:a+1}:null},Le=(e,t,n,r,i,a)=>{if(n<0||n>=e.length)return null;let o=e[n];if(!o||o.length===0)return null;let s=null,c=0,l=o.length-1;for(;c<=l;){let e=c+l>>1;o[e][0]<=r?(s=o[e],c=e+1):l=e-1}return!s||s.length<4?null:Ie(s,t,i,a)},S=(e,t,n)=>{if(e.sections){let r=t-1,i=null;for(let t of e.sections)if(r>t.offset.line||r===t.offset.line&&n>=t.offset.column)i=t;else break;if(!i)return null;let a=r-i.offset.line,o=r===i.offset.line?n-i.offset.column:n;return Le(i.map.mappings,i.map.sources,a,o,i.map.ignoredSourceIndices,i.map.names)}return Le(e.mappings,e.sources,t-1,n,e.ignoredSourceIndices,e.names)},Re=(e,t,n,r,i)=>{if(!n)return null;let a=n.indexOf(r);if(a===-1)return null;let o=null;for(let r of e)for(let e of r){if(e[4]!==a)continue;let r=Ie(e,t,i,n);if(r){if(!r.isIgnoreListed)return r;o??=r}}return o},ze=(e,t)=>{if(e.sections){let n=null;for(let r of e.sections){let e=Re(r.map.mappings,r.map.sources,r.map.names,t,r.map.ignoredSourceIndices);if(e){if(!e.isIgnoreListed)return e;n??=e}}return n}return Re(e.mappings,e.sources,e.names,t,e.ignoredSourceIndices)},Be=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},C=(e,t)=>{let n=Be(e.sources,e.sourcesContent,t);if(n!==null)return n;if(!e.sections)return null;for(let n of e.sections){let e=Be(n.map.sources,n.map.sourcesContent,t);if(e!==null)return e}return null},w=(e,t)=>{if(b.test(e))return e;try{return new URL(e,t).toString()}catch{try{let n=new URL(e,new URL(t,`https://bippy.invalid/`));return`${n.pathname}${n.search}${n.hash}`}catch{return null}}},Ve=e=>{try{let t=new URL(e),n=t.pathname.lastIndexOf(`.bundle`);if(n===-1)return null;let r=t.pathname.slice(n+7);if(r&&!r.startsWith(`//&`))return null;if(t.pathname=`${t.pathname.slice(0,n)}.map`,r){let e=new URLSearchParams(r.slice(3));for(let[n,r]of e)t.searchParams.set(n,r)}return t.hash=``,t.toString()}catch{return null}},He=(e,t,n)=>{let r=n.headers.get(`sourcemap`)??n.headers.get(`x-sourcemap`);if(r)return w(r.trim(),e);let i,a=t.length;for(;a>0&&!i;){let e=t.lastIndexOf(`
14
+ `,a-1)+1,n=t.slice(e,a).match(ke);n&&(i=n[1]||n[2]),a=e-1}return i?w(i,e):Ve(e)},T=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`mappings`),r=Reflect.get(e,`file`),i=Reflect.get(e,`names`),a=Reflect.get(e,`sourceRoot`),o=Reflect.get(e,`sources`),s=Reflect.get(e,`sourcesContent`),c=Reflect.get(e,`ignoreList`),l=Reflect.get(e,`x_google_ignoreList`);if(t!==3||typeof n!=`string`||r!==void 0&&typeof r!=`string`||i!==void 0&&(!Array.isArray(i)||i.some(e=>typeof e!=`string`))||a!==void 0&&typeof a!=`string`||s!==void 0&&(!Array.isArray(s)||s.some(e=>typeof e!=`string`&&e!==null))||c!==void 0&&(!Array.isArray(c)||c.some(e=>!Number.isInteger(e)||e<0))||l!==void 0&&(!Array.isArray(l)||l.some(e=>!Number.isInteger(e)||e<0))||!Array.isArray(o)||o.some(e=>typeof e!=`string`)||s&&s.length!==o.length)return!1;let u=o.length;return[...c??[],...l??[]].every(e=>e<u)},Ue=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`sections`);return t!==3||!Array.isArray(n)?!1:n.every(e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`map`),n=Reflect.get(e,`url`),r=Reflect.get(e,`offset`);if(typeof r!=`object`||!r)return!1;let i=Reflect.get(r,`column`),a=Reflect.get(r,`line`);return T(t)!==(typeof n==`string`&&n.length>0)&&typeof i==`number`&&Number.isInteger(i)&&i>=0&&typeof a==`number`&&Number.isInteger(a)&&a>=0})},We=e=>{let t=e.ignoreList??e.x_google_ignoreList;return t?.length?new Set(t):void 0},Ge=(e,t,n)=>{if(!e||d.test(t)||t.startsWith(`/`))return t;let r=e.endsWith(`/`)?e:`${e}/`,i=t.replace(/^\.\//,``);try{let e=d.test(r)?r:new URL(r,n).toString();return new URL(i,e).toString()}catch{let e=`${r}${i}`.split(`/`),t=[];for(let n of e)n===`..`?t.pop():n!==`.`&&t.push(n);return t.join(`/`)}},Ke=(e,t)=>e.sources.map(n=>Ge(e.sourceRoot,n,t)),qe=(e,t)=>{try{return{file:e.file,ignoredSourceIndices:We(e),mappings:Ee(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:Ke(e,t),sourcesContent:e.sourcesContent,version:3}}catch{return null}},Je=async(e,t,n)=>{let r=[],i=-1,a=-1;for(let o of e.sections){if(o.offset.line<i||o.offset.line===i&&o.offset.column<=a)return null;i=o.offset.line,a=o.offset.column;let e=o.url?w(o.url,t):null,s=o.map??(e?await n(e):null);if(!s)return null;let c=e??t;try{r.push({map:{...s,ignoredSourceIndices:We(s),mappings:Ee(s.mappings),sources:Ke(s,c)},offset:o.offset})}catch{return null}}let o=new Set;for(let e of r)for(let t of e.map.sources)o.add(t);return{file:e.file,mappings:[],names:[],sections:r,sourceRoot:void 0,sources:Array.from(o),sourcesContent:void 0,version:3}},Ye=(e,t=!1)=>{if(!e)return!1;let n=e.trim();if(!n)return!1;let r=n.match(d);if(!r)return!0;let i=r[0].toLowerCase();return t||x.has(i)},Xe=()=>typeof window>`u`&&typeof process<`u`&&typeof process.versions?.node==`string`,Ze=e=>{try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&!t.username&&!t.password}catch{return!1}},E=e=>{try{return new URL(e).protocol}catch{return null}},D=e=>{let t=E(e);return t!==null&&Fe.has(t)},Qe=(e,t)=>{try{let n=new URL(e),r=new URL(t);return n.protocol===r.protocol&&n.host===r.host}catch{return!1}},$e=(e,t,n,r)=>{if(b.test(t))return!0;if(!Ye(t,r))return!1;let i=E(e),a=E(t),o=i!==null&&!x.has(i)||a!==null&&!x.has(a);return!(n||o||D(e)||D(t))||Qe(e,t)},et=e=>e===408||e===425||e===429||e>=500,tt=e=>{if(e.ok)return!0;if(et(e.status))throw new Me;return!1},nt=(e,t,n)=>!n||t.url.length===0||Qe(e,t.url),rt=e=>{if(e.timeoutMs===void 0||e.timeoutMs<0)return{cleanup:()=>{},signal:e.signal};let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.aborted?n():e.signal?.addEventListener(`abort`,n,{once:!0});let r=setTimeout(()=>t.abort(new o(`Source map request timed out`)),e.timeoutMs);return{cleanup:()=>{clearTimeout(r),e.signal?.removeEventListener(`abort`,n)},signal:t.signal}},it=async(e,t)=>{let n=Number(e.headers.get(`content-length`));if(Number.isFinite(n)&&n>t)return null;if(!e.body){let n=await e.text();return new TextEncoder().encode(n).byteLength>t?null:n}let r=e.body.getReader(),i=new TextDecoder,a=[],o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)return await r.cancel(),null;a.push(i.decode(n,{stream:!0}))}return a.push(i.decode()),a.join(``)}finally{r.releaseLock()}},at=e=>{try{if(typeof globalThis.atob==`function`)return new TextDecoder().decode(Uint8Array.from(globalThis.atob(e),e=>e.charCodeAt(0)))}catch{return null}let t=e.replace(/\s/g,``).replace(/=+$/,``),n=[],r=0,i=0;for(let e of t){let t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.indexOf(e);if(t===-1)return null;r=r*64+t,i+=6,i>=8&&(i-=8,n.push(Math.floor(r/2**i)&255),r%=2**i)}return new TextDecoder().decode(Uint8Array.from(n))},ot=(e,t)=>{let n=e.indexOf(`,`);if(n===-1)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i.length>t*2)return null;try{let e=r.toLowerCase().includes(`;base64`)?at(i):decodeURIComponent(i);return e===null||new TextEncoder().encode(e).byteLength>t?null:JSON.parse(e)}catch{return null}},st=async(e,t,n,r,i)=>{if(b.test(e))return ot(e,r);let a=await t(e,{redirect:i?`error`:`follow`,signal:n});if(!tt(a)||!nt(e,a,i))return null;let o=await it(a,r);if(o===null)return null;try{return JSON.parse(o)}catch{return null}},ct=async(e,t,n={})=>{let r=t!==void 0;if(!Ye(e,r))return null;let i=Xe(),a=i||D(e);if(i&&!t&&(!n.allowUnsafeServerFetch||!Ze(e)))return null;let o=t??(typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):void 0);if(!o)return null;let s=n.maxBundleSizeBytes??26214400,c=n.maxSourceMapSizeBytes??104857600;if(s<0||c<0)return null;let l=rt(n);try{let t=await o(e,{redirect:a?`error`:`follow`,signal:l.signal});if(!tt(t)||!nt(e,t,a))return null;let n=await it(t,s);if(n===null)return null;let i=He(e,n,t);if(!i||!$e(e,i,a,r))return null;let u=await st(i,o,l.signal,c,a);return T(u)?qe(u,i):Ue(u)?Je(u,i,async t=>{if(!$e(e,t,a,r))return null;let n=await st(t,o,l.signal,c,a);return T(n)?n:null}):null}finally{l.cleanup()}},lt=(e,t,n)=>{if(!n)return t;let r=e.get(n);return r||(r=new Map,e.set(n,r)),r},ut=e=>lt(je,Ae,e),dt=e=>lt(Pe,Ne,e),ft=(e,t)=>t.allowUnsafeServerFetch===void 0&&t.maxBundleSizeBytes===void 0&&t.maxSourceMapSizeBytes===void 0&&t.timeoutMs===void 0?e:`${e}\0${t.allowUnsafeServerFetch??``}\0${t.maxBundleSizeBytes??``}\0${t.maxSourceMapSizeBytes??``}\0${t.timeoutMs??``}`,O=async(e,t=!0,n,r={})=>{let i=t&&r.signal===void 0,a=ut(n),o=dt(n),s=ft(e,r);if(i&&a.has(s))return a.get(s)??null;let c=i?o.get(s):void 0;if(c)return(await c).sourceMap;let l=ct(e,n,r).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));i&&o.set(s,l);let{sourceMap:u,isTransientFailure:d}=await l;return i&&(o.delete(s),d||a.set(s,u)),u},k=async(e,t=!0,n)=>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=S(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,functionName:i.functionName??e.functionName,lineNumber:i.lineNumber,columnNumber:i.columnNumber,isIgnoreListed:i.isIgnoreListed,isSymbolicated:!0}:e})),A=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,pt=e=>`tag`in e&&typeof e.tag==`number`,j=e=>{let t=null;if(c(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)}),!t)return null;let{frames:n,isTrusted:r}=_(t);if(!r)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},mt=()=>{let e=[];for(let t of ve())e.push({currentDispatcherRef:t,value:ye(t)}),v(t,null);return e},ht=e=>{for(let{currentDispatcherRef:t,value:n}of e)v(t,n)},M=e=>`\n in ${e}`,gt=(e,t)=>{let n=M(e);return t&&(n+=` (at ${t})`),n};let N=!1;const P=new WeakMap,F=(e,t)=>{if(!e||N)return``;let n=P.get(e);if(n!==void 0)return n;let r=oe();h(void 0),N=!0;let i=mt(),a=console.error,o=console.warn;console.error=()=>{},console.warn=()=>{};try{let n={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{Function.prototype.apply.call(t,void 0,[])}catch(e){n=e}Function.prototype.apply.call(e,t.prototype,[])}}else{try{throw Error()}catch(e){n=e}let t=Function.prototype.apply.call(e,void 0,[]);typeof t==`object`&&t&&`catch`in t&&typeof t.catch==`function`&&t.catch(()=>void 0)}}catch(e){if(e instanceof Error&&n instanceof Error&&typeof e.stack==`string`)return[e.stack,n.stack]}return[null,null]}};Object.defineProperty(n.DetermineComponentFrameRoot,"displayName",{value:`DetermineComponentFrameRoot`}),Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,`name`)?.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});let[r,i]=n.DetermineComponentFrameRoot();if(r&&i){let t=r.split(`
15
+ `),n=i.split(`
16
+ `),a=0,o=0;for(;a<t.length&&!t[a].includes(`DetermineComponentFrameRoot`);)a++;for(;o<n.length&&!n[o].includes(`DetermineComponentFrameRoot`);)o++;if(a===t.length||o===n.length)for(a=t.length-1,o=n.length-1;a>=1&&o>=0&&t[a]!==n[o];)o--;for(;a>=1&&o>=0;a--,o--)if(t[a]!==n[o]){if(a!==1||o!==1)do if(a--,o--,o<0||t[a]!==n[o]){let n=`\n${t[a].replace(` at new `,` at `)}`,[r]=g(n);if(!r?.fileName)continue;let i=s(e);return i&&n.includes(`<anonymous>`)&&(n=n.replace(`<anonymous>`,i)),P.set(e,n),n}while(a>=1&&o>=0);break}}}finally{N=!1,h(r),ht(i),console.error=a,console.warn=o}let c=s(e),l=c?M(c):``;return P.set(e,l),l},_t=(e,t)=>{let n=``,r=i(e);switch(e.tag){case r.ActivityComponent:n=M(`Activity`);break;case r.ClassComponent:n=F(e.type,!0);break;case r.ForwardRef:n=F(l(e.type)??e.type,!1);break;case r.FunctionComponent:case r.SimpleMemoComponent:n=F(l(e.type)??e.type,!1);break;case r.HostComponent:case r.HostHoistable:case r.HostSingleton:typeof e.type==`string`&&(n=M(e.type));break;case r.LazyComponent:n=M(`Lazy`);break;case r.SuspenseComponent:n=e.child!==t&&t!==null?M(`Suspense Fallback`):M(`Suspense`);break;case r.SuspenseListComponent:n=M(`SuspenseList`);break;case r.ViewTransitionComponent:n=M(`ViewTransition`);break;default:return``}return n},vt=e=>{try{let t=``,n=e,r=null;do{t+=_t(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+=gt(r.name,r.env))}r=n,n=n.return}while(n);return t}catch(e){return e instanceof Error?`\nBippy couldn’t generate the stack: ${e.message}\n${e.stack}`:``}},yt=e=>{let t=e;if(!t)return``;t.startsWith(`Error: react-stack-top-frame
17
+ `)&&(t=t.slice(29));let n=t.indexOf(`
18
+ `);n!==-1&&(t=t.slice(n+1));let r=Math.max(...m.map(e=>t.indexOf(e)));if(r!==-1&&(r=t.lastIndexOf(`
19
+ `,r)),r!==-1)t=t.slice(0,r);else return``;return t},bt=e=>!!(e.functionName&&e.fileName&&wt(e.fileName)),xt=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,St=e=>{let t=new Map;for(let n of e){if(!bt(n))continue;let e=n.functionName,r=t.get(e)??[];r.some(e=>xt(e,n))||(r.push(n),t.set(e,r))}return t},Ct=(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})`)}},wt=e=>te.some(t=>e.startsWith(t)),Tt=e=>!e.isServer&&e.fileName&&wt(e.fileName)?{...e,isServer:!0}:e,Et=e=>{let t=[],n=e;for(;n;)if(pt(n)){let e=n;if(n=e._debugOwner,n&&A(e)){let{frames:n,isTrusted:r}=_(e._debugStack);if(r)for(let e of n)t.push(Tt(e))}}else{let e=n;if(n=e.owner,n&&e.debugStack instanceof Error)for(let n of _(e.debugStack).frames)t.push({...n,isServer:!0})}return t},Dt=e=>{let t=[];return c(e,e=>{if(!A(e))return;let{frames:n,isTrusted:r}=_(e._debugStack);r&&t.push(...n)},!0),t},Ot=e=>{let t=Dt(e),n=g(vt(e)),r=St(t),i=new Map;return n.map(e=>e.source!==void 0&&ie.test(e.source)?Ct(e,r,i):e).filter((e,t,n)=>{if(t===0)return!0;let r=n[t-1];return e.functionName!==r.functionName})},I=async(e,t=!0,n)=>k(Ot(e),t,n),kt=e=>!!e.fileName&&!e.isIgnoreListed,At=async(e,t=!0,n)=>{let r=Et(e);if(r.length>0){let i=j(e)??{};i.functionName=s(e.type)??i.functionName;let a=await k([i,...r],t,n);if(a.some((e,t)=>t>0&&kt(e)))return a}return I(e,t,n)},jt=e=>{let t=e._debugSource;return t?typeof t==`object`&&typeof t.fileName==`string`&&t.fileName!==`(native)`&&typeof t.lineNumber==`number`:!1},L=e=>e.fileName?{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName}:null,Mt=e=>{if(!A(e))return null;let{frames:t,isTrusted:n}=_(e._debugStack);if(!n)return null;for(let e of t)if(e.fileName)return e;return null},Nt=async(e,t,n)=>{let r=s(e.type);if(!r)return null;let i=g(Error().stack??``),a=new Set;for(let e of i){let i=e.fileName;if(!i||a.has(i))continue;a.add(i);let o=await O(i,t,n);if(!o)continue;let s=ze(o,r);if(s&&!s.isIgnoreListed)return L(s)}return null},Pt=async(e,t=!0,n)=>{if(jt(e))return e._debugSource;let r=Mt(e)??j(e);if(r){let[e]=await k([r],t,n),i=L(e);if(i)return i}let i=await I(e,t,n);for(let e of i)if(e.fileName)return L(e);return Nt(e,t,n)},Ft=e=>e.split(`/`).filter(Boolean).length,It=e=>{let t=e.indexOf(`/`,1);if(t===-1)return e;let n=e.slice(0,t);if(Ft(n)!==1)return e;let r=e.slice(t);if(!p.test(r))return e;let i=r.split(`/`).filter(Boolean);if(i.length<2)return e;let a=i[0];return a.startsWith(`@`)||a.length>4?e:r},Lt=e=>{if(!e||f.some(t=>t===e))return``;let t=e,n=/^[a-zA-Z]:[\\/]/.test(t);if(t.startsWith(`http://`)||t.startsWith(`https://`)){try{t=new URL(t).pathname}catch{}t=It(t)}if(t.startsWith(`about://React/`)){let e=t.slice(14),n=e.indexOf(`/`),r=e.indexOf(`:`);t=n!==-1&&(r===-1||n<r)?e.slice(n+1):e}let r=!0;for(;r;){r=!1;for(let e of ee)if(t.startsWith(e)){t=t.slice(e.length),e===`file:///`&&(t=`/${t.replace(/^\/+/,``)}`),r=!0;break}}if(!n){let e=t.match(d);e&&(t=t.slice(e[0].length))}if(t.startsWith(`//`)){let e=t.indexOf(`/`,2);t=e===-1?``:t.slice(e)}let i=t.indexOf(`?`);if(i!==-1){let e=t.slice(i);re.test(e)&&(t=t.slice(0,i))}return t},Rt=e=>{let t=Lt(e);return!(!t||!p.test(t)||ne.test(t))},zt=[/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/,/(?:^|export\s+)function\s+(\w+)/,/(?:^|export\s+)class\s+(\w+)/],Bt=e=>{for(let t of zt){let n=e.match(t);if(n?.[1])return n[1]}return null},Vt=(e,t)=>{let n=e.split(`
20
+ `),r=t-1;if(r<0||r>=n.length)return null;for(let e=0;e<=5;e++){let t=e===0?[r]:[r-e,r+e];for(let e of t){if(e<0||e>=n.length)continue;let t=Bt(n[e]);if(t)return t}}return null},Ht=async(e,t=!0,n)=>{let r=j(e)??Ot(e).find(e=>e.fileName);if(!r?.fileName)return s(e.type);let i=await O(r.fileName,t,n);if(!i)return s(e.type);let a=null;if(typeof r.lineNumber==`number`&&typeof r.columnNumber==`number`&&(a=S(i,r.lineNumber,r.columnNumber)),!a?.fileName||!a.lineNumber)return s(e.type);let o=C(i,a.fileName);return(o?Vt(o,a.lineNumber):null)||(a.functionName??s(e.type))},Ut=Symbol.for(`react.context`),Wt=Symbol.for(`react.memo_cache_sentinel`);let R=[],z=null,B=null,V=null,H=null,U=0,W=null;const G=Error("Suspense interrupted this render. This error is an internal implementation detail of `use`."),K=e=>g(e.stack||``,{includeInElement:!1}),q=()=>{let e=V;return e!==null&&(V=e.next),e},J=e=>typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`,Gt=e=>typeof e==`object`&&!!e&&`current`in e,Y=e=>typeof e==`object`&&!!e&&`_currentValue`in e,Kt=e=>typeof e==`object`&&!!e&&`context`in e&&`next`in e,qt=e=>typeof e==`object`&&!!e&&`render`in e&&typeof e.render==`function`,X=e=>{if(B===null)return e._currentValue;if(H===null)throw new n(`Context reads don’t match context dependencies.`);if(Object.hasOwn(H,`memoizedValue`)){let e=H.memoizedValue;return H=H.next,e}return e._currentValue},Z=(e,t,n,r=null)=>{R.push({displayName:r,primitive:e,stackError:Error(),value:t,dispatcherHookName:n})},Jt=e=>{if(typeof e==`object`&&e){if(J(e)){let t=W!==null&&U<W.length?W[U++]:e,n=J(t)?t:e;switch(n.status){case`fulfilled`:return Z(`Promise`,n.value,`Use`),n.value;case`rejected`:throw n.reason}throw Z(`Unresolved`,n,`Use`),G}if(`$$typeof`in e&&e.$$typeof===Ut&&Y(e)){let t={_currentValue:e._currentValue,displayName:typeof e.displayName==`string`?e.displayName:void 0},n=X(t);return Z(`Context (use)`,n,`Use`,t.displayName??`Context`),n}}throw new n(`use() received an unsupported value: `+String(e))},Yt=e=>{let t=X(e);return Z(`Context`,t,`Context`,e.displayName??null),t},Xt=e=>{let t=q(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return Z(`State`,n,`State`),[n,()=>{}]},Zt=(e,t,n)=>{let r=q(),i=r===null?n===void 0?t:n(t):r.memoizedState;return Z(`Reducer`,i,`Reducer`),[i,()=>{}]},Qt=e=>{let t=q(),n=Gt(t?.memoizedState)?t.memoizedState:{current:e};return Z(`Ref`,n.current,`Ref`),n},$t=()=>{let e=q();return Z(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},en=e=>{q(),Z(`LayoutEffect`,e,`LayoutEffect`)},tn=e=>{q(),Z(`InsertionEffect`,e,`InsertionEffect`)},nn=e=>{q(),Z(`Effect`,e,`Effect`)},rn=e=>{q();let t=Gt(e)?e.current:void 0;Z(`ImperativeHandle`,t,`ImperativeHandle`)},an=(e,t)=>{Z(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},on=e=>{let t=q();return Z(`Callback`,Array.isArray(t?.memoizedState)?t.memoizedState[0]:e,`Callback`),e},sn=e=>{let t=q(),n=Array.isArray(t?.memoizedState)?t.memoizedState[0]:e();return Z(`Memo`,n,`Memo`),n},cn=(e,t)=>{let n=q();q();let r=n===null?t():n.memoizedState;return Z(`SyncExternalStore`,r,`SyncExternalStore`),r},ln=()=>{let e=q();q();let t=e?.memoizedState===!0;return Z(`Transition`,t,`Transition`),[t,()=>{}]},un=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`DeferredValue`,n,`DeferredValue`),n},dn=()=>{let e=q(),t=typeof e?.memoizedState==`string`?e.memoizedState:``;return Z(`Id`,t,`Id`),t},fn=e=>{let t=B;if(t==null)return[];let n=t.updateQueue?.memoCache;if(n==null)return[];let r=n.data[n.index];return r===void 0&&(r=n.data[n.index]=Array.from({length:e},()=>Wt)),n.index++,r},pn=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`Optimistic`,n,`Optimistic`),[n,()=>{}]},mn=(e,t)=>{let n,r=null;if(e!==null){let t=e.memoizedState;if(J(t))switch(t.status){case`fulfilled`:n=t.value;break;case`rejected`:r=t.reason;break;default:r=G,n=t}else n=t}else n=t;return{value:n,error:r}},hn=e=>(t,n)=>{let r=q();q(),q();let{value:i,error:a}=mn(r,n);if(Z(e,i,e),a!==null)throw a;return[i,()=>{},!1]},gn=hn(`ActionState`),Q={readContext:X,use:Jt,useCallback:on,useContext:Yt,useEffect:nn,useImperativeHandle:rn,useLayoutEffect:en,useInsertionEffect:tn,useMemo:sn,useReducer:Zt,useRef:Qt,useState:Xt,useDebugValue:an,useDeferredValue:un,useTransition:ln,useSyncExternalStore:cn,useId:dn,useHostTransitionStatus:()=>{let e=X({_currentValue:null});return Z(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:hn(`FormState`),useActionState:gn,useOptimistic:pn,useMemoCache:fn,useCacheRefresh:$t,useEffectEvent:e=>(q(),Z(`EffectEvent`,e,`EffectEvent`),e)},_n=new Proxy(Q,{get(e,t){if(Object.hasOwn(e,t))return Reflect.get(e,t);throw new r(`The React dispatcher is missing method `+t)}}),vn=()=>{if(z!==null)return z;let e=new Map,t;try{Q.useContext({_currentValue:null}),Q.useState(null),Q.useReducer(e=>e,null),Q.useRef(null),Q.useCacheRefresh(),Q.useLayoutEffect(()=>{}),Q.useInsertionEffect(()=>{}),Q.useEffect(()=>{}),Q.useImperativeHandle(void 0),Q.useDebugValue(null),Q.useCallback(()=>{}),Q.useTransition(),Q.useSyncExternalStore(()=>()=>{},()=>null),Q.useDeferredValue(null),Q.useMemo(()=>null),Q.useOptimistic(null),Q.useFormState(e=>e,null),Q.useActionState(e=>e,null),Q.useHostTransitionStatus(),Q.use({$$typeof:Ut,_currentValue:null});let e=Promise.resolve(null);Reflect.set(e,`status`,`fulfilled`),Reflect.set(e,`value`,null),Q.use(e);try{Q.use(new Promise(()=>{}))}catch{}Q.useId(),Q.useEffectEvent(()=>{})}finally{t=R,R=[]}for(let n of t)e.set(n.primitive,K(n.stackError));return z=e,z};let yn=0;const bn=(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},xn=(e,t)=>{let n=bn(t,e,yn);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=bn(t,e,r),n!==-1)return yn=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)},Sn=(e,t)=>{let n=$(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},Cn=(e,t)=>{let n=vn().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&&Sn(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&Sn(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},wn=(e,t)=>{let n=K(t.stackError),r=xn(e,n),i=Cn(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)]},Tn=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),En=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=wn(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=Tn.has(u)?null:a++,ee=u===`Reducer`||u===`State`,te=l||u,f=c?.[0],p={lineNumber:f?.lineNumber??null,columnNumber:f?.columnNumber??null,functionName:f?.functionName??null,fileName:f?.fileName??null};i.push({id:d,isStateEditable:ee,name:te,value:s.value,subHooks:[],hookSource:p})}return Dn(n,null),n},Dn=(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)):Dn(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},On=(e,t)=>{let n=t;for(;n;){if(n.tag===i(n).ContextProvider){let t=n.type,r=typeof t==`object`&&t&&`_context`in t?t._context:void 0,i=Y(r)?r:Y(t)?t:null;i&&!e.has(i)&&(e.set(i,i._currentValue),i._currentValue=n.memoizedProps.value)}n=n.return}},kn=e=>{e.forEach((e,t)=>{t._currentValue=e})},An=e=>{if(e!==G)throw e instanceof r?e:new u(`Bippy couldn’t render the inspected component`,e)},jn=(e,t)=>{if(e&&typeof e==`object`&&`defaultProps`in e&&typeof e.defaultProps==`object`&&e.defaultProps!==null){let n={...t},r=e.defaultProps;for(let[e,t]of Object.entries(r))n[e]===void 0&&(n[e]=t);return n}return t},Mn=()=>{let e={};for(let t in console)try{e[t]=Reflect.get(console,t),Reflect.set(console,t,()=>{})}catch{}return e},Nn=e=>{for(let t in e)try{Reflect.set(console,t,e[t])}catch{}},Pn=(e,t)=>{let n=ye(e);v(e,_n);let r=[],i;try{i=Error(),t()}catch(e){An(e)}finally{r=R,R=[],v(e,n)}let a=i===void 0?[]:K(i);return En(a,r)},Fn=()=>{let e=ve()[0];if(!e)throw new n(`Bippy couldn’t find a React renderer. Load React and install Bippy’s hook.`);return e},In=e=>{let t=[`dependencies_old`,`dependencies_new`].find(t=>Object.hasOwn(e,t));if(Object.hasOwn(e,`dependencies`)){let t=e.dependencies;H=t===null?null:t.firstContext}else if(t){let n=Reflect.get(e,t),r=typeof n==`object`&&n&&`firstContext`in n?n.firstContext:null;H=Kt(r)?r:null}else if(Object.hasOwn(e,`contextDependencies`)){let t=Reflect.get(e,`contextDependencies`),n=typeof t==`object`&&t&&`first`in t?t.first:null;H=Kt(n)?n:null}else throw new n(`Bippy doesn’t support this React version.`)},Ln=e=>{let t=Fn(),r=i(e);if(e.tag!==r.FunctionComponent&&e.tag!==r.SimpleMemoComponent&&e.tag!==r.ForwardRef)throw new n(`Hook inspection requires a function component Fiber.`);vn(),V=e.memoizedState,B=e;let a=e.dependencies?._debugThenableState,o=Array.isArray(a)?a:a?.thenables;W=Array.isArray(o)?o:null,U=0,In(e);let s=e.type,c=e.memoizedProps;s!==e.elementType&&(c=jn(s,c));let l=Mn(),u=new Map;try{if(H!==null&&!Object.hasOwn(H,`memoizedValue`)&&On(u,e),e.tag===r.ForwardRef){if(!qt(s))throw new n(`ForwardRef fiber is missing its render function.`);return Pn(t,()=>{s.render(c,e.ref)})}if(typeof s!=`function`)throw new n(`Function component fiber is missing its component function.`);return Pn(t,()=>{s(c)})}finally{B=null,V=null,H=null,W=null,U=0,kn(u),Nn(l)}},Rn=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),zn=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:[\w$.]+\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,Bn=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,Vn=e=>{let t=[],n=e=>{for(let r of e)Rn.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},Hn=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},Un=(e,t,n)=>{let r=e.split(`
12
21
  `),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(`
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};
22
+ `),s=[...o.matchAll(zn)],c=o.lastIndexOf(`
23
+ `)+1+n,l=s.filter(e=>e.index<=c).at(-1);return l?Hn(l[1]):null},Wn=async(e,t,n,r)=>{let{sourceContentCache:i,fetchFn:a}=r,o=await O(e,!0,a);if(o){let e=S(o,t,n);if(e?.fileName&&e.lineNumber!==void 0){let t=C(o,e.fileName);if(t)return{sourceCode:t,lineNumber:e.lineNumber,columnNumber:e.columnNumber??0}}}if(!i.has(e))try{let t=await(a??fetch)(e);i.set(e,t.ok?await t.text():null)}catch{i.set(e,null)}let s=i.get(e)??null;return s?{sourceCode:s,lineNumber:t,columnNumber:n}:null},Gn=async(e,t)=>{let n=new Map,r=Vn(e);if(r.length===0)return n;let i={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 Wn(t.fileName,t.lineNumber,t.columnNumber,i);if(!r)return;let a=Un(r.sourceCode,r.lineNumber,r.columnNumber);if(a){let e=Bn(t);n.set(e,a)}})),n};export{a as BippyError,n as BippyHookInspectionError,u as BippyHookRenderError,o as BippySourceMapError,r as BippyUnsupportedHookError,yt as formatOwnerStack,Ht as getDisplayNameFromSource,Ln as getFiberHooks,At as getOwnerStack,I as getParentStack,Pt as getSource,C as getSourceContentFromSourceMap,S as getSourceFromSourceMap,ze as getSourceFromSourceMapByFunctionName,O as getSourceMap,A as hasDebugStack,Rt as isSourceFile,Lt as normalizeFileName,Gn as parseHookNames,g as parseStack,k as symbolicateStack};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bippy",
3
- "version": "0.6.1-dev.fe75557",
3
+ "version": "0.7.0-dev.697d535",
4
4
  "description": "hack into react internals",
5
5
  "keywords": [
6
6
  "bippy",
@@ -34,7 +34,6 @@
34
34
  "type": "module",
35
35
  "main": "dist/index.js",
36
36
  "module": "dist/index.js",
37
- "browser": "dist/index.iife.js",
38
37
  "types": "dist/index.d.ts",
39
38
  "exports": {
40
39
  "./package.json": "./package.json",
@@ -48,16 +47,6 @@
48
47
  "default": "./dist/index.cjs"
49
48
  }
50
49
  },
51
- "./core": {
52
- "import": {
53
- "types": "./dist/core.d.ts",
54
- "default": "./dist/core.js"
55
- },
56
- "require": {
57
- "types": "./dist/core.d.cts",
58
- "default": "./dist/core.cjs"
59
- }
60
- },
61
50
  "./install-hook-only": {
62
51
  "import": {
63
52
  "types": "./dist/install-hook-only.d.ts",
@@ -78,16 +67,6 @@
78
67
  "default": "./dist/source.cjs"
79
68
  }
80
69
  },
81
- "./react-refresh": {
82
- "import": {
83
- "types": "./dist/react-refresh.d.ts",
84
- "default": "./dist/react-refresh.js"
85
- },
86
- "require": {
87
- "types": "./dist/react-refresh.d.cts",
88
- "default": "./dist/react-refresh.cjs"
89
- }
90
- },
91
70
  "./dist/*": "./dist/*.js",
92
71
  "./dist/*.js": "./dist/*.js",
93
72
  "./dist/*.cjs": "./dist/*.cjs"
@@ -95,8 +74,16 @@
95
74
  "publishConfig": {
96
75
  "access": "public"
97
76
  },
77
+ "dependencies": {
78
+ "@types/react-reconciler": "^0.33.0"
79
+ },
98
80
  "devDependencies": {
81
+ "@babylonjs/core": "^9.20.0",
82
+ "@babylonjs/gui": "^9.20.0",
99
83
  "@jridgewell/sourcemap-codec": "^1.5.0",
84
+ "@opentui/core": "^0.5.1",
85
+ "@opentui/react": "^0.5.1",
86
+ "@pixi/react": "^8.0.5",
100
87
  "@react-pdf/renderer": "^4.5.1",
101
88
  "@react-three/fiber": "^9.6.1",
102
89
  "@react-three/test-renderer": "^9.1.0",
@@ -109,25 +96,37 @@
109
96
  "happy-dom": "^15.11.7",
110
97
  "ink": "^7.1.1",
111
98
  "ink-testing-library": "^4.0.0",
99
+ "konva": "^10.3.0",
100
+ "pixi.js": "^8.19.0",
112
101
  "publint": "^0.3.0",
113
102
  "react": "19.0.0",
103
+ "react-17": "npm:react@17.0.2",
104
+ "react-18": "npm:react@18.3.1",
105
+ "react-babylonjs": "^4.0.2",
106
+ "react-devtools-core": "7.0.1",
114
107
  "react-devtools-inline": "^6.0.1",
115
108
  "react-dom": "19.0.0",
109
+ "react-dom-17": "npm:react-dom@17.0.2",
110
+ "react-dom-18": "npm:react-dom@18.3.1",
111
+ "react-konva": "^19.2.5",
116
112
  "react-nil": "^2.0.0",
117
- "react-refresh": "^0.16.0",
118
113
  "remotion": "^4.0.496",
119
114
  "three": "^0.185.1",
120
115
  "tsx": "^4.21.0",
121
- "vite-plus": "latest"
116
+ "typescript": "^5.9.3",
117
+ "vite-plus": "latest",
118
+ "zod": "^4.4.3"
122
119
  },
123
120
  "peerDependencies": {
124
121
  "react": ">=17.0.1"
125
122
  },
126
123
  "scripts": {
127
- "build": "NODE_ENV=production vp pack && tsx scripts/append-banner.ts",
124
+ "build": "NODE_ENV=production vp pack && tsx scripts/check-react-entry.ts",
125
+ "check:react-internals": "tsx scripts/generate-react-internals.ts --check",
126
+ "coverage": "vp test --coverage",
128
127
  "dev": "NODE_ENV=development vp pack --watch",
128
+ "generate:react-internals": "tsx scripts/generate-react-internals.ts",
129
129
  "publint": "publint",
130
- "test": "vp test",
131
- "coverage": "vp test --coverage"
130
+ "test": "vp test"
132
131
  }
133
132
  }