bippy 0.1.0 → 0.2.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 +467 -117
- package/dist/core.cjs +745 -0
- package/dist/core.d.cts +196 -0
- package/dist/core.d.ts +196 -0
- package/dist/core.js +687 -0
- package/dist/extract/index.cjs +1019 -0
- package/dist/extract/index.d.cts +42 -0
- package/dist/extract/index.d.ts +42 -0
- package/dist/extract/index.global.js +9 -0
- package/dist/extract/index.js +1013 -0
- package/dist/index.cjs +322 -179
- package/dist/index.d.cts +6 -210
- package/dist/index.d.ts +6 -210
- package/dist/index.global.js +4 -5
- package/dist/index.js +295 -179
- package/dist/scan/index.cjs +1079 -0
- package/dist/scan/index.d.cts +24 -0
- package/dist/scan/index.d.ts +24 -0
- package/dist/scan/index.global.js +9 -0
- package/dist/scan/index.js +1071 -0
- package/dist/types-BqcvCznx.d.cts +69 -0
- package/dist/types-BqcvCznx.d.ts +69 -0
- package/package.json +22 -15
package/dist/index.d.cts
CHANGED
|
@@ -1,220 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { R as ReactDevToolsGlobalHook } from './types-BqcvCznx.cjs';
|
|
2
|
+
export { C as ContextDependency, D as Dependencies, E as Effect, F as Fiber, M as MemoizedState, P as Props, a as ReactRenderer } from './types-BqcvCznx.cjs';
|
|
3
|
+
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponentTag, ELEMENT_TYPE_SYMBOL_STRING, ForwardRefTag, FragmentTag, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRootTag, HostSingletonTag, HostTextTag, InstrumentationOptions, LegacyHiddenComponentTag, MemoComponentTag, OffscreenComponentTag, RenderHandler, RenderPhase, SimpleMemoComponentTag, SuspenseComponentTag, TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING, createFiberVisitor, detectReactBuildType, didFiberCommit, didFiberRender, fiberIdMap, getDisplayName, getFiberFromHostInstance, getFiberId, getFiberStack, getMutatedHostFibers, getNearestHostFiber, getNearestHostFibers, getTimings, getType, hasMemoCache, instrument, isCompositeFiber, isHostFiber, isInstrumentationActive, isUsingRDT, isValidElement, isValidFiber, mountFiberRecursively, onCommitFiberRoot, secure, setFiberId, shouldFilterFiber, traverseContexts, traverseEffects, traverseFiber, traverseProps, traverseRenderedFibers, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively } from './core.cjs';
|
|
3
4
|
export { BundleType, ComponentSelector, DevToolsConfig, FiberRoot, Flags, HasPseudoClassSelector, HookType, HostConfig, LanePriority, Lanes, MutableSource, OpaqueHandle, OpaqueRoot, React$AbstractComponent, ReactConsumer, ReactContext, ReactPortal, ReactProvider, ReactProviderType, RefObject, RoleSelector, RootTag, Selector, Source, SuspenseHydrationCallbacks, TestNameSelector, TextSelector, Thenable, TransitionTracingCallbacks, TypeOfMode, WorkTag } from 'react-reconciler';
|
|
5
|
+
import 'react';
|
|
4
6
|
|
|
5
|
-
interface ContextDependency<T> {
|
|
6
|
-
context: ReactContext<T>;
|
|
7
|
-
memoizedValue: T;
|
|
8
|
-
observedBits: number;
|
|
9
|
-
next: ContextDependency<unknown> | null;
|
|
10
|
-
}
|
|
11
|
-
interface Dependencies {
|
|
12
|
-
lanes: Lanes;
|
|
13
|
-
firstContext: ContextDependency<unknown> | null;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Represents a react-internal Fiber node.
|
|
17
|
-
*/
|
|
18
|
-
type Fiber<T = any> = Omit<Fiber$1, "stateNode"> & {
|
|
19
|
-
stateNode: T;
|
|
20
|
-
dependencies: Dependencies;
|
|
21
|
-
child: Fiber | null;
|
|
22
|
-
sibling: Fiber | null;
|
|
23
|
-
return: Fiber | null;
|
|
24
|
-
alternate: Fiber | null;
|
|
25
|
-
};
|
|
26
|
-
interface ReactRenderer {
|
|
27
|
-
version: string;
|
|
28
|
-
bundleType: 0 | 1;
|
|
29
|
-
}
|
|
30
|
-
interface ReactDevToolsGlobalHook {
|
|
31
|
-
checkDCE: (fn: unknown) => void;
|
|
32
|
-
supportsFiber: boolean;
|
|
33
|
-
supportsFlight: boolean;
|
|
34
|
-
renderers: Map<number, ReactRenderer>;
|
|
35
|
-
hasUnsupportedRendererAttached: boolean;
|
|
36
|
-
onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: void | number) => void;
|
|
37
|
-
onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
|
|
38
|
-
onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
|
|
39
|
-
inject: (renderer: ReactRenderer) => number;
|
|
40
|
-
_instrumentationSource?: string;
|
|
41
|
-
_instrumentationIsActive?: boolean;
|
|
42
|
-
}
|
|
43
7
|
declare const version: string | undefined;
|
|
44
8
|
declare const BIPPY_INSTRUMENTATION_STRING: string;
|
|
45
|
-
/**
|
|
46
|
-
* Returns `true` if object is a React Element.
|
|
47
|
-
*
|
|
48
|
-
* @see https://react.dev/reference/react/isValidElement
|
|
49
|
-
*/
|
|
50
|
-
declare const isValidElement: (element: unknown) => element is React.ReactElement;
|
|
51
|
-
/**
|
|
52
|
-
* Returns `true` if object is a React Fiber.
|
|
53
|
-
*/
|
|
54
|
-
declare const isValidFiber: (fiber: unknown) => fiber is Fiber;
|
|
55
|
-
/**
|
|
56
|
-
* Returns `true` if fiber is a host fiber. Host fibers are DOM nodes in react-dom, `View` in react-native, etc.
|
|
57
|
-
*
|
|
58
|
-
* @see https://reactnative.dev/architecture/glossary#host-view-tree-and-host-view
|
|
59
|
-
*/
|
|
60
|
-
declare const isHostFiber: (fiber: Fiber) => boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Returns `true` if fiber is a composite fiber. Composite fibers are fibers that can render (like functional components, class components, etc.)
|
|
63
|
-
*
|
|
64
|
-
* @see https://reactnative.dev/architecture/glossary#react-composite-components
|
|
65
|
-
*/
|
|
66
|
-
declare const isCompositeFiber: (fiber: Fiber) => boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Traverses up or down a {@link Fiber}'s contexts, return `true` to stop and select the current and previous context value.
|
|
69
|
-
*/
|
|
70
|
-
declare const traverseContexts: (fiber: Fiber, selector: (nextValue: ContextDependency<unknown> | null | undefined, prevValue: ContextDependency<unknown> | null | undefined) => boolean | void) => boolean | null;
|
|
71
|
-
interface FiberMemoizedState {
|
|
72
|
-
memoizedState: unknown;
|
|
73
|
-
next: FiberMemoizedState | null;
|
|
74
|
-
[key: string]: unknown;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Traverses up or down a {@link Fiber}'s states, return `true` to stop and select the current and previous state value.
|
|
78
|
-
*/
|
|
79
|
-
declare const traverseState: (fiber: Fiber, selector: (nextValue: FiberMemoizedState | null | undefined, prevValue: FiberMemoizedState | null | undefined) => boolean | void) => boolean | null;
|
|
80
|
-
interface FiberEffect {
|
|
81
|
-
next: FiberEffect | null;
|
|
82
|
-
create: (...args: unknown[]) => unknown;
|
|
83
|
-
destroy: ((...args: unknown[]) => unknown) | null;
|
|
84
|
-
deps: unknown[] | null;
|
|
85
|
-
tag: number;
|
|
86
|
-
[key: string]: unknown;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Traverses up or down a {@link Fiber}'s effects that cause state changes, return `true` to stop and select the current and previous effect value.
|
|
90
|
-
*/
|
|
91
|
-
declare const traverseEffects: (fiber: Fiber, selector: (nextValue: FiberEffect | null | undefined, prevValue: FiberEffect | null | undefined) => boolean | void) => boolean | null;
|
|
92
|
-
/**
|
|
93
|
-
* Traverses up or down a {@link Fiber}'s props, return `true` to stop and select the current and previous props value.
|
|
94
|
-
*/
|
|
95
|
-
declare const traverseProps: (fiber: Fiber, selector: (propName: string, nextValue: unknown, prevValue: unknown) => boolean | void) => boolean | null;
|
|
96
|
-
/**
|
|
97
|
-
* Returns `true` if the {@link Fiber} has rendered. Note that this does not mean the fiber has rendered in the current commit, just that it has rendered in the past.
|
|
98
|
-
*/
|
|
99
|
-
declare const didFiberRender: (fiber: Fiber) => boolean;
|
|
100
|
-
/**
|
|
101
|
-
* Returns `true` if the {@link Fiber} has committed. Note that this does not mean the fiber has committed in the current commit, just that it has committed in the past.
|
|
102
|
-
*/
|
|
103
|
-
declare const didFiberCommit: (fiber: Fiber) => boolean;
|
|
104
|
-
/**
|
|
105
|
-
* Returns all host {@link Fiber}s that have committed and rendered.
|
|
106
|
-
*/
|
|
107
|
-
declare const getMutatedHostFibers: (fiber: Fiber) => Fiber[];
|
|
108
|
-
/**
|
|
109
|
-
* Returns the stack of {@link Fiber}s from the current fiber to the root fiber.
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* ```ts
|
|
113
|
-
* [fiber, fiber.return, fiber.return.return, ...]
|
|
114
|
-
* ```
|
|
115
|
-
*/
|
|
116
|
-
declare const getFiberStack: (fiber: Fiber) => any[];
|
|
117
|
-
/**
|
|
118
|
-
* Returns `true` if the {@link Fiber} should be filtered out during reconciliation.
|
|
119
|
-
*/
|
|
120
|
-
declare const shouldFilterFiber: (fiber: Fiber) => boolean;
|
|
121
|
-
/**
|
|
122
|
-
* Returns the nearest host {@link Fiber} to the current {@link Fiber}.
|
|
123
|
-
*/
|
|
124
|
-
declare const getNearestHostFiber: (fiber: Fiber, ascending?: boolean) => Fiber<any> | null;
|
|
125
|
-
/**
|
|
126
|
-
* Returns all host {@link Fiber}s in the tree that are associated with the current {@link Fiber}.
|
|
127
|
-
*/
|
|
128
|
-
declare const getNearestHostFibers: (fiber: Fiber) => Fiber<any>[];
|
|
129
|
-
/**
|
|
130
|
-
* Traverses up or down a {@link Fiber}, return `true` to stop and select a node.
|
|
131
|
-
*/
|
|
132
|
-
declare const traverseFiber: (fiber: Fiber | null, selector: (node: Fiber) => boolean | void, ascending?: boolean) => Fiber | null;
|
|
133
|
-
/**
|
|
134
|
-
* Returns the timings of the {@link Fiber}.
|
|
135
|
-
*
|
|
136
|
-
* @example
|
|
137
|
-
* ```ts
|
|
138
|
-
* const { selfTime, totalTime } = getTimings(fiber);
|
|
139
|
-
* console.log(selfTime, totalTime);
|
|
140
|
-
* ```
|
|
141
|
-
*/
|
|
142
|
-
declare const getTimings: (fiber?: Fiber | null | undefined) => {
|
|
143
|
-
selfTime: number;
|
|
144
|
-
totalTime: number;
|
|
145
|
-
};
|
|
146
|
-
/**
|
|
147
|
-
* Returns `true` if the {@link Fiber} uses React Compiler's memo cache.
|
|
148
|
-
*/
|
|
149
|
-
declare const hasMemoCache: (fiber: Fiber) => boolean;
|
|
150
|
-
/**
|
|
151
|
-
* Returns the type (e.g. component definition) of the {@link Fiber}
|
|
152
|
-
*/
|
|
153
|
-
declare const getType: (type: unknown) => React.ComponentType<unknown> | null;
|
|
154
|
-
/**
|
|
155
|
-
* Returns the display name of the {@link Fiber}.
|
|
156
|
-
*/
|
|
157
|
-
declare const getDisplayName: (type: unknown) => string | null;
|
|
158
|
-
/**
|
|
159
|
-
* Returns `true` if the DevTools backend is injected.
|
|
160
|
-
*/
|
|
161
|
-
declare const isUsingRDT: () => boolean;
|
|
162
|
-
/**
|
|
163
|
-
* Returns the build type of the React renderer.
|
|
164
|
-
*/
|
|
165
|
-
declare const detectReactBuildType: (renderer: ReactRenderer) => "development" | "production" | null;
|
|
166
|
-
/**
|
|
167
|
-
* Installs the React DevTools global hook.
|
|
168
|
-
*/
|
|
169
9
|
declare const installRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
10
|
+
declare const hasRDTHook: () => boolean;
|
|
170
11
|
/**
|
|
171
12
|
* Returns the current React DevTools global hook.
|
|
172
13
|
*/
|
|
173
14
|
declare const getRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
174
|
-
/**
|
|
175
|
-
* Returns `true` if bippy's instrumentation is active.
|
|
176
|
-
*/
|
|
177
|
-
declare const isInstrumentationActive: () => boolean;
|
|
178
|
-
type RenderPhase = "mount" | "update" | "unmount";
|
|
179
|
-
type RenderHandler = <S>(fiber: Fiber, phase: RenderPhase, state?: S) => unknown;
|
|
180
|
-
declare const mountFiberRecursively: (onRender: RenderHandler, firstChild: Fiber, traverseSiblings: boolean) => void;
|
|
181
|
-
declare const updateFiberRecursively: (onRender: RenderHandler, nextFiber: Fiber, prevFiber: Fiber, parentFiber: Fiber | null) => void;
|
|
182
|
-
declare const unmountFiber: (onRender: RenderHandler, fiber: Fiber) => void;
|
|
183
|
-
declare const unmountFiberChildrenRecursively: (onRender: RenderHandler, fiber: Fiber) => void;
|
|
184
|
-
/**
|
|
185
|
-
* Creates a fiber visitor function.
|
|
186
|
-
* @example
|
|
187
|
-
* const visitor = createFiberVisitor({
|
|
188
|
-
* onRender(fiber, phase) {
|
|
189
|
-
* console.log(phase)
|
|
190
|
-
* },
|
|
191
|
-
* });
|
|
192
|
-
*/
|
|
193
|
-
declare const createFiberVisitor: ({ onRender: onRenderWithoutState, onError, }: {
|
|
194
|
-
onRender: RenderHandler;
|
|
195
|
-
onError: (error: unknown) => unknown;
|
|
196
|
-
}) => <S>(_rendererID: number, root: FiberRoot | Fiber, state?: S) => void;
|
|
197
|
-
interface InstrumentationOptions {
|
|
198
|
-
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: void | number) => unknown;
|
|
199
|
-
onCommitFiberUnmount?: (rendererID: number, fiber: Fiber) => unknown;
|
|
200
|
-
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) => unknown;
|
|
201
|
-
onActive?: () => unknown;
|
|
202
|
-
name?: string;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Instruments the DevTools hook.
|
|
206
|
-
* @example
|
|
207
|
-
* const hook = instrument({
|
|
208
|
-
* onActive() {
|
|
209
|
-
* console.log('initialized');
|
|
210
|
-
* },
|
|
211
|
-
* onCommitFiberRoot(rendererID, root) {
|
|
212
|
-
* console.log('fiberRoot', root.current)
|
|
213
|
-
* },
|
|
214
|
-
* });
|
|
215
|
-
*/
|
|
216
|
-
declare const instrument: (options: InstrumentationOptions) => ReactDevToolsGlobalHook;
|
|
217
|
-
declare const secure: (options: InstrumentationOptions) => InstrumentationOptions;
|
|
218
|
-
declare const safeTry: <T>(fn: () => T, onError?: (error: unknown) => unknown) => T | null;
|
|
219
15
|
|
|
220
|
-
export { BIPPY_INSTRUMENTATION_STRING,
|
|
16
|
+
export { BIPPY_INSTRUMENTATION_STRING, ReactDevToolsGlobalHook, getRDTHook, hasRDTHook, installRDTHook, version };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,220 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { R as ReactDevToolsGlobalHook } from './types-BqcvCznx.js';
|
|
2
|
+
export { C as ContextDependency, D as Dependencies, E as Effect, F as Fiber, M as MemoizedState, P as Props, a as ReactRenderer } from './types-BqcvCznx.js';
|
|
3
|
+
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponentTag, ELEMENT_TYPE_SYMBOL_STRING, ForwardRefTag, FragmentTag, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRootTag, HostSingletonTag, HostTextTag, InstrumentationOptions, LegacyHiddenComponentTag, MemoComponentTag, OffscreenComponentTag, RenderHandler, RenderPhase, SimpleMemoComponentTag, SuspenseComponentTag, TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING, createFiberVisitor, detectReactBuildType, didFiberCommit, didFiberRender, fiberIdMap, getDisplayName, getFiberFromHostInstance, getFiberId, getFiberStack, getMutatedHostFibers, getNearestHostFiber, getNearestHostFibers, getTimings, getType, hasMemoCache, instrument, isCompositeFiber, isHostFiber, isInstrumentationActive, isUsingRDT, isValidElement, isValidFiber, mountFiberRecursively, onCommitFiberRoot, secure, setFiberId, shouldFilterFiber, traverseContexts, traverseEffects, traverseFiber, traverseProps, traverseRenderedFibers, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively } from './core.js';
|
|
3
4
|
export { BundleType, ComponentSelector, DevToolsConfig, FiberRoot, Flags, HasPseudoClassSelector, HookType, HostConfig, LanePriority, Lanes, MutableSource, OpaqueHandle, OpaqueRoot, React$AbstractComponent, ReactConsumer, ReactContext, ReactPortal, ReactProvider, ReactProviderType, RefObject, RoleSelector, RootTag, Selector, Source, SuspenseHydrationCallbacks, TestNameSelector, TextSelector, Thenable, TransitionTracingCallbacks, TypeOfMode, WorkTag } from 'react-reconciler';
|
|
5
|
+
import 'react';
|
|
4
6
|
|
|
5
|
-
interface ContextDependency<T> {
|
|
6
|
-
context: ReactContext<T>;
|
|
7
|
-
memoizedValue: T;
|
|
8
|
-
observedBits: number;
|
|
9
|
-
next: ContextDependency<unknown> | null;
|
|
10
|
-
}
|
|
11
|
-
interface Dependencies {
|
|
12
|
-
lanes: Lanes;
|
|
13
|
-
firstContext: ContextDependency<unknown> | null;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Represents a react-internal Fiber node.
|
|
17
|
-
*/
|
|
18
|
-
type Fiber<T = any> = Omit<Fiber$1, "stateNode"> & {
|
|
19
|
-
stateNode: T;
|
|
20
|
-
dependencies: Dependencies;
|
|
21
|
-
child: Fiber | null;
|
|
22
|
-
sibling: Fiber | null;
|
|
23
|
-
return: Fiber | null;
|
|
24
|
-
alternate: Fiber | null;
|
|
25
|
-
};
|
|
26
|
-
interface ReactRenderer {
|
|
27
|
-
version: string;
|
|
28
|
-
bundleType: 0 | 1;
|
|
29
|
-
}
|
|
30
|
-
interface ReactDevToolsGlobalHook {
|
|
31
|
-
checkDCE: (fn: unknown) => void;
|
|
32
|
-
supportsFiber: boolean;
|
|
33
|
-
supportsFlight: boolean;
|
|
34
|
-
renderers: Map<number, ReactRenderer>;
|
|
35
|
-
hasUnsupportedRendererAttached: boolean;
|
|
36
|
-
onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: void | number) => void;
|
|
37
|
-
onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
|
|
38
|
-
onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
|
|
39
|
-
inject: (renderer: ReactRenderer) => number;
|
|
40
|
-
_instrumentationSource?: string;
|
|
41
|
-
_instrumentationIsActive?: boolean;
|
|
42
|
-
}
|
|
43
7
|
declare const version: string | undefined;
|
|
44
8
|
declare const BIPPY_INSTRUMENTATION_STRING: string;
|
|
45
|
-
/**
|
|
46
|
-
* Returns `true` if object is a React Element.
|
|
47
|
-
*
|
|
48
|
-
* @see https://react.dev/reference/react/isValidElement
|
|
49
|
-
*/
|
|
50
|
-
declare const isValidElement: (element: unknown) => element is React.ReactElement;
|
|
51
|
-
/**
|
|
52
|
-
* Returns `true` if object is a React Fiber.
|
|
53
|
-
*/
|
|
54
|
-
declare const isValidFiber: (fiber: unknown) => fiber is Fiber;
|
|
55
|
-
/**
|
|
56
|
-
* Returns `true` if fiber is a host fiber. Host fibers are DOM nodes in react-dom, `View` in react-native, etc.
|
|
57
|
-
*
|
|
58
|
-
* @see https://reactnative.dev/architecture/glossary#host-view-tree-and-host-view
|
|
59
|
-
*/
|
|
60
|
-
declare const isHostFiber: (fiber: Fiber) => boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Returns `true` if fiber is a composite fiber. Composite fibers are fibers that can render (like functional components, class components, etc.)
|
|
63
|
-
*
|
|
64
|
-
* @see https://reactnative.dev/architecture/glossary#react-composite-components
|
|
65
|
-
*/
|
|
66
|
-
declare const isCompositeFiber: (fiber: Fiber) => boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Traverses up or down a {@link Fiber}'s contexts, return `true` to stop and select the current and previous context value.
|
|
69
|
-
*/
|
|
70
|
-
declare const traverseContexts: (fiber: Fiber, selector: (nextValue: ContextDependency<unknown> | null | undefined, prevValue: ContextDependency<unknown> | null | undefined) => boolean | void) => boolean | null;
|
|
71
|
-
interface FiberMemoizedState {
|
|
72
|
-
memoizedState: unknown;
|
|
73
|
-
next: FiberMemoizedState | null;
|
|
74
|
-
[key: string]: unknown;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Traverses up or down a {@link Fiber}'s states, return `true` to stop and select the current and previous state value.
|
|
78
|
-
*/
|
|
79
|
-
declare const traverseState: (fiber: Fiber, selector: (nextValue: FiberMemoizedState | null | undefined, prevValue: FiberMemoizedState | null | undefined) => boolean | void) => boolean | null;
|
|
80
|
-
interface FiberEffect {
|
|
81
|
-
next: FiberEffect | null;
|
|
82
|
-
create: (...args: unknown[]) => unknown;
|
|
83
|
-
destroy: ((...args: unknown[]) => unknown) | null;
|
|
84
|
-
deps: unknown[] | null;
|
|
85
|
-
tag: number;
|
|
86
|
-
[key: string]: unknown;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Traverses up or down a {@link Fiber}'s effects that cause state changes, return `true` to stop and select the current and previous effect value.
|
|
90
|
-
*/
|
|
91
|
-
declare const traverseEffects: (fiber: Fiber, selector: (nextValue: FiberEffect | null | undefined, prevValue: FiberEffect | null | undefined) => boolean | void) => boolean | null;
|
|
92
|
-
/**
|
|
93
|
-
* Traverses up or down a {@link Fiber}'s props, return `true` to stop and select the current and previous props value.
|
|
94
|
-
*/
|
|
95
|
-
declare const traverseProps: (fiber: Fiber, selector: (propName: string, nextValue: unknown, prevValue: unknown) => boolean | void) => boolean | null;
|
|
96
|
-
/**
|
|
97
|
-
* Returns `true` if the {@link Fiber} has rendered. Note that this does not mean the fiber has rendered in the current commit, just that it has rendered in the past.
|
|
98
|
-
*/
|
|
99
|
-
declare const didFiberRender: (fiber: Fiber) => boolean;
|
|
100
|
-
/**
|
|
101
|
-
* Returns `true` if the {@link Fiber} has committed. Note that this does not mean the fiber has committed in the current commit, just that it has committed in the past.
|
|
102
|
-
*/
|
|
103
|
-
declare const didFiberCommit: (fiber: Fiber) => boolean;
|
|
104
|
-
/**
|
|
105
|
-
* Returns all host {@link Fiber}s that have committed and rendered.
|
|
106
|
-
*/
|
|
107
|
-
declare const getMutatedHostFibers: (fiber: Fiber) => Fiber[];
|
|
108
|
-
/**
|
|
109
|
-
* Returns the stack of {@link Fiber}s from the current fiber to the root fiber.
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* ```ts
|
|
113
|
-
* [fiber, fiber.return, fiber.return.return, ...]
|
|
114
|
-
* ```
|
|
115
|
-
*/
|
|
116
|
-
declare const getFiberStack: (fiber: Fiber) => any[];
|
|
117
|
-
/**
|
|
118
|
-
* Returns `true` if the {@link Fiber} should be filtered out during reconciliation.
|
|
119
|
-
*/
|
|
120
|
-
declare const shouldFilterFiber: (fiber: Fiber) => boolean;
|
|
121
|
-
/**
|
|
122
|
-
* Returns the nearest host {@link Fiber} to the current {@link Fiber}.
|
|
123
|
-
*/
|
|
124
|
-
declare const getNearestHostFiber: (fiber: Fiber, ascending?: boolean) => Fiber<any> | null;
|
|
125
|
-
/**
|
|
126
|
-
* Returns all host {@link Fiber}s in the tree that are associated with the current {@link Fiber}.
|
|
127
|
-
*/
|
|
128
|
-
declare const getNearestHostFibers: (fiber: Fiber) => Fiber<any>[];
|
|
129
|
-
/**
|
|
130
|
-
* Traverses up or down a {@link Fiber}, return `true` to stop and select a node.
|
|
131
|
-
*/
|
|
132
|
-
declare const traverseFiber: (fiber: Fiber | null, selector: (node: Fiber) => boolean | void, ascending?: boolean) => Fiber | null;
|
|
133
|
-
/**
|
|
134
|
-
* Returns the timings of the {@link Fiber}.
|
|
135
|
-
*
|
|
136
|
-
* @example
|
|
137
|
-
* ```ts
|
|
138
|
-
* const { selfTime, totalTime } = getTimings(fiber);
|
|
139
|
-
* console.log(selfTime, totalTime);
|
|
140
|
-
* ```
|
|
141
|
-
*/
|
|
142
|
-
declare const getTimings: (fiber?: Fiber | null | undefined) => {
|
|
143
|
-
selfTime: number;
|
|
144
|
-
totalTime: number;
|
|
145
|
-
};
|
|
146
|
-
/**
|
|
147
|
-
* Returns `true` if the {@link Fiber} uses React Compiler's memo cache.
|
|
148
|
-
*/
|
|
149
|
-
declare const hasMemoCache: (fiber: Fiber) => boolean;
|
|
150
|
-
/**
|
|
151
|
-
* Returns the type (e.g. component definition) of the {@link Fiber}
|
|
152
|
-
*/
|
|
153
|
-
declare const getType: (type: unknown) => React.ComponentType<unknown> | null;
|
|
154
|
-
/**
|
|
155
|
-
* Returns the display name of the {@link Fiber}.
|
|
156
|
-
*/
|
|
157
|
-
declare const getDisplayName: (type: unknown) => string | null;
|
|
158
|
-
/**
|
|
159
|
-
* Returns `true` if the DevTools backend is injected.
|
|
160
|
-
*/
|
|
161
|
-
declare const isUsingRDT: () => boolean;
|
|
162
|
-
/**
|
|
163
|
-
* Returns the build type of the React renderer.
|
|
164
|
-
*/
|
|
165
|
-
declare const detectReactBuildType: (renderer: ReactRenderer) => "development" | "production" | null;
|
|
166
|
-
/**
|
|
167
|
-
* Installs the React DevTools global hook.
|
|
168
|
-
*/
|
|
169
9
|
declare const installRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
10
|
+
declare const hasRDTHook: () => boolean;
|
|
170
11
|
/**
|
|
171
12
|
* Returns the current React DevTools global hook.
|
|
172
13
|
*/
|
|
173
14
|
declare const getRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
174
|
-
/**
|
|
175
|
-
* Returns `true` if bippy's instrumentation is active.
|
|
176
|
-
*/
|
|
177
|
-
declare const isInstrumentationActive: () => boolean;
|
|
178
|
-
type RenderPhase = "mount" | "update" | "unmount";
|
|
179
|
-
type RenderHandler = <S>(fiber: Fiber, phase: RenderPhase, state?: S) => unknown;
|
|
180
|
-
declare const mountFiberRecursively: (onRender: RenderHandler, firstChild: Fiber, traverseSiblings: boolean) => void;
|
|
181
|
-
declare const updateFiberRecursively: (onRender: RenderHandler, nextFiber: Fiber, prevFiber: Fiber, parentFiber: Fiber | null) => void;
|
|
182
|
-
declare const unmountFiber: (onRender: RenderHandler, fiber: Fiber) => void;
|
|
183
|
-
declare const unmountFiberChildrenRecursively: (onRender: RenderHandler, fiber: Fiber) => void;
|
|
184
|
-
/**
|
|
185
|
-
* Creates a fiber visitor function.
|
|
186
|
-
* @example
|
|
187
|
-
* const visitor = createFiberVisitor({
|
|
188
|
-
* onRender(fiber, phase) {
|
|
189
|
-
* console.log(phase)
|
|
190
|
-
* },
|
|
191
|
-
* });
|
|
192
|
-
*/
|
|
193
|
-
declare const createFiberVisitor: ({ onRender: onRenderWithoutState, onError, }: {
|
|
194
|
-
onRender: RenderHandler;
|
|
195
|
-
onError: (error: unknown) => unknown;
|
|
196
|
-
}) => <S>(_rendererID: number, root: FiberRoot | Fiber, state?: S) => void;
|
|
197
|
-
interface InstrumentationOptions {
|
|
198
|
-
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: void | number) => unknown;
|
|
199
|
-
onCommitFiberUnmount?: (rendererID: number, fiber: Fiber) => unknown;
|
|
200
|
-
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) => unknown;
|
|
201
|
-
onActive?: () => unknown;
|
|
202
|
-
name?: string;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Instruments the DevTools hook.
|
|
206
|
-
* @example
|
|
207
|
-
* const hook = instrument({
|
|
208
|
-
* onActive() {
|
|
209
|
-
* console.log('initialized');
|
|
210
|
-
* },
|
|
211
|
-
* onCommitFiberRoot(rendererID, root) {
|
|
212
|
-
* console.log('fiberRoot', root.current)
|
|
213
|
-
* },
|
|
214
|
-
* });
|
|
215
|
-
*/
|
|
216
|
-
declare const instrument: (options: InstrumentationOptions) => ReactDevToolsGlobalHook;
|
|
217
|
-
declare const secure: (options: InstrumentationOptions) => InstrumentationOptions;
|
|
218
|
-
declare const safeTry: <T>(fn: () => T, onError?: (error: unknown) => unknown) => T | null;
|
|
219
15
|
|
|
220
|
-
export { BIPPY_INSTRUMENTATION_STRING,
|
|
16
|
+
export { BIPPY_INSTRUMENTATION_STRING, ReactDevToolsGlobalHook, getRDTHook, hasRDTHook, installRDTHook, version };
|
package/dist/index.global.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
var Bippy=
|
|
1
|
+
var Bippy=function(e){"use strict";
|
|
2
|
+
/**
|
|
2
3
|
* @license bippy
|
|
3
4
|
*
|
|
4
|
-
* Copyright (c) Aiden Bai.
|
|
5
|
+
* Copyright (c) Aiden Bai, Million Software, Inc.
|
|
5
6
|
*
|
|
6
7
|
* This source code is licensed under the MIT license found in the
|
|
7
8
|
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
var M="0.1.0",v=`bippy-${M}`,O=1,_=0,A=9,y=13,P=11,D=14,E=15,L=5,V=26,U=27,j=18,B=6,G=7,$=23,Y=22,H=3,W=60111,q="Symbol(react.element)",K="Symbol(react.transitional.element)",Q="Symbol(react.concurrent_mode)",J="Symbol(react.async_mode)",x=1,X=2,Z=4096,ee=4,S=8,te=16,ne=32,oe=1024,re=8192,k=X|ee|te|ne|Z|re|oe,ce=e=>typeof e=="object"&&e!=null&&"$$typeof"in e&&[q,K].includes(String(e.$$typeof)),me=e=>typeof e=="object"&&e!=null&&"tag"in e&&"stateNode"in e&&"return"in e&&"child"in e&&"sibling"in e&&"flags"in e,b=e=>e.tag===L||e.tag===V||e.tag===U||typeof e.type=="string",de=e=>e.tag===_||e.tag===O||e.tag===E||e.tag===D||e.tag===P,pe=(e,t)=>u(()=>{let o=e.dependencies,n=e.alternate?.dependencies;if(!o||!n||typeof o!="object"||!("firstContext"in o)||typeof n!="object"||!("firstContext"in n))return !1;let i=o.firstContext,r=n.firstContext;for(;i&&typeof i=="object"&&"memoizedValue"in i||r&&typeof r=="object"&&"memoizedValue"in r;){if(t(i,r)===!0)return !0;i=i?.next,r=r?.next;}return !1}),be=(e,t)=>u(()=>{let o=e.memoizedState,n=e.alternate?.memoizedState;for(;o||n;){if(t(o,n)===!0)return !0;o=o.next,n=n.next;}return !1}),fe=(e,t)=>u(()=>{let o=e.updateQueue?.lastEffect,n=e.alternate?.updateQueue?.lastEffect;for(;o||n;){if(t(o,n)===!0)return !0;if(o?.next===o||n?.next===n)break;o=o?.next,n=n?.next;}return !1}),Fe=(e,t)=>u(()=>{let o=e.memoizedProps,n=e.alternate?.memoizedProps||{},i=new Set([...Object.keys(n),...Object.keys(o)]);for(let r of i){let l=n?.[r],a=o?.[r];if(t(r,a,l)===!0)return !0}return !1}),h=e=>{let t=e.memoizedProps,o=e.alternate?.memoizedProps||{},n=e.flags??e.effectTag??0;switch(e.tag){case O:case _:case A:case P:case D:case E:return (n&x)===x;default:return e.alternate?o!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref:!0}},ie=e=>!!(e.flags&(k|S)||e.subtreeFlags&(k|S)),Ce=e=>{let t=[],o=[e];for(;o.length;){let n=o.pop();n&&(b(n)&&ie(n)&&h(n)&&t.push(n),n.child&&o.push(n.child),n.sibling&&o.push(n.sibling));}return t},Re=e=>{let t=[],o=e;for(;o.return;)t.push(o),o=o.return;let n=new Array(t.length);for(let i=0;i<t.length;i++)n[i]=t[t.length-i-1];return n},g=e=>{switch(e.tag){case j:return !0;case B:case G:case $:case Y:return !0;case H:return !1;default:{let t=typeof e.type=="object"&&e.type!==null?e.type.$$typeof:e.type;switch(typeof t=="symbol"?t.toString():t){case W:case Q:case J:return !0;default:return !1}}}},ye=(e,t=!1)=>{let o=F(e,b,t);return o||(o=F(e,b,!t)),o},he=e=>{let t=[],o=n=>{let i=n;for(;i;)b(i)?t.push(i):i.child&&o(i.child),i=i.sibling;};return o(e),t},F=(e,t,o=!1)=>{if(!e)return null;if(t(e)===!0)return e;let n=o?e.return:e.child;for(;n;){let i=F(n,t,o);if(i)return i;n=o?null:n.sibling;}return null},ge=e=>{let t=e?.actualDuration??0,o=t,n=e?.child??null;for(;t>0&&n!=null;)o-=n.actualDuration??0,n=n.sibling;return {selfTime:o,totalTime:t}},Te=e=>!!e.updateQueue?.memoCache,N=e=>{let t=e;return typeof t=="function"?t:typeof t=="object"&&t?N(t.type||t.render):null},xe=e=>{let t=e;if(typeof t!="function"&&!(typeof t=="object"&&t))return null;let o=t.displayName||t.name||null;if(o)return o;let n=N(t);return n&&(n.displayName||n.name)||null},le=()=>"reactDevtoolsAgent"in p(),se=e=>u(()=>typeof e.version=="string"&&e.bundleType>0?"development":"production"),ae=e=>{u(()=>{Function.prototype.toString.call(e).indexOf("^_^")>-1&&setTimeout(()=>{throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")});});},f=()=>{},T=e=>{let t=new Map,o=0,n={checkDCE:ae,supportsFiber:!0,supportsFlight:!0,hasUnsupportedRendererAttached:!1,renderers:t,onCommitFiberRoot:f,onCommitFiberUnmount:f,onPostCommitFiberRoot:f,inject(i){let r=++o;return t.set(r,i),n._instrumentationIsActive||(n._instrumentationIsActive=!0,e?.()),r},_instrumentationSource:v,_instrumentationIsActive:!1};return u(()=>{Object.defineProperty(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{value:n});}),n},p=e=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;return t&&e?.(),Object.prototype.hasOwnProperty.call(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__")||(t=T(e)),t},Se=()=>!!p()._instrumentationIsActive||le(),m=(e,t,o)=>{let n=t;for(;n!=null;){if(!g(n)&&h(n)&&e(n,"mount"),n.tag===y)if(n.memoizedState!==null){let l=n.child,a=l?l.sibling:null;if(a){let s=a.child;s!==null&&m(e,s,!1);}}else {let l=null;n.child!==null&&(l=n.child.child),l!==null&&m(e,l,!1);}else n.child!=null&&m(e,n.child,!0);n=o?n.sibling:null;}},C=(e,t,o,n)=>{if(!o)return;let i=t.tag===y,r=!g(t);r&&h(t)&&e(t,"update");let l=i&&o.memoizedState!==null,a=i&&t.memoizedState!==null;if(l&&a){let s=t.child?.sibling??null,c=o.child?.sibling??null;s!==null&&c!==null&&C(e,s,c);}else if(l&&!a){let s=t.child;s!==null&&m(e,s,!0);}else if(!l&&a){I(e,o);let s=t.child?.sibling??null;s!==null&&m(e,s,!0);}else if(t.child!==o.child){let s=t.child;for(;s;){if(s.alternate){let c=s.alternate;C(e,s,c);}else m(e,s,!1);s=s.sibling;}}},R=(e,t)=>{(t.tag===H||!g(t))&&e(t,"unmount");},I=(e,t)=>{let o=t.tag===y&&t.memoizedState!==null,n=t.child;for(o&&(n=(t.child?.sibling??null)?.child??null);n!==null;)n.return!==null&&(R(e,n),I(e,n)),n=n.sibling;},ue=0,w=new WeakMap,ke=({onRender:e,onError:t})=>(o,n,i)=>{let r="current"in n?n.current:n,l=(c,d)=>e(c,d,i),a=w.get(n);a||(a={prevFiber:null,id:ue++},w.set(n,a));let{prevFiber:s}=a;u(()=>{if(!r)R(l,n);else if(s!==null){let c=s&&s.memoizedState!=null&&s.memoizedState.element!=null&&s.memoizedState.isDehydrated!==!0,d=r.memoizedState!=null&&r.memoizedState.element!=null&&r.memoizedState.isDehydrated!==!0;!c&&d?m(l,r,!1):c&&d?C(l,r,r.alternate,null):c&&!d&&R(l,r);}else m(l,r,!0);},t),a.prevFiber=r;},we=e=>p(()=>{let t=p();e.onActive?.(),t._instrumentationSource=e.name??v;let o=t.onCommitFiberRoot;e.onCommitFiberRoot&&(t.onCommitFiberRoot=(r,l,a)=>{o&&o(r,l,a),e.onCommitFiberRoot?.(r,l,a);});let n=t.onCommitFiberUnmount;e.onCommitFiberUnmount&&(t.onCommitFiberUnmount=(r,l)=>{n&&n(r,l),e.onCommitFiberUnmount?.(r,l);});let i=t.onPostCommitFiberRoot;e.onPostCommitFiberRoot&&(t.onPostCommitFiberRoot=(r,l)=>{i&&i(r,l),e.onPostCommitFiberRoot?.(r,l);});}),ve=e=>{let t=e.onActive;return e.onActive=()=>{let o=!0;if(u(()=>{t?.();let l=p();for(let a of l.renderers.values()){let[s]=a.version.split(".");Number(s)<17&&(o=!1),se(a)!=="development"&&(o=!1);}}),!o){e.onCommitFiberRoot=void 0,e.onCommitFiberUnmount=void 0,e.onPostCommitFiberRoot=void 0,e.onActive=void 0;return}let n=e.onCommitFiberRoot;n&&(e.onCommitFiberRoot=(l,a,s)=>{u(()=>n(l,a,s));});let i=e.onCommitFiberUnmount;i&&(e.onCommitFiberUnmount=(l,a)=>{u(()=>i(l,a));});let r=e.onPostCommitFiberRoot;r&&(e.onPostCommitFiberRoot=(l,a)=>{u(()=>r(l,a));});},e},u=(e,t)=>{try{return e()}catch(o){t?.(o);}return null};typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")&&typeof process<"u"&&process.versions!=null&&process.versions.node!=null&&T();
|
|
10
|
-
exports.BIPPY_INSTRUMENTATION_STRING=v;exports.createFiberVisitor=ke;exports.detectReactBuildType=se;exports.didFiberCommit=ie;exports.didFiberRender=h;exports.getDisplayName=xe;exports.getFiberStack=Re;exports.getMutatedHostFibers=Ce;exports.getNearestHostFiber=ye;exports.getNearestHostFibers=he;exports.getRDTHook=p;exports.getTimings=ge;exports.getType=N;exports.hasMemoCache=Te;exports.installRDTHook=T;exports.instrument=we;exports.isCompositeFiber=de;exports.isHostFiber=b;exports.isInstrumentationActive=Se;exports.isUsingRDT=le;exports.isValidElement=ce;exports.isValidFiber=me;exports.mountFiberRecursively=m;exports.safeTry=u;exports.secure=ve;exports.shouldFilterFiber=g;exports.traverseContexts=pe;exports.traverseEffects=fe;exports.traverseFiber=F;exports.traverseProps=Fe;exports.traverseState=be;exports.unmountFiber=R;exports.unmountFiberChildrenRecursively=I;exports.updateFiberRecursively=C;exports.version=M;return exports;})({});
|
|
9
|
+
*/var t="0.2.0",n=`bippy-${t}`,o=()=>{},r=e=>{try{Function.prototype.toString.call(e).indexOf("^_^")>-1&&setTimeout((()=>{throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")}))}catch{}},i=e=>{const t=new Map;let i=0;const s={checkDCE:r,supportsFiber:!0,supportsFlight:!0,hasUnsupportedRendererAttached:!1,renderers:t,onCommitFiberRoot:o,onCommitFiberUnmount:o,onPostCommitFiberRoot:o,inject(n){const o=++i;return t.set(o,n),s._instrumentationIsActive||(s._instrumentationIsActive=!0,e?.()),o},_instrumentationSource:n,_instrumentationIsActive:!1};try{Object.defineProperty(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{value:s})}catch{}return s},s=()=>Object.prototype.hasOwnProperty.call(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__"),l=e=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;return t&&e?.(),s()||(t=i(e)),t};try{"undefined"==typeof window||!window.document?.createElement&&"ReactNative"!==window.navigator?.product||"undefined"==typeof process||null==process.versions||null==process.versions.node||i()}catch{}var a="Symbol(react.element)",c="Symbol(react.transitional.element)",u="Symbol(react.concurrent_mode)",m="Symbol(react.async_mode)",d=e=>{switch(e.tag){case 5:case 26:case 27:return!0;default:return"string"==typeof e.type}},p=e=>{const t=e.memoizedProps,n=e.alternate?.memoizedProps||{},o=e.flags??e.effectTag??0;switch(e.tag){case 1:case 0:case 9:case 11:case 14:case 15:return!(1&~o);default:return!e.alternate||(n!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref)}},f=e=>Boolean(!!(13374&e.flags)||!!(13374&e.subtreeFlags)),b=e=>{switch(e.tag){case 18:case 6:case 7:case 23:case 22:return!0;case 3:return!1;default:{const t="object"==typeof e.type&&null!==e.type?e.type.$$typeof:e.type;switch("symbol"==typeof t?t.toString():t){case 60111:case u:case m:return!0;default:return!1}}}},h=(e,t,n=!1)=>{if(!e)return null;if(!0===t(e))return e;let o=n?e.return:e.child;for(;o;){const e=h(o,t,n);if(e)return e;o=n?null:o.sibling}return null},g=e=>{const t=e;return"function"==typeof t?t:"object"==typeof t&&t?g(t.type||t.render):null},y=()=>"reactDevtoolsAgent"in l(),C=e=>{try{if("string"==typeof e.version&&e.bundleType>0)return"development"}catch{}return"production"},F=0,T=new WeakMap,R=(e,t=F++)=>{T.set(e,t)},_=e=>{let t=T.get(e);return!t&&e.alternate&&(t=T.get(e.alternate)),t||(t=F++,R(e,t)),t},S=(e,t,n)=>{let o=t;for(;null!=o;){T.has(o)||_(o);if(!b(o)&&p(o)&&e(o,"mount"),13===o.tag){if(null!==o.memoizedState){const t=o.child,n=t?t.sibling:null;if(n){const t=n.child;null!==t&&S(e,t,!1)}}else{let t=null;null!==o.child&&(t=o.child.child),null!==t&&S(e,t,!1)}}else null!=o.child&&S(e,o.child,!0);o=n?o.sibling:null}},v=(e,t,n,o)=>{if(T.has(t)||_(t),!n)return;T.has(n)||_(n);const r=13===t.tag;!b(t)&&p(t)&&e(t,"update");const i=r&&null!==n.memoizedState,s=r&&null!==t.memoizedState;if(i&&s){const o=t.child?.sibling??null,r=n.child?.sibling??null;null!==o&&null!==r&&v(e,o,r)}else if(i&&!s){const n=t.child;null!==n&&S(e,n,!0)}else if(!i&&s){O(e,n);const o=t.child?.sibling??null;null!==o&&S(e,o,!0)}else if(t.child!==n.child){let n=t.child;for(;n;){if(n.alternate){const t=n.alternate;v(e,n,t)}else S(e,n,!1);n=n.sibling}}},E=(e,t)=>{!(3===t.tag)&&b(t)||e(t,"unmount")},O=(e,t)=>{const n=13===t.tag&&null!==t.memoizedState;let o=t.child;if(n){const e=t.child,n=e?.sibling??null;o=n?.child??null}for(;null!==o;)null!==o.return&&(E(e,o),O(e,o)),o=o.sibling},N=0,A=new WeakMap,I=(e,t)=>{const n="current"in e?e.current:e;let o=A.get(e);o||(o={prevFiber:null,id:N++},A.set(e,o));const{prevFiber:r}=o;if(n)if(null!==r){const e=r&&null!=r.memoizedState&&null!=r.memoizedState.element&&!0!==r.memoizedState.isDehydrated,o=null!=n.memoizedState&&null!=n.memoizedState.element&&!0!==n.memoizedState.isDehydrated;!e&&o?S(t,n,!1):e&&o?v(t,n,n.alternate):e&&!o&&E(t,n)}else S(t,n,!0);else E(t,n);o.prevFiber=n},w=e=>l((()=>{const t=l();e.onActive?.(),t._instrumentationSource=e.name??n;const o=t.onCommitFiberRoot;e.onCommitFiberRoot&&(t.onCommitFiberRoot=(t,n,r)=>{o&&o(t,n,r),e.onCommitFiberRoot?.(t,n,r)});const r=t.onCommitFiberUnmount;e.onCommitFiberUnmount&&(t.onCommitFiberUnmount=(t,n)=>{r&&r(t,n),e.onCommitFiberUnmount?.(t,n)});const i=t.onPostCommitFiberRoot;e.onPostCommitFiberRoot&&(t.onPostCommitFiberRoot=(t,n)=>{i&&i(t,n),e.onPostCommitFiberRoot?.(t,n)})})),P=(e,t={})=>{const n=e.onActive,o=s(),r=y();let i,a=!1;return e.onActive=()=>{clearTimeout(i);let o=!0;try{n?.();const e=l();for(const n of e.renderers.values()){const[e]=n.version.split(".");Number(e)<(t.minReactMajorVersion??17)&&(o=!1);"development"!==C(n)&&(a=!0,t.dangerouslyRunInProduction||(o=!1))}}catch(e){t.onError?.(e)}if(!o)return e.onCommitFiberRoot=void 0,e.onCommitFiberUnmount=void 0,e.onPostCommitFiberRoot=void 0,void(e.onActive=void 0);try{const n=e.onCommitFiberRoot;n&&(e.onCommitFiberRoot=(e,o,r)=>{try{n(e,o,r)}catch(e){t.onError?.(e)}});const o=e.onCommitFiberUnmount;o&&(e.onCommitFiberUnmount=(e,n)=>{try{o(e,n)}catch(e){t.onError?.(e)}});const r=e.onPostCommitFiberRoot;r&&(e.onPostCommitFiberRoot=(e,n)=>{try{r(e,n)}catch(e){t.onError?.(e)}})}catch(e){t.onError?.(e)}},o||r||(i=setTimeout((()=>{a||t.onError?.(),stop()}),t.installCheckTimeout??100)),e};return e.BIPPY_INSTRUMENTATION_STRING=n,e.CONCURRENT_MODE_NUMBER=60111,e.CONCURRENT_MODE_SYMBOL_STRING=u,e.ClassComponentTag=1,e.ContextConsumerTag=9,e.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=m,e.DehydratedSuspenseComponentTag=18,e.ELEMENT_TYPE_SYMBOL_STRING=a,e.ForwardRefTag=11,e.FragmentTag=7,e.FunctionComponentTag=0,e.HostComponentTag=5,e.HostHoistableTag=26,e.HostRootTag=3,e.HostSingletonTag=27,e.HostTextTag=6,e.LegacyHiddenComponentTag=23,e.MemoComponentTag=14,e.OffscreenComponentTag=22,e.SimpleMemoComponentTag=15,e.SuspenseComponentTag=13,e.TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING=c,e.createFiberVisitor=({onRender:e})=>(t,n,o)=>{I(n,e)},e.detectReactBuildType=C,e.didFiberCommit=f,e.didFiberRender=p,e.fiberIdMap=T,e.getDisplayName=e=>{const t=e;if("function"!=typeof t&&("object"!=typeof t||!t))return null;const n=t.displayName||t.name||null;if(n)return n;const o=g(t);return o&&(o.displayName||o.name)||null},e.getFiberFromHostInstance=e=>{const t=l();for(const n of t.renderers.values())try{const t=n.findFiberByHostInstance?.(e);if(t)return t}catch{}if("object"==typeof e&&null!=e){if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(const t in e)if(t.startsWith("__reactInternalInstance$")||t.startsWith("__reactFiber"))return e[t]}return null},e.getFiberId=_,e.getFiberStack=e=>{const t=[];let n=e;for(;n.return;)t.push(n),n=n.return;const o=new Array(t.length);for(let e=0;e<t.length;e++)o[e]=t[t.length-e-1];return o},e.getMutatedHostFibers=e=>{const t=[],n=[e];for(;n.length;){const e=n.pop();e&&(d(e)&&f(e)&&p(e)&&t.push(e),e.child&&n.push(e.child),e.sibling&&n.push(e.sibling))}return t},e.getNearestHostFiber=(e,t=!1)=>{let n=h(e,d,t);return n||(n=h(e,d,!t)),n},e.getNearestHostFibers=e=>{const t=[],n=[];for(d(e)?t.push(e):e.child&&n.push(e.child);n.length;){const e=n.pop();if(!e)break;d(e)?t.push(e):e.child&&n.push(e.child),e.sibling&&n.push(e.sibling)}return t},e.getRDTHook=l,e.getTimings=e=>{const t=e?.actualDuration??0;let n=t,o=e?.child??null;for(;t>0&&null!=o;)n-=o.actualDuration??0,o=o.sibling;return{selfTime:n,totalTime:t}},e.getType=g,e.hasMemoCache=e=>Boolean(e.updateQueue?.memoCache),e.hasRDTHook=s,e.installRDTHook=i,e.instrument=w,e.isCompositeFiber=e=>{switch(e.tag){case 0:case 1:case 15:case 14:case 11:return!0;default:return!1}},e.isHostFiber=d,e.isInstrumentationActive=()=>{const e=l();return Boolean(e._instrumentationIsActive)||y()},e.isUsingRDT=y,e.isValidElement=e=>"object"==typeof e&&null!=e&&"$$typeof"in e&&[a,c].includes(String(e.$$typeof)),e.isValidFiber=e=>"object"==typeof e&&null!=e&&"tag"in e&&"stateNode"in e&&"return"in e&&"child"in e&&"sibling"in e&&"flags"in e,e.mountFiberRecursively=S,e.onCommitFiberRoot=e=>{w(P({onCommitFiberRoot:(t,n)=>{e(n)}}))},e.secure=P,e.setFiberId=R,e.shouldFilterFiber=b,e.traverseContexts=(e,t)=>{try{const n=e.dependencies,o=e.alternate?.dependencies;if(!n||!o)return!1;if("object"!=typeof n||!("firstContext"in n)||"object"!=typeof o||!("firstContext"in o))return!1;let r=n.firstContext,i=o.firstContext;for(;r&&"object"==typeof r&&"memoizedValue"in r||i&&"object"==typeof i&&"memoizedValue"in i;){if(!0===t(r,i))return!0;r=r?.next,i=i?.next}}catch{}return!1},e.traverseEffects=(e,t)=>{try{let n=e.updateQueue?.lastEffect,o=e.alternate?.updateQueue?.lastEffect;for(;n||o;){if(!0===t(n,o))return!0;if(n?.next===n||o?.next===o)break;n=n?.next,o=o?.next}}catch{}return!1},e.traverseFiber=h,e.traverseProps=(e,t)=>{try{const n=e.memoizedProps,o=e.alternate?.memoizedProps||{},r=new Set([...Object.keys(o),...Object.keys(n)]);for(const e of r){const r=o?.[e],i=n?.[e];if(!0===t(e,i,r))return!0}}catch{}return!1},e.traverseRenderedFibers=I,e.traverseState=(e,t)=>{try{let n=e.memoizedState,o=e.alternate?.memoizedState;for(;n||o;){if(!0===t(n,o))return!0;n=n?.next,o=o?.next}}catch{}return!1},e.unmountFiber=E,e.unmountFiberChildrenRecursively=O,e.updateFiberRecursively=v,e.version=t,e}({});
|