bippy 0.6.1-dev.61475ed → 0.6.1-dev.d7876ea
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -48
- package/dist/core.cjs +1 -1
- package/dist/core.d.cts +42 -56
- package/dist/core.d.ts +42 -56
- package/dist/core.js +1 -1
- package/dist/core2.cjs +9 -0
- package/dist/core2.d.cts +3 -3
- package/dist/core2.d.ts +3 -3
- package/dist/core2.js +9 -0
- package/dist/errors.d.cts +436 -0
- package/dist/errors.d.ts +436 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.iife.js +1 -1
- package/dist/index.js +1 -1
- package/dist/install-hook-only.cjs +1 -1
- package/dist/install-hook-only.d.cts +1 -1
- package/dist/install-hook-only.d.ts +1 -1
- package/dist/install-hook-only.iife.js +1 -1
- package/dist/install-hook-only.js +1 -1
- package/dist/rdt-hook.cjs +1 -1
- package/dist/rdt-hook.js +1 -1
- package/dist/source.cjs +14 -4
- package/dist/source.d.cts +18 -9
- package/dist/source.d.ts +18 -9
- package/dist/source.js +14 -4
- package/package.json +21 -15
- package/src/core.ts +343 -253
- package/src/errors.ts +99 -0
- package/src/generated/react-work-tags.d.ts +261 -0
- package/src/generated/react-work-tags.js +240 -0
- package/src/rdt-hook.ts +154 -149
- package/src/react-internals.ts +65 -0
- package/src/semver.ts +78 -0
- package/src/source/constants.ts +1 -1
- package/src/source/error-stack.ts +11 -0
- package/src/source/get-source.ts +2 -1
- package/src/source/index.ts +9 -1
- package/src/source/inspect-hooks.ts +199 -164
- package/src/source/owner-stack.ts +84 -114
- package/src/source/parse-debug-stack.ts +4 -4
- package/src/source/parse-stack.ts +1 -1
- package/src/source/symbolication.ts +365 -89
- package/src/types.ts +165 -334
- package/src/unsubscribe.ts +2 -2
- package/dist/get-source.cjs +0 -19
- package/dist/get-source.js +0 -19
- 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
CHANGED
|
@@ -1,288 +1,101 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
+
import type ReactReconciler from "react-reconciler";
|
|
3
|
+
import type { HostWorkTag, ReactWorkTag } from "./react-internals.js";
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export type
|
|
9
|
-
export type
|
|
10
|
-
export type
|
|
11
|
-
export type
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
| 4
|
|
19
|
-
| 5
|
|
20
|
-
| 6
|
|
21
|
-
| 7
|
|
22
|
-
| 8
|
|
23
|
-
| 9
|
|
24
|
-
| 10
|
|
25
|
-
| 11
|
|
26
|
-
| 12
|
|
27
|
-
| 13
|
|
28
|
-
| 14
|
|
29
|
-
| 15
|
|
30
|
-
| 16
|
|
31
|
-
| 17;
|
|
32
|
-
export type WorkTag =
|
|
33
|
-
| 0
|
|
34
|
-
| 1
|
|
35
|
-
| 2
|
|
36
|
-
| 3
|
|
37
|
-
| 4
|
|
38
|
-
| 5
|
|
39
|
-
| 6
|
|
40
|
-
| 7
|
|
41
|
-
| 8
|
|
42
|
-
| 9
|
|
43
|
-
| 10
|
|
44
|
-
| 11
|
|
45
|
-
| 12
|
|
46
|
-
| 13
|
|
47
|
-
| 14
|
|
48
|
-
| 15
|
|
49
|
-
| 16
|
|
50
|
-
| 17
|
|
51
|
-
| 18
|
|
52
|
-
| 19
|
|
53
|
-
| 20
|
|
54
|
-
| 21
|
|
55
|
-
| 22
|
|
56
|
-
| 23
|
|
57
|
-
| 24
|
|
58
|
-
| 25
|
|
59
|
-
| 26
|
|
60
|
-
| 27
|
|
61
|
-
| 28
|
|
62
|
-
| 29
|
|
63
|
-
| 30
|
|
64
|
-
| 31;
|
|
65
|
-
export type HookType =
|
|
66
|
-
| "useState"
|
|
67
|
-
| "useReducer"
|
|
68
|
-
| "useContext"
|
|
69
|
-
| "useRef"
|
|
70
|
-
| "useEffect"
|
|
71
|
-
| "useLayoutEffect"
|
|
72
|
-
| "useCallback"
|
|
73
|
-
| "useMemo"
|
|
74
|
-
| "useImperativeHandle"
|
|
75
|
-
| "useDebugValue"
|
|
76
|
-
| "useDeferredValue"
|
|
77
|
-
| "useTransition"
|
|
78
|
-
| "useMutableSource"
|
|
79
|
-
| "useOpaqueIdentifier"
|
|
80
|
-
| "useCacheRefresh";
|
|
81
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
|
-
export type FiberRoot = any;
|
|
83
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
84
|
-
export type MutableSource = any;
|
|
85
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
|
-
export type OpaqueHandle = any;
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
88
|
-
export type OpaqueRoot = any;
|
|
89
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
90
|
-
export type React$AbstractComponent<_Config, _Instance = unknown> = any;
|
|
91
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
92
|
-
export type HostConfig = Record<string, any>;
|
|
93
|
-
|
|
94
|
-
// Structural interfaces
|
|
95
|
-
export interface Source {
|
|
96
|
-
fileName: string;
|
|
97
|
-
lineNumber: number;
|
|
98
|
-
}
|
|
99
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
100
|
-
export interface RefObject {
|
|
101
|
-
current: any;
|
|
102
|
-
}
|
|
103
|
-
export interface Thenable<T> {
|
|
104
|
-
then(resolve: () => T, reject?: () => T): T;
|
|
105
|
-
}
|
|
5
|
+
export type BundleType = ReactReconciler.BundleType;
|
|
6
|
+
export type Flags = ReactReconciler.Flags;
|
|
7
|
+
export type HookType = ReactReconciler.HookType;
|
|
8
|
+
export type LanePriority = ReactReconciler.LanePriority;
|
|
9
|
+
export type Lanes = ReactReconciler.Lanes;
|
|
10
|
+
export type MutableSource = ReactReconciler.MutableSource;
|
|
11
|
+
export type OpaqueHandle = ReactReconciler.OpaqueHandle;
|
|
12
|
+
export type OpaqueRoot = ReactReconciler.OpaqueRoot;
|
|
13
|
+
export type React$AbstractComponent<
|
|
14
|
+
Config,
|
|
15
|
+
Instance = unknown,
|
|
16
|
+
> = ReactReconciler.React$AbstractComponent<Config, Instance>;
|
|
17
|
+
export type RootTag = ReactReconciler.RootTag;
|
|
18
|
+
export type TypeOfMode = ReactReconciler.TypeOfMode;
|
|
19
|
+
export type WorkTag = ReactReconciler.WorkTag | ReactWorkTag;
|
|
106
20
|
|
|
107
|
-
export interface
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
21
|
+
export interface HostConfig<
|
|
22
|
+
Type = unknown,
|
|
23
|
+
HostProps = unknown,
|
|
24
|
+
Container = unknown,
|
|
25
|
+
Instance = unknown,
|
|
26
|
+
TextInstance = unknown,
|
|
27
|
+
SuspenseInstance = unknown,
|
|
28
|
+
HydratableInstance = unknown,
|
|
29
|
+
FormInstance = unknown,
|
|
30
|
+
PublicInstance = unknown,
|
|
31
|
+
HostContext = unknown,
|
|
32
|
+
ChildSet = unknown,
|
|
33
|
+
TimeoutHandle = unknown,
|
|
34
|
+
NoTimeout = unknown,
|
|
35
|
+
TransitionStatus = unknown,
|
|
36
|
+
> extends ReactReconciler.HostConfig<
|
|
37
|
+
Type,
|
|
38
|
+
HostProps,
|
|
39
|
+
Container,
|
|
40
|
+
Instance,
|
|
41
|
+
TextInstance,
|
|
42
|
+
SuspenseInstance,
|
|
43
|
+
HydratableInstance,
|
|
44
|
+
FormInstance,
|
|
45
|
+
PublicInstance,
|
|
46
|
+
HostContext,
|
|
47
|
+
ChildSet,
|
|
48
|
+
TimeoutHandle,
|
|
49
|
+
NoTimeout,
|
|
50
|
+
TransitionStatus
|
|
51
|
+
> {}
|
|
121
52
|
|
|
122
|
-
export interface
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
export interface
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
export interface
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
141
|
-
export interface ReactPortal {
|
|
142
|
-
$$typeof: symbol | number;
|
|
143
|
-
key: null | string;
|
|
144
|
-
containerInfo: any;
|
|
145
|
-
children: ReactNode;
|
|
146
|
-
implementation: any;
|
|
147
|
-
}
|
|
53
|
+
export interface Source extends ReactReconciler.Source {}
|
|
54
|
+
export interface RefObject extends ReactReconciler.RefObject {}
|
|
55
|
+
export interface Thenable<T> extends ReactReconciler.Thenable<T> {}
|
|
56
|
+
|
|
57
|
+
export interface ReactContext<T> extends ReactReconciler.ReactContext<T> {}
|
|
58
|
+
|
|
59
|
+
export interface ReactProviderType<T> extends ReactReconciler.ReactProviderType<T> {}
|
|
60
|
+
export interface ReactProvider<T> extends ReactReconciler.ReactProvider<T> {}
|
|
61
|
+
export interface ReactConsumer<T> extends ReactReconciler.ReactConsumer<T> {}
|
|
62
|
+
export interface ReactPortal extends ReactReconciler.ReactPortal {}
|
|
63
|
+
|
|
64
|
+
export interface ComponentSelector extends ReactReconciler.ComponentSelector {}
|
|
65
|
+
export interface HasPseudoClassSelector extends ReactReconciler.HasPseudoClassSelector {}
|
|
66
|
+
export interface RoleSelector extends ReactReconciler.RoleSelector {}
|
|
67
|
+
export interface TextSelector extends ReactReconciler.TextSelector {}
|
|
68
|
+
export interface TestNameSelector extends ReactReconciler.TestNameSelector {}
|
|
69
|
+
export type Selector = ReactReconciler.Selector;
|
|
148
70
|
|
|
149
|
-
export interface ComponentSelector {
|
|
150
|
-
$$typeof: symbol | number;
|
|
151
|
-
value: React$AbstractComponent<never, unknown>;
|
|
152
|
-
}
|
|
153
|
-
export interface HasPseudoClassSelector {
|
|
154
|
-
$$typeof: symbol | number;
|
|
155
|
-
value: Selector[];
|
|
156
|
-
}
|
|
157
|
-
export interface RoleSelector {
|
|
158
|
-
$$typeof: symbol | number;
|
|
159
|
-
value: string;
|
|
160
|
-
}
|
|
161
|
-
export interface TextSelector {
|
|
162
|
-
$$typeof: symbol | number;
|
|
163
|
-
value: string;
|
|
164
|
-
}
|
|
165
|
-
export interface TestNameSelector {
|
|
166
|
-
$$typeof: symbol | number;
|
|
167
|
-
value: string;
|
|
168
|
-
}
|
|
169
|
-
export type Selector =
|
|
170
|
-
| ComponentSelector
|
|
171
|
-
| HasPseudoClassSelector
|
|
172
|
-
| RoleSelector
|
|
173
|
-
| TextSelector
|
|
174
|
-
| TestNameSelector;
|
|
175
|
-
|
|
176
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
177
71
|
export interface DevToolsConfig<
|
|
178
|
-
Instance =
|
|
179
|
-
TextInstance =
|
|
180
|
-
RendererInspectionConfig =
|
|
181
|
-
> {
|
|
182
|
-
bundleType: BundleType;
|
|
183
|
-
version: string;
|
|
184
|
-
rendererPackageName: string;
|
|
185
|
-
findFiberByHostInstance?: (instance: Instance | TextInstance) => ReactFiber | null;
|
|
186
|
-
rendererConfig?: RendererInspectionConfig;
|
|
187
|
-
}
|
|
72
|
+
Instance = unknown,
|
|
73
|
+
TextInstance = unknown,
|
|
74
|
+
RendererInspectionConfig = unknown,
|
|
75
|
+
> extends ReactReconciler.DevToolsConfig<Instance, TextInstance, RendererInspectionConfig> {}
|
|
188
76
|
|
|
189
|
-
export interface SuspenseHydrationCallbacks<
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
77
|
+
export interface SuspenseHydrationCallbacks<
|
|
78
|
+
SuspenseInstance = unknown,
|
|
79
|
+
> extends ReactReconciler.SuspenseHydrationCallbacks<SuspenseInstance> {}
|
|
193
80
|
|
|
194
|
-
export interface TransitionTracingCallbacks {
|
|
195
|
-
onTransitionStart?: (transitionName: string, startTime: number) => void;
|
|
196
|
-
onTransitionProgress?: (
|
|
197
|
-
transitionName: string,
|
|
198
|
-
startTime: number,
|
|
199
|
-
currentTime: number,
|
|
200
|
-
pending: Array<{ name: null | string }>,
|
|
201
|
-
) => void;
|
|
202
|
-
onTransitionIncomplete?: (
|
|
203
|
-
transitionName: string,
|
|
204
|
-
startTime: number,
|
|
205
|
-
deletions: Array<{ type: string; name?: string; newName?: string; endTime: number }>,
|
|
206
|
-
) => void;
|
|
207
|
-
onTransitionComplete?: (transitionName: string, startTime: number, endTime: number) => void;
|
|
208
|
-
onMarkerProgress?: (
|
|
209
|
-
transitionName: string,
|
|
210
|
-
marker: string,
|
|
211
|
-
startTime: number,
|
|
212
|
-
currentTime: number,
|
|
213
|
-
pending: Array<{ name: null | string }>,
|
|
214
|
-
) => void;
|
|
215
|
-
onMarkerIncomplete?: (
|
|
216
|
-
transitionName: string,
|
|
217
|
-
marker: string,
|
|
218
|
-
startTime: number,
|
|
219
|
-
deletions: Array<{ type: string; name?: string; newName?: string; endTime: number }>,
|
|
220
|
-
) => void;
|
|
221
|
-
onMarkerComplete?: (
|
|
222
|
-
transitionName: string,
|
|
223
|
-
marker: string,
|
|
224
|
-
startTime: number,
|
|
225
|
-
endTime: number,
|
|
226
|
-
) => void;
|
|
227
|
-
}
|
|
81
|
+
export interface TransitionTracingCallbacks extends ReactReconciler.TransitionTracingCallbacks {}
|
|
228
82
|
|
|
229
|
-
//
|
|
230
|
-
interface
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
type: any;
|
|
237
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
238
|
-
stateNode: any;
|
|
239
|
-
return: ReactFiber | null;
|
|
240
|
-
child: ReactFiber | null;
|
|
241
|
-
sibling: ReactFiber | null;
|
|
242
|
-
index: number;
|
|
243
|
-
ref: null | (((handle: unknown) => void) & { _stringRef?: string | null }) | RefObject;
|
|
244
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
245
|
-
pendingProps: any;
|
|
246
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
247
|
-
memoizedProps: any;
|
|
248
|
-
updateQueue: unknown;
|
|
249
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
250
|
-
memoizedState: any;
|
|
251
|
-
dependencies: Dependencies | null;
|
|
252
|
-
mode: TypeOfMode;
|
|
253
|
-
flags: Flags;
|
|
254
|
-
subtreeFlags: Flags;
|
|
255
|
-
deletions: ReactFiber[] | null;
|
|
256
|
-
nextEffect: ReactFiber | null;
|
|
257
|
-
firstEffect: ReactFiber | null;
|
|
258
|
-
lastEffect: ReactFiber | null;
|
|
259
|
-
lanes: Lanes;
|
|
260
|
-
childLanes: Lanes;
|
|
261
|
-
alternate: ReactFiber | null;
|
|
262
|
-
actualDuration?: number;
|
|
263
|
-
actualStartTime?: number;
|
|
264
|
-
selfBaseDuration?: number;
|
|
265
|
-
treeBaseDuration?: number;
|
|
266
|
-
_debugID?: number;
|
|
267
|
-
_debugSource?: Source | null;
|
|
268
|
-
_debugOwner?: ReactFiber | null;
|
|
269
|
-
_debugIsCurrentlyTiming?: boolean;
|
|
270
|
-
_debugNeedsRemount?: boolean;
|
|
271
|
-
_debugHookTypes?: HookType[] | null;
|
|
83
|
+
// HACK: React 17 exposes observedBits while React 18+ exposes memoizedValue on context dependencies.
|
|
84
|
+
export interface ContextDependency<T> extends Omit<
|
|
85
|
+
ReactReconciler.ContextDependency<T>,
|
|
86
|
+
"observedBits"
|
|
87
|
+
> {
|
|
88
|
+
memoizedValue?: T;
|
|
89
|
+
observedBits?: number;
|
|
272
90
|
}
|
|
273
91
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
export interface ContextDependency<T> {
|
|
277
|
-
context: ReactContext<T>;
|
|
278
|
-
memoizedValue: T;
|
|
279
|
-
next: ContextDependency<unknown> | null;
|
|
280
|
-
observedBits: number;
|
|
92
|
+
export interface DebugThenableState {
|
|
93
|
+
thenables?: unknown[];
|
|
281
94
|
}
|
|
282
95
|
|
|
283
|
-
export interface Dependencies {
|
|
96
|
+
export interface Dependencies extends Omit<ReactReconciler.Dependencies, "firstContext"> {
|
|
97
|
+
_debugThenableState?: DebugThenableState | unknown[];
|
|
284
98
|
firstContext: ContextDependency<unknown> | null;
|
|
285
|
-
lanes: Lanes;
|
|
286
99
|
}
|
|
287
100
|
|
|
288
101
|
export interface Effect {
|
|
@@ -294,14 +107,6 @@ export interface Effect {
|
|
|
294
107
|
tag: number;
|
|
295
108
|
}
|
|
296
109
|
|
|
297
|
-
export interface Family {
|
|
298
|
-
current: unknown;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
/**
|
|
302
|
-
* React 19 flight metadata for a server component owner (ReactComponentInfo).
|
|
303
|
-
* Unlike client owners it has no `tag`; the owner chain continues via `owner`.
|
|
304
|
-
*/
|
|
305
110
|
export interface ServerComponentInfo {
|
|
306
111
|
name?: string;
|
|
307
112
|
env?: string;
|
|
@@ -309,19 +114,36 @@ export interface ServerComponentInfo {
|
|
|
309
114
|
debugStack?: Error | null;
|
|
310
115
|
}
|
|
311
116
|
|
|
312
|
-
export interface
|
|
313
|
-
|
|
314
|
-
|
|
117
|
+
export interface ReactDebugInfo {
|
|
118
|
+
debugLocation?: unknown;
|
|
119
|
+
env?: string;
|
|
120
|
+
name?: string;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export interface ReactMemoCache {
|
|
124
|
+
data: unknown[][];
|
|
125
|
+
index: number;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export interface FiberDebugSource extends Source {
|
|
129
|
+
columnNumber?: number;
|
|
315
130
|
}
|
|
316
131
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
132
|
+
export interface FiberUpdateQueue {
|
|
133
|
+
[key: string]: unknown;
|
|
134
|
+
dispatch?: unknown;
|
|
135
|
+
lastEffect: Effect | null;
|
|
136
|
+
memoCache?: ReactMemoCache;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// HACK: @types/react-reconciler does not yet include React 19 debug fields or recursive server owners.
|
|
140
|
+
export interface Fiber<T = unknown> extends Omit<
|
|
141
|
+
ReactReconciler.Fiber,
|
|
323
142
|
| "alternate"
|
|
143
|
+
| "_debugOwner"
|
|
144
|
+
| "_debugSource"
|
|
324
145
|
| "child"
|
|
146
|
+
| "deletions"
|
|
325
147
|
| "dependencies"
|
|
326
148
|
| "memoizedProps"
|
|
327
149
|
| "memoizedState"
|
|
@@ -329,38 +151,35 @@ export type Fiber<T = any> = Omit<
|
|
|
329
151
|
| "return"
|
|
330
152
|
| "sibling"
|
|
331
153
|
| "stateNode"
|
|
154
|
+
| "tag"
|
|
332
155
|
| "updateQueue"
|
|
333
|
-
>
|
|
334
|
-
_debugInfo?:
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
name?: string;
|
|
338
|
-
}>;
|
|
339
|
-
_debugOwner?: Fiber;
|
|
340
|
-
// react <19
|
|
341
|
-
_debugSource?: {
|
|
342
|
-
columnNumber?: number;
|
|
343
|
-
fileName: string;
|
|
344
|
-
lineNumber: number;
|
|
345
|
-
};
|
|
346
|
-
// react 19+
|
|
347
|
-
// https://github.com/facebook/react/issues/29092?utm_source=chatgpt.com
|
|
156
|
+
> {
|
|
157
|
+
_debugInfo?: ReactDebugInfo[];
|
|
158
|
+
_debugOwner?: Fiber | ServerComponentInfo | null;
|
|
159
|
+
_debugSource?: FiberDebugSource | null;
|
|
348
160
|
_debugStack?: Error & { stack: string };
|
|
349
161
|
alternate: Fiber | null;
|
|
350
162
|
child: Fiber | null;
|
|
163
|
+
deletions: Fiber[] | null;
|
|
351
164
|
dependencies: Dependencies | null;
|
|
165
|
+
effectTag?: number;
|
|
352
166
|
memoizedProps: Props;
|
|
353
|
-
memoizedState: MemoizedState;
|
|
167
|
+
memoizedState: MemoizedState | null;
|
|
354
168
|
pendingProps: Props;
|
|
355
|
-
|
|
356
169
|
return: Fiber | null;
|
|
357
170
|
sibling: Fiber | null;
|
|
358
171
|
stateNode: T;
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
172
|
+
tag: WorkTag;
|
|
173
|
+
updateQueue: FiberUpdateQueue | null;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export interface HostFiber<T = unknown> extends Fiber<T> {
|
|
177
|
+
tag: HostWorkTag;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export interface FiberRoot {
|
|
181
|
+
current: Fiber;
|
|
182
|
+
}
|
|
364
183
|
|
|
365
184
|
export interface MemoizedState {
|
|
366
185
|
[key: string]: unknown;
|
|
@@ -372,38 +191,55 @@ export interface Props {
|
|
|
372
191
|
[key: string]: unknown;
|
|
373
192
|
}
|
|
374
193
|
|
|
194
|
+
export interface ReactDevToolsEventHandler {
|
|
195
|
+
(data: unknown): void;
|
|
196
|
+
}
|
|
197
|
+
|
|
375
198
|
export interface ReactDevToolsGlobalHook {
|
|
376
199
|
_instrumentationIsActive?: boolean;
|
|
377
200
|
_instrumentationSource?: string;
|
|
378
201
|
checkDCE: (fn: unknown) => void;
|
|
202
|
+
emit?: (event: string, data?: unknown) => void;
|
|
203
|
+
getFiberRoots?: (rendererID: number) => Set<FiberRoot>;
|
|
379
204
|
hasUnsupportedRendererAttached: boolean;
|
|
380
205
|
inject: (renderer: ReactRenderer) => number;
|
|
381
|
-
|
|
382
|
-
on: () => void;
|
|
383
|
-
onCommitFiberRoot: (
|
|
206
|
+
off?: (event: string, handler: ReactDevToolsEventHandler) => void;
|
|
207
|
+
on: (event: string, handler: ReactDevToolsEventHandler) => void;
|
|
208
|
+
onCommitFiberRoot: (
|
|
209
|
+
rendererID: number,
|
|
210
|
+
root: FiberRoot,
|
|
211
|
+
priority: number | void,
|
|
212
|
+
didError?: boolean,
|
|
213
|
+
) => void;
|
|
384
214
|
onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
|
|
385
215
|
onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
|
|
386
|
-
// called by dev builds of react-reconciler on root schedule; absent from
|
|
387
|
-
// the hook react-refresh installs, so it stays optional
|
|
388
216
|
onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: ReactNode) => void;
|
|
389
217
|
renderers: Map<number, ReactRenderer>;
|
|
218
|
+
sub?: (event: string, handler: ReactDevToolsEventHandler) => () => void;
|
|
390
219
|
supportsFiber: boolean;
|
|
391
|
-
|
|
392
220
|
supportsFlight: boolean;
|
|
393
221
|
}
|
|
394
222
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
223
|
+
export interface LegacyDispatcherRef {
|
|
224
|
+
current: unknown;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export interface CurrentDispatcherRef {
|
|
228
|
+
H: unknown;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export type RendererDispatcherRef = CurrentDispatcherRef | LegacyDispatcherRef;
|
|
232
|
+
|
|
233
|
+
export interface ReactRenderer extends Omit<
|
|
234
|
+
ReactReconciler.DevToolsConfig<unknown, unknown, unknown>,
|
|
235
|
+
"findFiberByHostInstance"
|
|
236
|
+
> {
|
|
237
|
+
currentDispatcherRef?: RendererDispatcherRef | null;
|
|
401
238
|
findFiberByHostInstance?: (hostInstance: unknown) => Fiber | null;
|
|
402
|
-
|
|
403
|
-
getCurrentFiber?: (fiber: Fiber) => Fiber | null;
|
|
239
|
+
getCurrentFiber?: () => Fiber | null;
|
|
404
240
|
overrideContext?: (fiber: Fiber, contextType: unknown, path: string[], value: unknown) => void;
|
|
405
241
|
|
|
406
|
-
overrideHookState?: (fiber: Fiber, id:
|
|
242
|
+
overrideHookState?: (fiber: Fiber, id: number, path: string[], value: unknown) => void;
|
|
407
243
|
overrideHookStateDeletePath?: (fiber: Fiber, id: number, path: Array<number | string>) => void;
|
|
408
244
|
overrideHookStateRenamePath?: (
|
|
409
245
|
fiber: Fiber,
|
|
@@ -418,18 +254,13 @@ export interface ReactRenderer {
|
|
|
418
254
|
oldPath: Array<number | string>,
|
|
419
255
|
newPath: Array<number | string>,
|
|
420
256
|
) => void;
|
|
421
|
-
reconcilerVersion
|
|
422
|
-
|
|
423
|
-
// react refresh
|
|
424
|
-
scheduleRefresh?: (root: FiberRoot, update: RendererRefreshUpdate) => void;
|
|
257
|
+
reconcilerVersion?: string;
|
|
258
|
+
scheduleRetry?: (fiber: Fiber) => void;
|
|
425
259
|
scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
|
|
426
260
|
scheduleUpdate?: (fiber: Fiber) => void;
|
|
427
261
|
|
|
428
|
-
setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean) => void;
|
|
429
|
-
|
|
430
|
-
setSuspenseHandler?: (newShouldSuspendImpl: (suspenseInstance: unknown) => void) => void;
|
|
431
|
-
|
|
432
|
-
version: string;
|
|
262
|
+
setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean | null) => void;
|
|
263
|
+
setSuspenseHandler?: (newShouldSuspendImpl: (fiber: Fiber) => boolean) => void;
|
|
433
264
|
}
|
|
434
265
|
|
|
435
266
|
declare global {
|
package/src/unsubscribe.ts
CHANGED
|
@@ -9,8 +9,8 @@ export interface Unsubscribe extends Disposable {
|
|
|
9
9
|
* @example
|
|
10
10
|
* ```ts
|
|
11
11
|
* using instrumentation = instrument({ onCommitFiberRoot });
|
|
12
|
-
* using
|
|
13
|
-
* // both torn down automatically at scope exit
|
|
12
|
+
* using rendererSubscription = onRendererInject(handleRenderer);
|
|
13
|
+
* // both are torn down automatically at scope exit
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
export const toUnsubscribe = (dispose: () => void): Unsubscribe =>
|
package/dist/get-source.cjs
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license bippy
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) Aiden Bai
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
const e=require(`./rdt-hook.cjs`),t=require(`./core.cjs`),n=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,r=[`rsc://`,`file:///`,`webpack-internal://`,`webpack://`,`node:`,`turbopack://`,`metro://`,`/app-pages-browser/`,`/(app-pages-browser)/`],i=[`rsc://`,`about://React/`],a=[`<anonymous>`,`eval`,``],o=/\.(jsx|tsx|ts|js)$/,s=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,c=/^\?[\w~.-]+(?:=[^&#]*)?(?:&[\w~.-]+(?:=[^&#]*)?)*$/,l=/\(at [^)]+\)$/,u=[`react_stack_bottom_frame`,`react-stack-bottom-frame`],d=/(^|@)\S+:\d+/,f=/^\s*at .*(\S+:\d+|\(native\))/m,ee=/^(eval@)?(\[native code\])?$/,p=(e,t)=>{if(t?.includeInElement!==!1){let n=e.split(`
|
|
10
|
-
`),r=[];for(let e of n)if(/^\s*at\s+/.test(e)){let t=g(e,void 0)[0];t&&r.push(t)}else if(/^\s*in\s+/.test(e)){let t=e.replace(/^\s*in\s+/,``).replace(/\s*\(at .*\)$/,``);r.push({functionName:t,source:e})}else if(e.match(d)){let t=_(e,void 0)[0];t&&r.push(t)}return h(r,t)}return e.match(f)?g(e,t):_(e,t)},m=e=>{if(!e.includes(`:`))return[e,void 0,void 0];let t=e.startsWith(`(`)&&/:\d+\)$/.test(e)?e.slice(1,-1):e,n=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t);return n?[n[1],n[2]||void 0,n[3]||void 0]:[t,void 0,void 0]},h=(e,t)=>t&&t.slice!=null?Array.isArray(t.slice)?e.slice(t.slice[0],t.slice[1]):e.slice(0,t.slice):e,g=(e,t)=>h(e.split(`
|
|
11
|
-
`).filter(e=>!!e.match(f)),t).map(e=>{let t=e;t.includes(`(eval `)&&(t=t.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));let n=t.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),r=n.match(/ (\(.+\)$)/);n=r?n.replace(r[0],``):n;let i=m(r?r[1]:n);return{functionName:r&&n||void 0,fileName:[`eval`,`<anonymous>`].includes(i[0])?void 0:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}),_=(e,t)=>h(e.split(`
|
|
12
|
-
`).filter(e=>!e.match(ee)),t).map(e=>{let t=e;if(t.includes(` > eval`)&&(t=t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),!t.includes(`@`)&&!t.includes(`:`))return{functionName:t};{let e=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,n=t.match(e),r=n&&n[1]?n[1]:void 0,i=m(t.replace(e,``));return{functionName:r,fileName:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}}),v=new WeakMap,y=e=>u.some(t=>e.includes(t)),te=e=>{let t=e.getFunctionName?.()??``;if(t)return t;let n=e.getTypeName?.()??``,r=e.getMethodName?.()??``;return n&&r?`${n}.${r}`:r},ne=e=>{let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=te(r);if(y(i))return{frames:t,isTrusted:!0};if(r.isNative?.()){t.push({functionName:i||void 0});continue}let a=r.getScriptNameOrSourceURL?.()??``;!a&&r.isEval?.()&&(a=r.getEvalOrigin?.()??``),t.push({functionName:i&&i!==`<anonymous>`?i:void 0,fileName:a&&a!==`<anonymous>`?a:void 0,lineNumber:r.getLineNumber?.()??void 0,columnNumber:r.getColumnNumber?.()??void 0,enclosingLineNumber:r.getEnclosingLineNumber?.()??void 0,enclosingColumnNumber:r.getEnclosingColumnNumber?.()??void 0,source:` at ${r.toString()}`})}return{frames:t,isTrusted:!1}},re=e=>{let t=-1;for(let n of u)if(t=e.indexOf(n),t!==-1)break;return{frames:p(t===-1?e:e.slice(0,e.lastIndexOf(`
|
|
13
|
-
`,t))).slice(1),isTrusted:t!==-1}},b=e=>{let t=v.get(e);if(t)return t;let n=null,r=(e,t)=>{n=ne(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=Error.prepareStackTrace;Error.prepareStackTrace=r;let a;try{a=String(e.stack)}finally{Error.prepareStackTrace=i}let o=n??re(a);return v.set(e,o),o};var x=44,S=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,ie=new Uint8Array(64),C=new Uint8Array(128);for(let e=0;e<S.length;e++){let t=S.charCodeAt(e);ie[e]=t,C[t]=e}function w(e,t){let n=0,r=0,i=0;do i=C[e.next()],n|=(i&31)<<r,r+=5;while(i&32);let a=n&1;return n>>>=1,a&&(n=-2147483648|-n),t+n}function T(e,t){return e.pos>=t?!1:e.peek()!==x}var ae=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function E(e){let{length:t}=e,n=new ae(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i=w(n,i),i<u&&(l=!1),u=i,T(n,e)?(a=w(n,a),o=w(n,o),s=w(n,s),T(n,e)?(c=w(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||oe(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function oe(e){e.sort(se)}function se(e,t){return e[0]-t[0]}const D=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,O=/^data:application\/json[^,]+base64,/,ce=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,k=new Map,A=new Map,j=(e,t,n,r,i)=>{if(n<0||n>=e.length)return null;let a=e[n];if(!a||a.length===0)return null;let o=null,s=0,c=a.length-1;for(;s<=c;){let e=s+c>>1;a[e][0]<=r?(o=a[e],s=e+1):c=e-1}if(!o||o.length<4)return null;let[,l,u,d]=o;if(l===void 0||u===void 0||d===void 0)return null;let f=t[l];return f?{columnNumber:d,fileName:f,lineNumber:u+1,isIgnoreListed:i?.has(l)??!1}:null},M=(e,t,n)=>{if(e.sections){let r=t-1,i=null;for(let t of e.sections)if(r>t.offset.line||r===t.offset.line&&n>=t.offset.column)i=t;else break;if(!i)return null;let a=r-i.offset.line,o=r===i.offset.line?n-i.offset.column:n;return j(i.map.mappings,i.map.sources,a,o,i.map.ignoredSourceIndices)}return j(e.mappings,e.sources,t-1,n,e.ignoredSourceIndices)},le=(e,t)=>{let n,r=t.length;for(;r>0&&!n;){let e=t.lastIndexOf(`
|
|
14
|
-
`,r-1)+1,i=t.slice(e,r).match(ce);i&&(n=i[1]||i[2]),r=e-1}if(!n)return null;let i=D.test(n);if(!(O.test(n)||i||n.startsWith(`/`))){let t=e.split(`/`);t[t.length-1]=n,n=t.join(`/`)}return n},N=e=>{let t=e.ignoreList??e.x_google_ignoreList;return Array.isArray(t)&&t.length>0?new Set(t):void 0},ue=e=>({file:e.file,ignoredSourceIndices:N(e),mappings:E(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,version:3}),de=e=>{let t=e.sections.map(({map:e,offset:t})=>({map:{...e,ignoredSourceIndices:N(e),mappings:E(e.mappings)},offset:t})),n=new Set;for(let e of t)for(let t of e.map.sources)n.add(t);return{file:e.file,mappings:[],names:[],sections:t,sourceRoot:void 0,sources:Array.from(n),sourcesContent:void 0,version:3}},P=e=>{if(!e)return!1;let t=e.trim();if(!t)return!1;let n=t.match(D);if(!n)return!0;let r=n[0].toLowerCase();return r===`http:`||r===`https:`},fe=async(e,t=fetch)=>{if(!P(e))return null;let n=await t(e);if(!n.ok)return null;let r=await n.text();if(!r)return null;let i=le(e,r);if(!i||!P(i)&&!O.test(i))return null;let a=await t(i);if(!a.ok)return null;try{let e=await a.json();return`sections`in e?de(e):ue(e)}catch{return null}},F=async(e,t=!0,n)=>{if(t&&k.has(e))return k.get(e)??null;let r=t?A.get(e):void 0;if(r)return(await r).sourceMap;let i=fe(e,n).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));t&&A.set(e,i);let{sourceMap:a,isTransientFailure:o}=await i;return t&&(A.delete(e),o||k.set(e,a)),a},I=async(e,t=!0,n)=>await Promise.all(e.map(async e=>{if(!e.fileName)return e;let r=await F(e.fileName,t,n);if(!r||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let i=M(r,e.lineNumber,e.columnNumber);return i?{...e,source:i.fileName&&e.source?e.source.replace(e.fileName,i.fileName):e.source,fileName:i.fileName,lineNumber:i.lineNumber,columnNumber:i.columnNumber,isIgnoreListed:i.isIgnoreListed,isSymbolicated:!0}:e})),L=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,R=e=>typeof e.tag==`number`,z=e=>e._debugOwner,B=e=>{let n=null;if(t.traverseFiber(e,t=>{if(t===e)return!1;let r=t._debugOwner;return(r===e||e.alternate!==null&&r===e.alternate)&&t._debugStack instanceof Error?(n=t._debugStack,!0):!1}),!n)return null;let{frames:r,isTrusted:i}=b(n);if(!i)return null;for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.fileName)return{...t,lineNumber:t.enclosingLineNumber||t.lineNumber,columnNumber:t.enclosingColumnNumber||t.columnNumber}}return null},V=()=>{let t=e.i();for(let n of[...Array.from(e.r),...Array.from(t.renderers.values())]){let e=n.currentDispatcherRef;if(e&&typeof e==`object`)return`H`in e?e.H:e.current}return null},H=t=>{for(let n of e.r){let e=n.currentDispatcherRef;e&&typeof e==`object`&&(`H`in e?e.H=t:e.current=t)}},U=e=>`\n in ${e}`,pe=(e,t)=>{let n=U(e);return t&&(n+=` (at ${t})`),n};let W=!1;const G=new WeakMap,K=(e,n)=>{if(!e||W)return``;let r=G.get(e);if(r!==void 0)return r;let i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,W=!0;let a=V();H(null);let o=console.error,s=console.warn;console.error=()=>{},console.warn=()=>{};try{let r={DetermineComponentFrameRoot(){let t;try{if(n){let n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){t=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){t=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){t=e}let n=e();n&&typeof n.catch==`function`&&n.catch(()=>{})}}catch(e){if(e instanceof Error&&t instanceof Error&&typeof e.stack==`string`)return[e.stack,t.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`,Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`)?.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});let[i,a]=r.DetermineComponentFrameRoot();if(i&&a){let n=i.split(`
|
|
15
|
-
`),r=a.split(`
|
|
16
|
-
`),o=0,s=0;for(;o<n.length&&!n[o].includes(`DetermineComponentFrameRoot`);)o++;for(;s<r.length&&!r[s].includes(`DetermineComponentFrameRoot`);)s++;if(o===n.length||s===r.length)for(o=n.length-1,s=r.length-1;o>=1&&s>=0&&n[o]!==r[s];)s--;for(;o>=1&&s>=0;o--,s--)if(n[o]!==r[s]){if(o!==1||s!==1)do if(o--,s--,s<0||n[o]!==r[s]){let r=`\n${n[o].replace(` at new `,` at `)}`,i=t.getDisplayName(e);return i&&r.includes(`<anonymous>`)&&(r=r.replace(`<anonymous>`,i)),G.set(e,r),r}while(o>=1&&s>=0);break}}}finally{W=!1,Error.prepareStackTrace=i,H(a),console.error=o,console.warn=s}let c=e?t.getDisplayName(e):``,l=c?U(c):``;return G.set(e,l),l},me=(e,t)=>{let n=e.tag,r=``;switch(n){case 28:r=U(`Activity`);break;case 1:r=K(e.type,!0);break;case 11:r=K(e.type.render,!1);break;case 0:case 15:r=K(e.type,!1);break;case 5:case 26:case 27:r=U(e.type);break;case 16:r=U(`Lazy`);break;case 13:r=e.child!==t&&t!==null?U(`Suspense Fallback`):U(`Suspense`);break;case 19:r=U(`SuspenseList`);break;case 30:r=U(`ViewTransition`);break;default:return``}return r},he=e=>{try{let t=``,n=e,r=null;do{t+=me(n,r);let e=n._debugInfo;if(e&&Array.isArray(e))for(let n=e.length-1;n>=0;n--){let r=e[n];typeof r.name==`string`&&(t+=pe(r.name,r.env))}r=n,n=n.return}while(n);return t}catch(e){return e instanceof Error?`\nError generating stack: ${e.message}\n${e.stack}`:``}},q=e=>{let t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;let n=e;if(!n)return``;Error.prepareStackTrace=t,n.startsWith(`Error: react-stack-top-frame
|
|
17
|
-
`)&&(n=n.slice(29));let r=n.indexOf(`
|
|
18
|
-
`);r!==-1&&(n=n.slice(r+1));let i=Math.max(n.indexOf(`react_stack_bottom_frame`),n.indexOf(`react-stack-bottom-frame`));if(i!==-1&&(i=n.lastIndexOf(`
|
|
19
|
-
`,i)),i!==-1)n=n.slice(0,i);else return``;return n},ge=e=>!!(e.functionName&&e.fileName&&J(e.fileName)),_e=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,ve=e=>{let t=new Map;for(let n of e)for(let e of n.stackFrames){if(!ge(e))continue;let n=e.functionName,r=t.get(n)??[];r.some(t=>_e(t,e))||(r.push(e),t.set(n,r))}return t},ye=(e,t,n)=>{if(!e.functionName)return{...e,isServer:!0};let r=t.get(e.functionName);if(!r||r.length===0)return{...e,isServer:!0};let i=n.get(e.functionName)??0,a=r[i%r.length];return n.set(e.functionName,i+1),{...e,isServer:!0,fileName:a.fileName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,source:e.source?.replace(`(at Server)`,`(${a.fileName}:${a.lineNumber}:${a.columnNumber})`)}},J=e=>i.some(t=>e.startsWith(t)),be=e=>!e.isServer&&e.fileName&&J(e.fileName)?{...e,isServer:!0}:e,xe=e=>{let t=[],n=e;for(;n;)if(R(n)){let e=n;if(n=z(e),n&&L(e)){let{frames:n,isTrusted:r}=b(e._debugStack);if(r)for(let e of n)t.push(be(e))}}else{let e=n;if(n=e.owner,n&&e.debugStack instanceof Error)for(let n of b(e.debugStack).frames)t.push({...n,isServer:!0})}return t},Se=e=>{let n=[];return t.traverseFiber(e,e=>{if(!L(e))return;let r=typeof e.type==`string`?e.type:t.getDisplayName(e.type)||`<anonymous>`;n.push({componentName:r,stackFrames:p(q(e._debugStack?.stack))})},!0),n},Y=async(e,t=!0,n)=>{let r=Se(e),i=p(he(e)),a=ve(r),o=new Map;return I(i.map(e=>(e.source?.includes(`(at Server)`)??!1)||e.source!=null&&l.test(e.source)?ye(e,a,o):e).filter((e,t,n)=>{if(t===0)return!0;let r=n[t-1];return e.functionName!==r.functionName}),t,n)},Ce=e=>!!e.fileName&&!e.isIgnoreListed,X=async(e,n=!0,r)=>{let i=xe(e);if(i.length>0){let a=B(e)??{};a.functionName=t.getDisplayName(e.type)??a.functionName;let o=await I([a,...i],n,r);if(o.some((e,t)=>t>0&&Ce(e)))return o}return Y(e,n,r)},we=e=>{let t=e._debugSource;return t?typeof t==`object`&&!!t&&`fileName`in t&&typeof t.fileName==`string`&&`lineNumber`in t&&typeof t.lineNumber==`number`:!1},Z=e=>e.fileName?{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName}:null,Te=e=>{if(!L(e))return null;let{frames:t,isTrusted:n}=b(e._debugStack);if(!n)return null;for(let e of t)if(e.fileName)return e;return null},Ee=async(e,t=!0,n)=>{if(we(e))return e._debugSource||null;let r=Te(e)??B(e);if(r){let[e]=await I([r],t,n),i=Z(e);if(i)return i}let i=await Y(e,t,n);for(let e of i)if(e.fileName)return Z(e);return null},Q=e=>e.split(`/`).filter(Boolean).length,De=e=>e.split(`/`).filter(Boolean)[0]??null,Oe=e=>{let t=e.indexOf(`/`,1);if(t===-1||Q(e.slice(0,t))!==1)return e;let n=e.slice(t);if(!o.test(n)||Q(n)<2)return e;let r=De(n);return!r||r.startsWith(`@`)||r.length>4?e:n},$=e=>{if(!e||a.some(t=>t===e))return``;let t=e,i=t.startsWith(`http://`)||t.startsWith(`https://`);if(i)try{t=new URL(t).pathname}catch{}if(i&&(t=Oe(t)),t.startsWith(`about://React/`)){let e=t.slice(14),n=e.indexOf(`/`),r=e.indexOf(`:`);t=n!==-1&&(r===-1||n<r)?e.slice(n+1):e}let o=!0;for(;o;){o=!1;for(let e of r)if(t.startsWith(e)){t=t.slice(e.length),e===`file:///`&&(t=`/${t.replace(/^\/+/,``)}`),o=!0;break}}if(n.test(t)){let e=t.match(n);e&&(t=t.slice(e[0].length))}if(t.startsWith(`//`)){let e=t.indexOf(`/`,2);t=e===-1?``:t.slice(e)}let s=t.indexOf(`?`);if(s!==-1){let e=t.slice(s);c.test(e)&&(t=t.slice(0,s))}return t},ke=e=>{let t=$(e);return!(!t||!o.test(t)||s.test(t))};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return I}});
|