bippy 0.6.1-dev.051a9b2 → 0.6.1-dev.3a24abf
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 +26 -48
- package/dist/core.cjs +1 -1
- package/dist/core.d.cts +32 -44
- package/dist/core.d.ts +32 -44
- 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/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 +1 -1
- package/dist/source.d.ts +1 -1
- package/dist/source.js +14 -4
- package/dist/types.d.cts +291 -0
- package/dist/types.d.ts +291 -0
- package/package.json +14 -12
- package/src/core.ts +206 -155
- package/src/generated/react-work-tags.ts +169 -0
- package/src/rdt-hook.ts +24 -67
- package/src/react-internals.ts +67 -0
- package/src/source/constants.ts +1 -1
- package/src/source/get-source.ts +2 -1
- package/src/source/owner-stack.ts +64 -77
- package/src/source/parse-stack.ts +1 -1
- package/src/source/symbolication.ts +25 -4
- package/src/types.ts +154 -333
- 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,96 @@
|
|
|
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
|
-
|
|
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;
|
|
6
20
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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>;
|
|
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
|
+
> {}
|
|
93
52
|
|
|
94
|
-
|
|
95
|
-
export interface
|
|
96
|
-
|
|
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
|
-
}
|
|
53
|
+
export interface Source extends ReactReconciler.Source {}
|
|
54
|
+
export interface RefObject extends ReactReconciler.RefObject {}
|
|
55
|
+
export interface Thenable<T> extends ReactReconciler.Thenable<T> {}
|
|
106
56
|
|
|
107
|
-
export interface ReactContext<T> {
|
|
108
|
-
$$typeof: symbol | number;
|
|
109
|
-
Consumer: ReactContext<T>;
|
|
110
|
-
Provider: ReactProviderType<T>;
|
|
111
|
-
_calculateChangedBits: ((a: T, b: T) => number) | null;
|
|
112
|
-
_currentValue: T;
|
|
113
|
-
_currentValue2: T;
|
|
114
|
-
_threadCount: number;
|
|
115
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
116
|
-
_currentRenderer?: Record<string, any> | null;
|
|
117
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
118
|
-
_currentRenderer2?: Record<string, any> | null;
|
|
119
|
-
displayName?: string;
|
|
120
|
-
}
|
|
57
|
+
export interface ReactContext<T> extends ReactReconciler.ReactContext<T> {}
|
|
121
58
|
|
|
122
|
-
export interface ReactProviderType<T> {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
export interface ReactProvider<T> {
|
|
127
|
-
$$typeof: symbol | number;
|
|
128
|
-
type: ReactProviderType<T>;
|
|
129
|
-
key: null | string;
|
|
130
|
-
ref: null;
|
|
131
|
-
props: { value: T; children?: ReactNode };
|
|
132
|
-
}
|
|
133
|
-
export interface ReactConsumer<T> {
|
|
134
|
-
$$typeof: symbol | number;
|
|
135
|
-
type: ReactContext<T>;
|
|
136
|
-
key: null | string;
|
|
137
|
-
ref: null;
|
|
138
|
-
props: { children: (value: T) => ReactNode; unstable_observedBits?: number };
|
|
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
|
-
}
|
|
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 {}
|
|
148
63
|
|
|
149
|
-
export interface ComponentSelector {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}
|
|
153
|
-
export interface
|
|
154
|
-
|
|
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;
|
|
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;
|
|
175
70
|
|
|
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
|
-
}
|
|
193
|
-
|
|
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
|
-
}
|
|
77
|
+
export interface SuspenseHydrationCallbacks<
|
|
78
|
+
SuspenseInstance = unknown,
|
|
79
|
+
> extends ReactReconciler.SuspenseHydrationCallbacks<SuspenseInstance> {}
|
|
228
80
|
|
|
229
|
-
|
|
230
|
-
interface ReactFiber {
|
|
231
|
-
tag: WorkTag;
|
|
232
|
-
key: null | string;
|
|
233
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
234
|
-
elementType: any;
|
|
235
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
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;
|
|
272
|
-
}
|
|
81
|
+
export interface TransitionTracingCallbacks extends ReactReconciler.TransitionTracingCallbacks {}
|
|
273
82
|
|
|
274
|
-
//
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
observedBits
|
|
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;
|
|
281
90
|
}
|
|
282
91
|
|
|
283
|
-
export interface Dependencies {
|
|
92
|
+
export interface Dependencies extends Omit<ReactReconciler.Dependencies, "firstContext"> {
|
|
284
93
|
firstContext: ContextDependency<unknown> | null;
|
|
285
|
-
lanes: Lanes;
|
|
286
94
|
}
|
|
287
95
|
|
|
288
96
|
export interface Effect {
|
|
@@ -294,14 +102,6 @@ export interface Effect {
|
|
|
294
102
|
tag: number;
|
|
295
103
|
}
|
|
296
104
|
|
|
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
105
|
export interface ServerComponentInfo {
|
|
306
106
|
name?: string;
|
|
307
107
|
env?: string;
|
|
@@ -309,19 +109,31 @@ export interface ServerComponentInfo {
|
|
|
309
109
|
debugStack?: Error | null;
|
|
310
110
|
}
|
|
311
111
|
|
|
312
|
-
export interface
|
|
313
|
-
|
|
314
|
-
|
|
112
|
+
export interface ReactDebugInfo {
|
|
113
|
+
debugLocation?: unknown;
|
|
114
|
+
env?: string;
|
|
115
|
+
name?: string;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface FiberDebugSource extends Source {
|
|
119
|
+
columnNumber?: number;
|
|
315
120
|
}
|
|
316
121
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
122
|
+
export interface FiberUpdateQueue {
|
|
123
|
+
[key: string]: unknown;
|
|
124
|
+
dispatch?: unknown;
|
|
125
|
+
lastEffect: Effect | null;
|
|
126
|
+
memoCache?: unknown;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// HACK: @types/react-reconciler does not yet include React 19 debug fields or recursive server owners.
|
|
130
|
+
export interface Fiber<T = unknown> extends Omit<
|
|
131
|
+
ReactReconciler.Fiber,
|
|
323
132
|
| "alternate"
|
|
133
|
+
| "_debugOwner"
|
|
134
|
+
| "_debugSource"
|
|
324
135
|
| "child"
|
|
136
|
+
| "deletions"
|
|
325
137
|
| "dependencies"
|
|
326
138
|
| "memoizedProps"
|
|
327
139
|
| "memoizedState"
|
|
@@ -329,38 +141,35 @@ export type Fiber<T = any> = Omit<
|
|
|
329
141
|
| "return"
|
|
330
142
|
| "sibling"
|
|
331
143
|
| "stateNode"
|
|
144
|
+
| "tag"
|
|
332
145
|
| "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
|
|
146
|
+
> {
|
|
147
|
+
_debugInfo?: ReactDebugInfo[];
|
|
148
|
+
_debugOwner?: Fiber | ServerComponentInfo | null;
|
|
149
|
+
_debugSource?: FiberDebugSource | null;
|
|
348
150
|
_debugStack?: Error & { stack: string };
|
|
349
151
|
alternate: Fiber | null;
|
|
350
152
|
child: Fiber | null;
|
|
153
|
+
deletions: Fiber[] | null;
|
|
351
154
|
dependencies: Dependencies | null;
|
|
155
|
+
effectTag?: number;
|
|
352
156
|
memoizedProps: Props;
|
|
353
|
-
memoizedState: MemoizedState;
|
|
157
|
+
memoizedState: MemoizedState | null;
|
|
354
158
|
pendingProps: Props;
|
|
355
|
-
|
|
356
159
|
return: Fiber | null;
|
|
357
160
|
sibling: Fiber | null;
|
|
358
161
|
stateNode: T;
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
162
|
+
tag: WorkTag;
|
|
163
|
+
updateQueue: FiberUpdateQueue;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export interface HostFiber<T = unknown> extends Fiber<T> {
|
|
167
|
+
tag: HostWorkTag;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export interface FiberRoot {
|
|
171
|
+
current: Fiber;
|
|
172
|
+
}
|
|
364
173
|
|
|
365
174
|
export interface MemoizedState {
|
|
366
175
|
[key: string]: unknown;
|
|
@@ -372,38 +181,55 @@ export interface Props {
|
|
|
372
181
|
[key: string]: unknown;
|
|
373
182
|
}
|
|
374
183
|
|
|
184
|
+
export interface ReactDevToolsEventHandler {
|
|
185
|
+
(data: unknown): void;
|
|
186
|
+
}
|
|
187
|
+
|
|
375
188
|
export interface ReactDevToolsGlobalHook {
|
|
376
189
|
_instrumentationIsActive?: boolean;
|
|
377
190
|
_instrumentationSource?: string;
|
|
378
191
|
checkDCE: (fn: unknown) => void;
|
|
192
|
+
emit?: (event: string, data?: unknown) => void;
|
|
193
|
+
getFiberRoots?: (rendererID: number) => Set<FiberRoot>;
|
|
379
194
|
hasUnsupportedRendererAttached: boolean;
|
|
380
195
|
inject: (renderer: ReactRenderer) => number;
|
|
381
|
-
|
|
382
|
-
on: () => void;
|
|
383
|
-
onCommitFiberRoot: (
|
|
196
|
+
off?: (event: string, handler: ReactDevToolsEventHandler) => void;
|
|
197
|
+
on: (event: string, handler: ReactDevToolsEventHandler) => void;
|
|
198
|
+
onCommitFiberRoot: (
|
|
199
|
+
rendererID: number,
|
|
200
|
+
root: FiberRoot,
|
|
201
|
+
priority: number | void,
|
|
202
|
+
didError?: boolean,
|
|
203
|
+
) => void;
|
|
384
204
|
onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
|
|
385
205
|
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
206
|
onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: ReactNode) => void;
|
|
389
207
|
renderers: Map<number, ReactRenderer>;
|
|
208
|
+
sub?: (event: string, handler: ReactDevToolsEventHandler) => () => void;
|
|
390
209
|
supportsFiber: boolean;
|
|
391
|
-
|
|
392
210
|
supportsFlight: boolean;
|
|
393
211
|
}
|
|
394
212
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
213
|
+
export interface LegacyDispatcherRef {
|
|
214
|
+
current: unknown;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export interface CurrentDispatcherRef {
|
|
218
|
+
H: unknown;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export type RendererDispatcherRef = CurrentDispatcherRef | LegacyDispatcherRef;
|
|
222
|
+
|
|
223
|
+
export interface ReactRenderer extends Omit<
|
|
224
|
+
ReactReconciler.DevToolsConfig<unknown, unknown, unknown>,
|
|
225
|
+
"findFiberByHostInstance"
|
|
226
|
+
> {
|
|
227
|
+
currentDispatcherRef?: RendererDispatcherRef | null;
|
|
401
228
|
findFiberByHostInstance?: (hostInstance: unknown) => Fiber | null;
|
|
402
|
-
|
|
403
|
-
getCurrentFiber?: (fiber: Fiber) => Fiber | null;
|
|
229
|
+
getCurrentFiber?: () => Fiber | null;
|
|
404
230
|
overrideContext?: (fiber: Fiber, contextType: unknown, path: string[], value: unknown) => void;
|
|
405
231
|
|
|
406
|
-
overrideHookState?: (fiber: Fiber, id:
|
|
232
|
+
overrideHookState?: (fiber: Fiber, id: number, path: string[], value: unknown) => void;
|
|
407
233
|
overrideHookStateDeletePath?: (fiber: Fiber, id: number, path: Array<number | string>) => void;
|
|
408
234
|
overrideHookStateRenamePath?: (
|
|
409
235
|
fiber: Fiber,
|
|
@@ -418,18 +244,13 @@ export interface ReactRenderer {
|
|
|
418
244
|
oldPath: Array<number | string>,
|
|
419
245
|
newPath: Array<number | string>,
|
|
420
246
|
) => void;
|
|
421
|
-
reconcilerVersion
|
|
422
|
-
|
|
423
|
-
// react refresh
|
|
424
|
-
scheduleRefresh?: (root: FiberRoot, update: RendererRefreshUpdate) => void;
|
|
247
|
+
reconcilerVersion?: string;
|
|
248
|
+
scheduleRetry?: (fiber: Fiber) => void;
|
|
425
249
|
scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
|
|
426
250
|
scheduleUpdate?: (fiber: Fiber) => void;
|
|
427
251
|
|
|
428
|
-
setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean) => void;
|
|
429
|
-
|
|
430
|
-
setSuspenseHandler?: (newShouldSuspendImpl: (suspenseInstance: unknown) => void) => void;
|
|
431
|
-
|
|
432
|
-
version: string;
|
|
252
|
+
setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean | null) => void;
|
|
253
|
+
setSuspenseHandler?: (newShouldSuspendImpl: (fiber: Fiber) => boolean) => void;
|
|
433
254
|
}
|
|
434
255
|
|
|
435
256
|
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}});
|