bippy 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +223 -463
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/errors.d.cts +410 -0
- package/dist/errors.d.ts +410 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +153 -3
- package/dist/index.d.ts +153 -3
- package/dist/index.js +1 -1
- package/dist/install-hook-only.cjs +1 -1
- package/dist/install-hook-only.d.cts +9 -1
- package/dist/install-hook-only.d.ts +9 -1
- package/dist/install-hook-only.js +1 -1
- package/dist/rdt-hook.cjs +1 -1
- package/dist/rdt-hook.js +1 -1
- package/dist/source.cjs +14 -5
- package/dist/source.d.cts +86 -69
- package/dist/source.d.ts +86 -69
- package/dist/source.js +14 -5
- package/package.json +26 -27
- package/src/core.ts +353 -685
- package/src/errors.ts +34 -0
- package/src/index.ts +1 -0
- package/src/install-hook-only.ts +2 -2
- package/src/rdt-hook.ts +160 -161
- package/src/react-internals/generated/react-work-tags.ts +318 -0
- package/src/react-internals/index.ts +67 -0
- package/src/react-internals/semver.ts +80 -0
- package/src/react-internals/types.ts +186 -0
- package/src/react.ts +76 -0
- package/src/source/constants.ts +1 -1
- package/src/source/error-stack.ts +11 -0
- package/src/source/get-display-name-from-source.ts +44 -40
- package/src/source/get-source.ts +43 -26
- package/src/source/index.ts +11 -1
- package/src/source/inspect-hooks.ts +220 -207
- package/src/source/owner-stack.ts +119 -174
- package/src/source/parse-debug-stack.ts +4 -4
- package/src/source/parse-hook-names.ts +14 -53
- package/src/source/parse-stack.ts +14 -31
- package/src/source/renderer-dispatchers.ts +30 -0
- package/src/source/symbolication.ts +709 -120
- package/dist/core.d.cts +0 -214
- package/dist/core.d.ts +0 -214
- package/dist/core2.d.cts +0 -3
- package/dist/core2.d.ts +0 -3
- package/dist/get-source.cjs +0 -19
- package/dist/get-source.js +0 -19
- package/dist/index.iife.js +0 -9
- package/dist/install-hook-only.iife.js +0 -9
- package/dist/react-refresh.cjs +0 -9
- package/dist/react-refresh.d.cts +0 -66
- package/dist/react-refresh.d.ts +0 -66
- package/dist/react-refresh.js +0 -9
- package/dist/unsubscribe.d.cts +0 -298
- package/dist/unsubscribe.d.ts +0 -298
- package/src/react-refresh/constants.ts +0 -9
- package/src/react-refresh/detect-hmr-transport.ts +0 -33
- package/src/react-refresh/index.ts +0 -173
- package/src/react-refresh/metro-hmr-transport.ts +0 -188
- package/src/react-refresh/next-webpack-hmr-transport.ts +0 -72
- package/src/react-refresh/normalize-hmr-file-path.ts +0 -24
- package/src/react-refresh/types.ts +0 -7
- package/src/react-refresh/vite-hmr-transport.ts +0 -116
- package/src/types.ts +0 -438
- package/src/unsubscribe.ts +0 -17
package/dist/source.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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
|
-
|
|
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?:
|
|
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
|
|
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{
|
|
10
|
-
`),
|
|
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(
|
|
14
|
-
`)+1+n,l=s.filter(e=>e.index<=c).at(-1);return l?
|
|
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.
|
|
3
|
+
"version": "0.7.0",
|
|
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
|
-
"
|
|
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/
|
|
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
|
}
|