bippy 0.6.1-dev.8585943 → 0.6.1-dev.8880a6d
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 +168 -88
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +141 -2
- package/dist/index.d.ts +141 -2
- package/dist/index.js +1 -1
- package/dist/rdt-hook.cjs +1 -1
- package/dist/rdt-hook.js +1 -1
- package/dist/source.cjs +6 -6
- package/dist/source.js +6 -6
- package/package.json +1 -11
- package/src/core.ts +18 -17
- package/src/react.ts +2 -2
- package/dist/core.d.cts +0 -154
- package/dist/core.d.ts +0 -154
- package/dist/core2.cjs +0 -9
- package/dist/core2.d.cts +0 -11
- package/dist/core2.d.ts +0 -11
- package/dist/core2.js +0 -9
package/README.md
CHANGED
|
@@ -8,39 +8,70 @@
|
|
|
8
8
|
|
|
9
9
|
bippy hacks into React internals.
|
|
10
10
|
|
|
11
|
-
React
|
|
11
|
+
React keeps its internals out of reach. bippy opens them up for metaprogramming, letting you inspect the [Fiber](https://youtu.be/ZCuYPiUIONs) tree, track renders, and access the renderer directly.
|
|
12
12
|
|
|
13
13
|
> [!WARNING]
|
|
14
14
|
> ⚠️⚠️⚠️ **This project may break production apps and cause unexpected behavior.** ⚠️⚠️⚠️
|
|
15
15
|
>
|
|
16
|
-
> This project uses React internals, which can change at any time. We don
|
|
17
|
-
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
16
|
+
> This project uses React internals, which can change at any time. We don’t recommend depending on them unless you have to. By proceeding, you acknowledge the risk of breaking your own code or apps that use your code.
|
|
17
|
+
|
|
18
|
+
## How React works internally
|
|
19
|
+
|
|
20
|
+
A Fiber is both a node in React’s internal representation of the UI and a unit of work that React can schedule. As a [UI runtime](https://overreacted.io/react-as-a-ui-runtime/), React produces and maintains a tree in a host environment such as the browser. Fiber is the data structure React uses to reconcile that UI.
|
|
21
|
+
|
|
22
|
+
React builds the Fiber tree as it renders your [component tree](https://react.dev/learn/understanding-your-ui-as-a-tree). Each Fiber is a mutable object representing a component, host element, text node, or internal boundary. It stores the node’s props, state, position in the tree, and pending work.
|
|
23
|
+
|
|
24
|
+
Consider this component tree:
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
const Button = () => <button>Save</button>;
|
|
28
|
+
|
|
29
|
+
const App = () => (
|
|
30
|
+
<main>
|
|
31
|
+
<Button />
|
|
32
|
+
</main>
|
|
33
|
+
);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Each rendered tree has a [`FiberRoot`](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactInternalTypes.js#L212-L221) container. Its `current` field points to the `HostRoot` Fiber at the top of the tree. `HostRoot`, `FunctionComponent`, and `HostComponent` are [React’s internal work tags](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactWorkTags.js#L44-L49).
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
FiberRoot
|
|
40
|
+
└── current → HostRoot Fiber
|
|
41
|
+
└── App FunctionComponent
|
|
42
|
+
└── main HostComponent
|
|
43
|
+
└── Button FunctionComponent
|
|
44
|
+
└── button HostComponent
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Fibers are actual linked objects. React defines their shape in the [`Fiber` type](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactInternalTypes.js#L87-L174) and initializes them in [`FiberNode`](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactFiber.js#L134-L173). The host Fiber for `<button>` resembles this object:
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
FiberNode {
|
|
51
|
+
tag: 5,
|
|
52
|
+
type: "button",
|
|
53
|
+
stateNode: HTMLButtonElement {},
|
|
54
|
+
return: FiberNode { … },
|
|
55
|
+
child: null,
|
|
56
|
+
sibling: null,
|
|
57
|
+
memoizedProps: { children: "Save" },
|
|
58
|
+
flags: 0,
|
|
59
|
+
alternate: null
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
The fields connect React’s component tree, pending work, and rendered output:
|
|
64
|
+
|
|
65
|
+
- [`tag`](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactInternalTypes.js#L100-L101) identifies the Fiber’s internal node kind
|
|
66
|
+
- [`type`](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactInternalTypes.js#L106-L114) identifies the component or host element, while `stateNode` points to its renderer-owned instance
|
|
67
|
+
- [`return`, `child`, and `sibling`](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactInternalTypes.js#L122-L131) form the linked tree
|
|
68
|
+
- [`memoizedProps`](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactInternalTypes.js#L142-L150) and `memoizedState` contain the inputs used to produce the current output
|
|
69
|
+
- [`flags`](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactFiberFlags.js#L14-L52) records work that React must perform during the commit phase
|
|
70
|
+
- [`alternate`](https://github.com/facebook/react/blob/beef6d60f46a97f5c20471df81760fcf365d63ef/packages/react-reconciler/src/ReactFiber.js#L322-L351) links the current Fiber to its work-in-progress counterpart
|
|
71
|
+
|
|
72
|
+
During an update, React builds a work-in-progress tree beside the current tree. React can pause or discard this work. During the [commit phase](https://react.dev/learn/render-and-commit#step-3-react-commits-changes-to-the-dom), React applies the finished work and makes that tree current.
|
|
73
|
+
|
|
74
|
+
React does not expose Fiber as a public API. bippy “hacks into React” by accessing it anyway, giving you a consistent way to inspect Fiber trees across React versions and renderers.
|
|
44
75
|
|
|
45
76
|
## Install bippy
|
|
46
77
|
|
|
@@ -70,7 +101,20 @@ import { StrictMode } from "react";
|
|
|
70
101
|
import { createRoot } from "react-dom/client";
|
|
71
102
|
```
|
|
72
103
|
|
|
73
|
-
##
|
|
104
|
+
## API Reference
|
|
105
|
+
|
|
106
|
+
### `getFiber`
|
|
107
|
+
|
|
108
|
+
Returns the Fiber associated with a renderer host instance, such as an element from the Document Object Model (DOM). The result is `null` when no registered renderer recognizes the instance.
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
import { getFiber } from "bippy";
|
|
112
|
+
|
|
113
|
+
const element = document.querySelector("button");
|
|
114
|
+
const fiber = getFiber(element);
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
`getFiberFromHostInstance` is an alias for `getFiber`.
|
|
74
118
|
|
|
75
119
|
### `useFiber`
|
|
76
120
|
|
|
@@ -86,10 +130,6 @@ const Component = () => {
|
|
|
86
130
|
};
|
|
87
131
|
```
|
|
88
132
|
|
|
89
|
-
## Instrumentation
|
|
90
|
-
|
|
91
|
-
Listen for React lifecycle events with `instrument`.
|
|
92
|
-
|
|
93
133
|
### `instrument`
|
|
94
134
|
|
|
95
135
|
Registers lifecycle handlers and returns an unsubscribe function.
|
|
@@ -104,11 +144,10 @@ Available handlers include:
|
|
|
104
144
|
|
|
105
145
|
```typescript
|
|
106
146
|
import { instrument } from "bippy";
|
|
107
|
-
import * as React from "react";
|
|
108
147
|
|
|
109
148
|
const unsubscribe = instrument({
|
|
110
|
-
|
|
111
|
-
console.log(rendererID,
|
|
149
|
+
onCommitFiberUnmount(rendererID, fiber) {
|
|
150
|
+
console.log(rendererID, fiber);
|
|
112
151
|
},
|
|
113
152
|
});
|
|
114
153
|
|
|
@@ -119,7 +158,7 @@ Call the returned function to unsubscribe those handlers.
|
|
|
119
158
|
|
|
120
159
|
### `getRDTHook`
|
|
121
160
|
|
|
122
|
-
Returns `globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__`. Use it
|
|
161
|
+
Returns the React DevTools global hook at `globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__`. Use it to access registered renderers and Fiber roots directly.
|
|
123
162
|
|
|
124
163
|
```typescript
|
|
125
164
|
import { getRDTHook } from "bippy";
|
|
@@ -128,17 +167,12 @@ const hook = getRDTHook();
|
|
|
128
167
|
console.log(hook.renderers);
|
|
129
168
|
```
|
|
130
169
|
|
|
131
|
-
## Fiber traversal
|
|
132
|
-
|
|
133
|
-
Traversal helpers walk a complete Fiber tree or select the Fibers involved in a commit.
|
|
134
|
-
|
|
135
170
|
### `traverseRenderedFibers`
|
|
136
171
|
|
|
137
172
|
Visits Fibers that mounted, updated, or unmounted in a commit. The callback receives the Fiber and its `mount`, `update`, or `unmount` phase.
|
|
138
173
|
|
|
139
174
|
```typescript
|
|
140
175
|
import { instrument, traverseRenderedFibers } from "bippy";
|
|
141
|
-
import * as React from "react";
|
|
142
176
|
|
|
143
177
|
instrument({
|
|
144
178
|
onCommitFiberRoot(rendererID, root) {
|
|
@@ -158,50 +192,68 @@ Walks down from a Fiber and calls a selector for each node. Return `true` to sto
|
|
|
158
192
|
```typescript
|
|
159
193
|
import { isHostFiber, traverseFiber } from "bippy";
|
|
160
194
|
|
|
161
|
-
const buttonFiber = traverseFiber(
|
|
162
|
-
return isHostFiber(
|
|
195
|
+
const buttonFiber = traverseFiber(fiber, (candidateFiber) => {
|
|
196
|
+
return isHostFiber(candidateFiber) && candidateFiber.type === "button";
|
|
163
197
|
});
|
|
164
198
|
```
|
|
165
199
|
|
|
166
200
|
The selector can also return a promise. In that case, `traverseFiber` returns a promise for the selected Fiber.
|
|
167
201
|
|
|
168
|
-
### `didFiberRender`
|
|
202
|
+
### `didFiberRender`
|
|
169
203
|
|
|
170
|
-
|
|
204
|
+
Returns whether a Fiber has rendered. It does not identify whether the render happened during a specific commit.
|
|
171
205
|
|
|
172
206
|
```typescript
|
|
173
|
-
import {
|
|
207
|
+
import { didFiberRender } from "bippy";
|
|
174
208
|
|
|
175
209
|
console.log(didFiberRender(fiber));
|
|
176
|
-
console.log(didFiberCommit(fiber));
|
|
177
210
|
```
|
|
178
211
|
|
|
179
|
-
|
|
212
|
+
Use `traverseRenderedFibers` to inspect renders from a specific commit.
|
|
180
213
|
|
|
181
|
-
|
|
214
|
+
### `didFiberCommit`
|
|
215
|
+
|
|
216
|
+
Returns whether a Fiber or its subtree has committed work. It does not identify a specific commit.
|
|
217
|
+
|
|
218
|
+
```typescript
|
|
219
|
+
import { didFiberCommit } from "bippy";
|
|
220
|
+
|
|
221
|
+
console.log(didFiberCommit(fiber));
|
|
222
|
+
```
|
|
182
223
|
|
|
183
|
-
### `setFiberId`
|
|
224
|
+
### `setFiberId`
|
|
184
225
|
|
|
185
|
-
|
|
226
|
+
Assigns a numeric ID to a Fiber.
|
|
186
227
|
|
|
187
228
|
```typescript
|
|
188
|
-
import {
|
|
229
|
+
import { setFiberId } from "bippy";
|
|
189
230
|
|
|
190
231
|
setFiberId(fiber, 123);
|
|
191
|
-
console.log(getFiberId(fiber));
|
|
192
232
|
```
|
|
193
233
|
|
|
194
|
-
###
|
|
234
|
+
### `getFiberId`
|
|
235
|
+
|
|
236
|
+
Returns a stable numeric ID across Fiber updates. It creates an ID when none has been assigned.
|
|
237
|
+
|
|
238
|
+
```typescript
|
|
239
|
+
import { getFiberId } from "bippy";
|
|
240
|
+
|
|
241
|
+
const fiberId = getFiberId(fiber);
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### `isFiber`
|
|
245
|
+
|
|
246
|
+
Returns whether a value contains the core fields required by a Fiber.
|
|
247
|
+
|
|
248
|
+
```typescript
|
|
249
|
+
import { isFiber } from "bippy";
|
|
250
|
+
|
|
251
|
+
console.log(isFiber(value));
|
|
252
|
+
```
|
|
195
253
|
|
|
196
|
-
|
|
254
|
+
### `isHostFiber`
|
|
197
255
|
|
|
198
|
-
|
|
199
|
-
| ------------------ | ------------------------------------------------------- |
|
|
200
|
-
| `isFiber` | Performs a fast check for a Fiber-like object |
|
|
201
|
-
| `isValidFiber` | Checks the core fields required by a Fiber |
|
|
202
|
-
| `isHostFiber` | Narrows a Fiber to a host Fiber |
|
|
203
|
-
| `isCompositeFiber` | Finds function, class, memo, and other composite Fibers |
|
|
204
|
-
| `hasMemoCache` | Detects React Compiler memo cache data |
|
|
256
|
+
Returns whether a Fiber represents a renderer host instance, such as a DOM element or React Native view.
|
|
205
257
|
|
|
206
258
|
```typescript
|
|
207
259
|
import { isHostFiber } from "bippy";
|
|
@@ -211,29 +263,45 @@ if (isHostFiber(fiber)) {
|
|
|
211
263
|
}
|
|
212
264
|
```
|
|
213
265
|
|
|
214
|
-
### `
|
|
266
|
+
### `isCompositeFiber`
|
|
215
267
|
|
|
216
|
-
|
|
268
|
+
Returns whether a Fiber represents a function, class, memo, or forward-ref component.
|
|
217
269
|
|
|
218
270
|
```typescript
|
|
219
|
-
import {
|
|
271
|
+
import { isCompositeFiber } from "bippy";
|
|
220
272
|
|
|
221
|
-
console.log(
|
|
222
|
-
console.log(getType(fiber.type));
|
|
273
|
+
console.log(isCompositeFiber(fiber));
|
|
223
274
|
```
|
|
224
275
|
|
|
225
|
-
### `
|
|
276
|
+
### `hasMemoCache`
|
|
226
277
|
|
|
227
|
-
Returns
|
|
278
|
+
Returns whether a Fiber uses a React Compiler memo cache.
|
|
228
279
|
|
|
229
280
|
```typescript
|
|
230
|
-
import {
|
|
281
|
+
import { hasMemoCache } from "bippy";
|
|
231
282
|
|
|
232
|
-
|
|
233
|
-
|
|
283
|
+
console.log(hasMemoCache(fiber));
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### `getDisplayName`
|
|
287
|
+
|
|
288
|
+
Returns the display name of a Fiber type.
|
|
289
|
+
|
|
290
|
+
```typescript
|
|
291
|
+
import { getDisplayName } from "bippy";
|
|
292
|
+
|
|
293
|
+
console.log(getDisplayName(fiber.type));
|
|
234
294
|
```
|
|
235
295
|
|
|
236
|
-
`
|
|
296
|
+
### `getType`
|
|
297
|
+
|
|
298
|
+
Unwraps memo and forward-ref wrappers and returns the underlying component definition.
|
|
299
|
+
|
|
300
|
+
```typescript
|
|
301
|
+
import { getType } from "bippy";
|
|
302
|
+
|
|
303
|
+
console.log(getType(fiber.type));
|
|
304
|
+
```
|
|
237
305
|
|
|
238
306
|
### `getLatestFiber`
|
|
239
307
|
|
|
@@ -262,7 +330,7 @@ Renderer capabilities are optional and vary by renderer version.
|
|
|
262
330
|
|
|
263
331
|
### React internals
|
|
264
332
|
|
|
265
|
-
The main `bippy` entry point exports the
|
|
333
|
+
The main `bippy` entry point exports the React internals used by its APIs.
|
|
266
334
|
|
|
267
335
|
```typescript
|
|
268
336
|
import {
|
|
@@ -285,13 +353,16 @@ import type {
|
|
|
285
353
|
|
|
286
354
|
These definitions follow React’s private implementation and may change between React versions.
|
|
287
355
|
|
|
288
|
-
## Source inspection
|
|
289
|
-
|
|
290
|
-
Source utilities resolve component locations, source maps, and component stacks. Import them from `bippy/source`.
|
|
291
|
-
|
|
292
356
|
### `getSource`
|
|
293
357
|
|
|
294
|
-
Returns the source location for a Fiber
|
|
358
|
+
Returns the source location for a Fiber from these renderers:
|
|
359
|
+
|
|
360
|
+
- DOM
|
|
361
|
+
- Native
|
|
362
|
+
- Terminal
|
|
363
|
+
- Canvas
|
|
364
|
+
- PDF
|
|
365
|
+
- Custom
|
|
295
366
|
|
|
296
367
|
```typescript
|
|
297
368
|
import { getSource } from "bippy/source";
|
|
@@ -311,25 +382,34 @@ const sourceFetch: SourceFetch = async (url, init) => {
|
|
|
311
382
|
const artifact = sourceArtifacts.get(url);
|
|
312
383
|
if (!artifact) return fetch(url, init);
|
|
313
384
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
});
|
|
385
|
+
const sourceMapUrl = artifact.sourceMapUrl;
|
|
386
|
+
const headers = sourceMapUrl ? { SourceMap: sourceMapUrl } : undefined;
|
|
387
|
+
return new Response(artifact.content, { headers });
|
|
317
388
|
};
|
|
318
389
|
|
|
319
390
|
const source = await getSource(fiber, true, sourceFetch);
|
|
320
391
|
```
|
|
321
392
|
|
|
322
|
-
### `getOwnerStack`
|
|
393
|
+
### `getOwnerStack`
|
|
323
394
|
|
|
324
|
-
|
|
395
|
+
Returns the symbolicated stack of components that created a Fiber’s JSX. It falls back to the parent stack when owner information is unavailable.
|
|
325
396
|
|
|
326
397
|
```typescript
|
|
327
|
-
import { getOwnerStack
|
|
398
|
+
import { getOwnerStack } from "bippy/source";
|
|
328
399
|
|
|
329
400
|
const ownerFrames = await getOwnerStack(fiber);
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
### `getParentStack`
|
|
404
|
+
|
|
405
|
+
Returns the symbolicated stack of every ancestor in a Fiber’s return chain.
|
|
406
|
+
|
|
407
|
+
```typescript
|
|
408
|
+
import { getParentStack } from "bippy/source";
|
|
409
|
+
|
|
330
410
|
const parentFrames = await getParentStack(fiber);
|
|
331
411
|
```
|
|
332
412
|
|
|
333
413
|
## Acknowledgements
|
|
334
414
|
|
|
335
|
-
|
|
415
|
+
[@dairyfreerice](https://www.instagram.com/dairyfreerice) created and owns the original bippy character. this project has nothing to do with the bippy brand, i think the character is cute.
|
package/dist/core.cjs
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*/
|
|
9
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rdt-hook.cjs"),t=require("./core2.cjs");exports.BIPPY_INSTRUMENTATION_STRING=e.t,exports.BippyError=t.C,exports.BippyHookInspectionError=t.w,exports.BippyHookRenderError=t.T,exports.BippySourceMapError=t.E,exports.BippyUnsupportedHookError=t.D,exports.MutationMask=t.O,exports.ReactBuildType=t.M,exports.ReactFiberFlags=t.N,exports.ReactSymbols=t.P,exports._fiberRoots=t.t,exports._onActiveListeners=e.n,exports._renderers=e.r,exports.compareSemver=t.I,exports.detectReactBuildType=t.n,exports.didFiberCommit=t.r,exports.didFiberRender=t.i,exports.getDisplayName=t.a,exports.getFiber=t.o,exports.getFiberFromHostInstance=t.s,exports.getFiberId=t.c,exports.getLatestFiber=t.l,exports.getRDTHook=e.a,exports.getReactWorkTags=t.F,exports.getReactWorkTagsForFiber=t.k,exports.getReactWorkTagsForRenderer=t.A,exports.getRenderer=t.u,exports.getType=t.d,exports.hasMemoCache=t.f,exports.hasRDTHook=e.o,exports.installRDTHook=e.s,exports.instrument=t.p,exports.isCompositeFiber=t.m,exports.isFiber=t.h,exports.isHostFiber=t.g,exports.isInstrumentationActive=t._,exports.isRealReactDevtools=e.c,exports.isValidElement=t.v,exports.isValidFiber=t.y,exports.onRendererInject=e.u,exports.patchRDTHook=e.d,exports.setFiberId=t.b,exports.setReactWorkTagsForFiber=t.j,exports.traverseFiber=t.x,exports.traverseRenderedFibers=t.S,exports.version=e.f;
|
|
9
|
+
const e=require("./rdt-hook.cjs"),t=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,n=/^\d+$/,r=e=>i(e)!==null,i=e=>{let r=t.exec(e);if(!r)return null;let i=r[4]?.split(`.`)??[];return i.some(e=>n.test(e)&&e.length>1&&e.startsWith(`0`))?null:{major:r[1],minor:r[2],patch:r[3],prerelease:i}},a=(e,t)=>e.length===t.length?e===t?0:e<t?-1:1:e.length<t.length?-1:1,o=(e,t)=>{let r=n.test(e),i=n.test(t);return r&&i?a(e,t):r===i?e===t?0:e<t?-1:1:r?-1:1},s=(e,t)=>{if(e.length===0||t.length===0)return e.length===t.length?0:e.length===0?1:-1;let n=Math.max(e.length,t.length);for(let r=0;r<n;r++){let n=e[r],i=t[r];if(n===void 0||i===void 0)return n===void 0?-1:1;let a=o(n,i);if(a!==0)return a}return 0},c=(e,t)=>{let n=i(e),r=i(t);if(!n||!r)return null;let o=a(n.major,r.major);if(o!==0)return o;let c=a(n.minor,r.minor);if(c!==0)return c;let l=a(n.patch,r.patch);return l===0?s(n.prerelease,r.prerelease):l},l={Development:1,Production:0},u={ChildDeletion:16,Cloned:8,ContentReset:32,Hydrating:4096,PerformedWork:1,Placement:2,Snapshot:1024,Update:4,Visibility:8192},d={CONCURRENT_MODE_NUMBER:60111,CONCURRENT_MODE_SYMBOL_DESCRIPTION:`react.concurrent_mode`,CONCURRENT_MODE_SYMBOL_STRING:`Symbol(react.concurrent_mode)`,DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION:`react.async_mode`,DEPRECATED_ASYNC_MODE_SYMBOL_STRING:`Symbol(react.async_mode)`,ELEMENT_SYMBOL_STRING:`Symbol(react.transitional.element)`,LEGACY_ELEMENT_SYMBOL_STRING:`Symbol(react.element)`},f=(e=>e)({"16.0.0":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:2,ContextConsumer:12,ContextProvider:13,CoroutineComponent:7,CoroutineHandlerPhase:8,DehydratedSuspenseComponent:-1,ForwardRef:14,Fragment:10,FunctionComponent:1,HostComponent:5,HostHoistable:-1,HostPortal:4,HostRoot:3,HostSingleton:-1,HostText:6,IncompleteClassComponent:-1,IncompleteFunctionComponent:-1,IndeterminateComponent:0,LazyComponent:-1,LegacyHiddenComponent:-1,MemoComponent:-1,Mode:11,OffscreenComponent:-1,Profiler:15,ScopeComponent:-1,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:9},"16.4.3-alpha":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:2,ContextConsumer:11,ContextProvider:12,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:-1,ForwardRef:13,Fragment:9,FunctionComponent:0,HostComponent:7,HostHoistable:-1,HostPortal:6,HostRoot:5,HostSingleton:-1,HostText:8,IncompleteClassComponent:-1,IncompleteFunctionComponent:-1,IndeterminateComponent:4,LazyComponent:-1,LegacyHiddenComponent:-1,MemoComponent:-1,Mode:10,OffscreenComponent:-1,Profiler:15,ScopeComponent:-1,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:-1},"16.6.0-beta.0":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostHoistable:-1,HostPortal:4,HostRoot:3,HostSingleton:-1,HostText:6,IncompleteClassComponent:17,IncompleteFunctionComponent:-1,IndeterminateComponent:2,LazyComponent:16,LegacyHiddenComponent:-1,MemoComponent:14,Mode:8,OffscreenComponent:-1,Profiler:12,ScopeComponent:-1,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:-1},"17.0.0-alpha":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostHoistable:-1,HostPortal:4,HostRoot:3,HostSingleton:-1,HostText:6,IncompleteClassComponent:17,IncompleteFunctionComponent:-1,IndeterminateComponent:2,LazyComponent:16,LegacyHiddenComponent:24,MemoComponent:14,Mode:8,OffscreenComponent:23,Profiler:12,ScopeComponent:21,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:-1},"17.0.2":{ActivityComponent:31,CacheComponent:24,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostHoistable:26,HostPortal:4,HostRoot:3,HostSingleton:27,HostText:6,IncompleteClassComponent:17,IncompleteFunctionComponent:28,IndeterminateComponent:2,LazyComponent:16,LegacyHiddenComponent:23,MemoComponent:14,Mode:8,OffscreenComponent:22,Profiler:12,ScopeComponent:21,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,Throw:29,TracingMarkerComponent:25,ViewTransitionComponent:30,YieldComponent:-1}}),ee=[{isMinimumExcluded:!0,minimumVersion:`17.0.1`,workTags:f[`17.0.2`]},{isMinimumExcluded:!1,minimumVersion:`17.0.0-alpha`,workTags:f[`17.0.0-alpha`]},{isMinimumExcluded:!1,minimumVersion:`16.6.0-beta.0`,workTags:f[`16.6.0-beta.0`]},{isMinimumExcluded:!1,minimumVersion:`16.4.3-alpha`,workTags:f[`16.4.3-alpha`]}],p=f[`17.0.2`],m=e=>{if(e===void 0)return p;for(let t of ee){let n=c(e,t.minimumVersion);if(n===null)return p;if(n===1||n===0&&!t.isMinimumExcluded)return t.workTags}return f[`16.0.0`]},h=m(),g=new WeakMap,_=e=>{let t=e?.reconcilerVersion;return t&&r(t)?m(t):e?.version?m(e.version):h},v=(e,t)=>{let n=_(t);g.set(e,n),e.alternate&&g.set(e.alternate,n)},y=e=>{let t=g.get(e);if(t)return t;let n=[e],r=e;for(;r.return;)r=r.return,n.push(r);let i=g.get(r)??h;for(let e of n)g.set(e,i),e.alternate&&g.set(e.alternate,i);return i},b=u.Placement|u.Update|u.ChildDeletion|u.ContentReset|u.Hydrating|u.Visibility|u.Snapshot;var x=class extends Error{constructor(e,t){super(e,{cause:t}),this.name=`BippyError`}},S=class extends x{constructor(e,t){super(e,t),this.name=`BippyHookInspectionError`}},te=class extends S{constructor(e,t){super(e,t),this.name=`BippyUnsupportedHookError`}},ne=class extends S{constructor(e,t){super(e,t),this.name=`BippyHookRenderError`}},C=class extends x{constructor(e,t){super(e,t),this.name=`BippySourceMapError`}};const re=e=>typeof e==`function`,w=e=>{let t=`displayName`in e?e.displayName:null;if(typeof t==`string`&&t)return t;let n=`name`in e?e.name:null;return typeof n==`string`&&n?n:null},ie=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&(String(e.$$typeof)===d.LEGACY_ELEMENT_SYMBOL_STRING||String(e.$$typeof)===d.ELEMENT_SYMBOL_STRING),T=e=>typeof e==`object`&&!!e&&`tag`in e&&`stateNode`in e&&`return`in e&&`child`in e&&`sibling`in e&&`flags`in e,E=e=>typeof e==`object`&&!!e&&`current`in e&&T(e.current),D=e=>{let t=y(e);switch(e.tag){case t.HostComponent:case t.HostText:case t.HostHoistable:case t.HostSingleton:return!0;default:return!1}},O=e=>{let t=y(e);switch(e.tag){case t.ClassComponent:case t.ForwardRef:case t.FunctionComponent:case t.MemoComponent:case t.SimpleMemoComponent:return!0;default:return!1}},k=e=>{let t=e.memoizedProps,n=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0,i=y(e);switch(e.tag){case i.ClassComponent:case i.ContextConsumer:case i.ForwardRef:case i.FunctionComponent:case i.MemoComponent:case i.SimpleMemoComponent:return(r&u.PerformedWork)===u.PerformedWork;default:return!e.alternate||n!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref}},ae=e=>(e.flags&(b|u.Cloned))!==0||(e.subtreeFlags&(b|u.Cloned))!==0,A=e=>{let t=y(e);switch(e.tag){case t.DehydratedSuspenseComponent:return!0;case t.Fragment:case t.HostText:case t.LegacyHiddenComponent:case t.OffscreenComponent:return!0;case t.HostRoot:return!1;default:{let t=typeof e.type==`object`&&e.type!==null?e.type.$$typeof:e.type;if(typeof t==`symbol`)return t.description===d.CONCURRENT_MODE_SYMBOL_DESCRIPTION||t.description===d.DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION;switch(t){case d.CONCURRENT_MODE_NUMBER:case d.CONCURRENT_MODE_SYMBOL_STRING:case d.DEPRECATED_ASYNC_MODE_SYMBOL_STRING:return!0;default:return!1}}}};function j(e,t,n=!1){if(!e)return null;let r=t(e);return M(r)?Promise.resolve(r).then(r=>r===!0?e:N(e,t,n)):r===!0?e:N(e,t,n)}const M=e=>(typeof e==`object`||typeof e==`function`)&&e!==null&&`then`in e&&typeof e.then==`function`,N=(e,t,n)=>{let r=n?e.return:e.child;return P(r,t,n)},P=(e,t,n)=>{if(!e)return null;let r=n?null:e.sibling,i=j(e,t,n);return M(i)?Promise.resolve(i).then(e=>e??P(r,t,n)):i??P(r,t,n)},oe=e=>!!e.updateQueue?.memoCache,F=e=>re(e)?e:typeof e!=`object`||!e?null:F(Reflect.get(e,`type`)??Reflect.get(e,`render`)),se=e=>{if(typeof e==`string`)return e;if(typeof e!=`function`&&typeof e!=`object`||e===null)return null;let t=w(e);if(t)return t;let n=F(e);return n?w(n):null},ce=e=>{try{if(typeof e.version==`string`&&e.bundleType===l.Development)return`development`}catch{}return`production`},le=()=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;return!!t?._instrumentationIsActive||e.c(t)},I=new Set,L=new WeakMap,ue=e=>{let t=e.alternate;if(!t)return e;let n=e;for(;n.return;)n=n.return;if(E(n.stateNode)){let r=j(n.stateNode.current,n=>{if(n===e||n===t)return!0});if(r)return r}if(t.actualStartTime&&e.actualStartTime)return t.actualStartTime>e.actualStartTime?t:e;for(let n of I){let r=j(n.current,n=>{if(n===e||n===t)return!0});if(r)return r}return e},R=t=>{if(!e.o())return null;let n=t;for(;n.return;)n=n.return;let r=n.stateNode;if(!E(r))return null;let i=L.get(r);return i===void 0?null:e.a().renderers.get(i)??null};let z=0;const B=new WeakMap,V=(e,t=z++)=>{B.set(e,t),Number.isSafeInteger(t)&&t>=z&&(z=t+1)},H=e=>{let t=B.get(e);return t===void 0&&e.alternate&&(t=B.get(e.alternate)),t===void 0&&(t=z++,V(e,t)),t},U=(e,t,n)=>{let r=t;for(;r!==null;){if(H(r),!A(r)&&k(r)&&e(r,`mount`),r.tag===y(r).SuspenseComponent){if(r.memoizedState!==null){let t=r.child,n=t?t.sibling:null;if(n){let t=n.child;t!==null&&U(e,t,!1)}}else{let t=r.child?.child??null;t!==null&&U(e,t,!1)}}else r.child!==null&&U(e,r.child,!0);r=n?r.sibling:null}},W=(e,t,n)=>{if(H(t),!n)return;H(n);let r=t.tag===y(t).SuspenseComponent;!A(t)&&k(t)&&e(t,`update`);let i=r&&n.memoizedState!==null,a=r&&t.memoizedState!==null;if(i&&a){let r=t.child?.sibling??null,i=n.child?.sibling??null;r!==null&&i!==null&&W(e,r,i)}else if(i&&!a){let n=t.child;n!==null&&U(e,n,!0)}else if(!i&&a){K(e,n);let r=t.child?.sibling??null;r!==null&&U(e,r,!0)}else if(t.child!==n.child){let n=t.child;for(;n;)n.alternate?W(e,n,n.alternate):U(e,n,!1),n=n.sibling}},G=(e,t)=>{(t.tag===y(t).HostRoot||!A(t))&&e(t,`unmount`)},K=(e,t)=>{let n=t.tag===y(t).SuspenseComponent&&t.memoizedState!==null,r=t.child;for(n&&(r=(t.child?.sibling??null)?.child??null);r!==null;)r.return!==null&&(G(e,r),K(e,r)),r=r.sibling},q=new WeakMap,de=(e,t)=>{let n=`current`in e?e.current:e,r=q.get(e);r||(r={prevFiber:null},q.set(e,r));let{prevFiber:i}=r;if(!n)i&&G(t,i);else if(i!==null){let e=i.memoizedState!==null&&i.memoizedState.element!==null&&i.memoizedState.element!==void 0&&i.memoizedState.isDehydrated!==!0,r=n.memoizedState!==null&&n.memoizedState.element!==null&&n.memoizedState.element!==void 0&&n.memoizedState.isDehydrated!==!0;!e&&r?U(t,n,!1):e&&r?W(t,n,n.alternate):e&&!r&&G(t,n)}else U(t,n,!0);r.prevFiber=n},J=new Set,Y=new WeakMap;let fe=!1;const X=e=>{let t=Y.get(e)??{};if(Y.set(e,t),!t.onCommitFiberRoot||e.onCommitFiberRoot!==t.onCommitFiberRoot){let n=e.onCommitFiberRoot,r=(t,i,a,o)=>{if(n&&n.call(e,t,i,a,o),Y.get(e)?.onCommitFiberRoot!==r)return;v(i.current,e.renderers.get(t));let s=i.current.memoizedState;s===null||s.element===null||s.element===void 0?(I.delete(i),L.delete(i)):(I.add(i),L.set(i,t));for(let{options:e}of J)e.onCommitFiberRoot&&e.onCommitFiberRoot(t,i,a,o)};t.onCommitFiberRoot=r,e.onCommitFiberRoot=r}if(!t.onCommitFiberUnmount||e.onCommitFiberUnmount!==t.onCommitFiberUnmount){let n=e.onCommitFiberUnmount,r=(t,i)=>{if(v(i,e.renderers.get(t)),n&&n.call(e,t,i),Y.get(e)?.onCommitFiberUnmount===r)for(let{options:e}of J)e.onCommitFiberUnmount&&e.onCommitFiberUnmount(t,i)};t.onCommitFiberUnmount=r,e.onCommitFiberUnmount=r}if(!t.onPostCommitFiberRoot||e.onPostCommitFiberRoot!==t.onPostCommitFiberRoot){let n=e.onPostCommitFiberRoot,r=(t,i)=>{if(n&&n.call(e,t,i),Y.get(e)?.onPostCommitFiberRoot===r)for(let{options:e}of J)e.onPostCommitFiberRoot&&e.onPostCommitFiberRoot(t,i)};t.onPostCommitFiberRoot=r,e.onPostCommitFiberRoot=r}if(!t.onScheduleFiberRoot||e.onScheduleFiberRoot!==t.onScheduleFiberRoot){let n=e.onScheduleFiberRoot,r=(t,i,a)=>{if(n&&n.call(e,t,i,a),Y.get(e)?.onScheduleFiberRoot===r)for(let{options:e}of J)e.onScheduleFiberRoot&&e.onScheduleFiberRoot(t,i,a)};t.onScheduleFiberRoot=r,e.onScheduleFiberRoot=r}},Z=t=>{fe||=(e.l(X),!0),X(t)};e.o()&&Z(e.a());const pe=t=>{let n=e.a(t.onActive);n._instrumentationSource=t.name??e.t,Z(n);let r={options:t};return J.add(r),e.i(()=>{t.onActive&&e.n.delete(t.onActive),J.delete(r)})},Q=new Set,me=e=>e.startsWith(`__reactContainer$`)||e.startsWith(`__reactInternalInstance$`)||e.startsWith(`__reactFiber`),he=e=>{let t=Reflect.get(e,`_reactRootContainer`);if(typeof t!=`object`||!t)return null;let n=Reflect.get(t,`_internalRoot`);if(typeof n!=`object`||!n)return null;let r=Reflect.get(n,`current`);if(typeof r!=`object`||!r)return null;let i=Reflect.get(r,`child`);return T(i)?i:null},ge=e=>{let t=Reflect.get(e,`__internalInstanceHandle`)??Reflect.get(e,`_internalInstanceHandle`);return T(t)?t:null},_e=e=>{if(typeof e!=`object`||!e)return e;let t=Reflect.get(e,`canonical`);if(typeof t==`object`&&t){let e=Reflect.get(t,`publicInstance`);if(typeof e==`object`&&e)return e}let n=Reflect.get(e,`_nativeTag`);return typeof n==`number`?n:e},$=e=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t?.renderers)for(let n of t.renderers.values())try{let t=n.findFiberByHostInstance?.(e);if(t)return t}catch{}if(typeof e==`object`&&e){let t=he(e);if(t)return t;let n=ge(e);if(n)return n;for(let t of Q){let n=Reflect.get(e,t);if(T(n))return n}for(let t of Object.keys(e))if(me(t)){Q.add(t);let n=Reflect.get(e,t);if(T(n))return n}}if(e!=null&&(typeof e==`object`||typeof e==`number`))for(let t of I){let n=j(t.current,t=>D(t)&&_e(t.stateNode)===e);if(n)return n}return null},ve=$;Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return V}});
|
package/dist/core.js
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*/
|
|
9
|
-
import{a as e,c as t,d as n,f as r,n as i,o as a,r as o,s,t as c,u as l}from"./rdt-hook.js";import{A as u,C as d,D as f,E as p,F as m,I as h,M as g,N as _,O as v,P as y,S as b,T as x,_ as S,a as C,b as w,c as T,d as E,f as D,g as O,h as k,i as A,j,k as M,l as N,m as P,n as F,o as I,p as L,r as R,s as z,t as B,u as V,v as H,w as U,x as W,y as G}from"./core2.js";export{c as BIPPY_INSTRUMENTATION_STRING,d as BippyError,U as BippyHookInspectionError,x as BippyHookRenderError,p as BippySourceMapError,f as BippyUnsupportedHookError,v as MutationMask,g as ReactBuildType,_ as ReactFiberFlags,y as ReactSymbols,B as _fiberRoots,i as _onActiveListeners,o as _renderers,h as compareSemver,F as detectReactBuildType,R as didFiberCommit,A as didFiberRender,C as getDisplayName,I as getFiber,z as getFiberFromHostInstance,T as getFiberId,N as getLatestFiber,e as getRDTHook,m as getReactWorkTags,M as getReactWorkTagsForFiber,u as getReactWorkTagsForRenderer,V as getRenderer,E as getType,D as hasMemoCache,a as hasRDTHook,s as installRDTHook,L as instrument,P as isCompositeFiber,k as isFiber,O as isHostFiber,S as isInstrumentationActive,t as isRealReactDevtools,H as isValidElement,G as isValidFiber,l as onRendererInject,n as patchRDTHook,w as setFiberId,j as setReactWorkTagsForFiber,W as traverseFiber,b as traverseRenderedFibers,r as version};
|
|
9
|
+
import{a as e,c as t,i as n,l as r,n as i,o as a,t as o}from"./rdt-hook.js";const s=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,c=/^\d+$/,ee=e=>l(e)!==null,l=e=>{let t=s.exec(e);if(!t)return null;let n=t[4]?.split(`.`)??[];return n.some(e=>c.test(e)&&e.length>1&&e.startsWith(`0`))?null:{major:t[1],minor:t[2],patch:t[3],prerelease:n}},u=(e,t)=>e.length===t.length?e===t?0:e<t?-1:1:e.length<t.length?-1:1,te=(e,t)=>{let n=c.test(e),r=c.test(t);return n&&r?u(e,t):n===r?e===t?0:e<t?-1:1:n?-1:1},ne=(e,t)=>{if(e.length===0||t.length===0)return e.length===t.length?0:e.length===0?1:-1;let n=Math.max(e.length,t.length);for(let r=0;r<n;r++){let n=e[r],i=t[r];if(n===void 0||i===void 0)return n===void 0?-1:1;let a=te(n,i);if(a!==0)return a}return 0},d=(e,t)=>{let n=l(e),r=l(t);if(!n||!r)return null;let i=u(n.major,r.major);if(i!==0)return i;let a=u(n.minor,r.minor);if(a!==0)return a;let o=u(n.patch,r.patch);return o===0?ne(n.prerelease,r.prerelease):o},f={Development:1,Production:0},p={ChildDeletion:16,Cloned:8,ContentReset:32,Hydrating:4096,PerformedWork:1,Placement:2,Snapshot:1024,Update:4,Visibility:8192},m={CONCURRENT_MODE_NUMBER:60111,CONCURRENT_MODE_SYMBOL_DESCRIPTION:`react.concurrent_mode`,CONCURRENT_MODE_SYMBOL_STRING:`Symbol(react.concurrent_mode)`,DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION:`react.async_mode`,DEPRECATED_ASYNC_MODE_SYMBOL_STRING:`Symbol(react.async_mode)`,ELEMENT_SYMBOL_STRING:`Symbol(react.transitional.element)`,LEGACY_ELEMENT_SYMBOL_STRING:`Symbol(react.element)`},h=(e=>e)({"16.0.0":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:2,ContextConsumer:12,ContextProvider:13,CoroutineComponent:7,CoroutineHandlerPhase:8,DehydratedSuspenseComponent:-1,ForwardRef:14,Fragment:10,FunctionComponent:1,HostComponent:5,HostHoistable:-1,HostPortal:4,HostRoot:3,HostSingleton:-1,HostText:6,IncompleteClassComponent:-1,IncompleteFunctionComponent:-1,IndeterminateComponent:0,LazyComponent:-1,LegacyHiddenComponent:-1,MemoComponent:-1,Mode:11,OffscreenComponent:-1,Profiler:15,ScopeComponent:-1,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:9},"16.4.3-alpha":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:2,ContextConsumer:11,ContextProvider:12,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:-1,ForwardRef:13,Fragment:9,FunctionComponent:0,HostComponent:7,HostHoistable:-1,HostPortal:6,HostRoot:5,HostSingleton:-1,HostText:8,IncompleteClassComponent:-1,IncompleteFunctionComponent:-1,IndeterminateComponent:4,LazyComponent:-1,LegacyHiddenComponent:-1,MemoComponent:-1,Mode:10,OffscreenComponent:-1,Profiler:15,ScopeComponent:-1,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:-1},"16.6.0-beta.0":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostHoistable:-1,HostPortal:4,HostRoot:3,HostSingleton:-1,HostText:6,IncompleteClassComponent:17,IncompleteFunctionComponent:-1,IndeterminateComponent:2,LazyComponent:16,LegacyHiddenComponent:-1,MemoComponent:14,Mode:8,OffscreenComponent:-1,Profiler:12,ScopeComponent:-1,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:-1},"17.0.0-alpha":{ActivityComponent:-1,CacheComponent:-1,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostHoistable:-1,HostPortal:4,HostRoot:3,HostSingleton:-1,HostText:6,IncompleteClassComponent:17,IncompleteFunctionComponent:-1,IndeterminateComponent:2,LazyComponent:16,LegacyHiddenComponent:24,MemoComponent:14,Mode:8,OffscreenComponent:23,Profiler:12,ScopeComponent:21,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,Throw:-1,TracingMarkerComponent:-1,ViewTransitionComponent:-1,YieldComponent:-1},"17.0.2":{ActivityComponent:31,CacheComponent:24,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostHoistable:26,HostPortal:4,HostRoot:3,HostSingleton:27,HostText:6,IncompleteClassComponent:17,IncompleteFunctionComponent:28,IndeterminateComponent:2,LazyComponent:16,LegacyHiddenComponent:23,MemoComponent:14,Mode:8,OffscreenComponent:22,Profiler:12,ScopeComponent:21,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,Throw:29,TracingMarkerComponent:25,ViewTransitionComponent:30,YieldComponent:-1}}),re=[{isMinimumExcluded:!0,minimumVersion:`17.0.1`,workTags:h[`17.0.2`]},{isMinimumExcluded:!1,minimumVersion:`17.0.0-alpha`,workTags:h[`17.0.0-alpha`]},{isMinimumExcluded:!1,minimumVersion:`16.6.0-beta.0`,workTags:h[`16.6.0-beta.0`]},{isMinimumExcluded:!1,minimumVersion:`16.4.3-alpha`,workTags:h[`16.4.3-alpha`]}],g=h[`17.0.2`],_=e=>{if(e===void 0)return g;for(let t of re){let n=d(e,t.minimumVersion);if(n===null)return g;if(n===1||n===0&&!t.isMinimumExcluded)return t.workTags}return h[`16.0.0`]},v=_(),y=new WeakMap,b=e=>{let t=e?.reconcilerVersion;return t&&ee(t)?_(t):e?.version?_(e.version):v},x=(e,t)=>{let n=b(t);y.set(e,n),e.alternate&&y.set(e.alternate,n)},S=e=>{let t=y.get(e);if(t)return t;let n=[e],r=e;for(;r.return;)r=r.return,n.push(r);let i=y.get(r)??v;for(let e of n)y.set(e,i),e.alternate&&y.set(e.alternate,i);return i},C=p.Placement|p.Update|p.ChildDeletion|p.ContentReset|p.Hydrating|p.Visibility|p.Snapshot;var w=class extends Error{constructor(e,t){super(e,{cause:t}),this.name=`BippyError`}},T=class extends w{constructor(e,t){super(e,t),this.name=`BippyHookInspectionError`}},ie=class extends T{constructor(e,t){super(e,t),this.name=`BippyUnsupportedHookError`}},ae=class extends T{constructor(e,t){super(e,t),this.name=`BippyHookRenderError`}},oe=class extends w{constructor(e,t){super(e,t),this.name=`BippySourceMapError`}};const se=e=>typeof e==`function`,E=e=>{let t=`displayName`in e?e.displayName:null;if(typeof t==`string`&&t)return t;let n=`name`in e?e.name:null;return typeof n==`string`&&n?n:null},ce=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&(String(e.$$typeof)===m.LEGACY_ELEMENT_SYMBOL_STRING||String(e.$$typeof)===m.ELEMENT_SYMBOL_STRING),D=e=>typeof e==`object`&&!!e&&`tag`in e&&`stateNode`in e&&`return`in e&&`child`in e&&`sibling`in e&&`flags`in e,O=e=>typeof e==`object`&&!!e&&`current`in e&&D(e.current),k=e=>{let t=S(e);switch(e.tag){case t.HostComponent:case t.HostText:case t.HostHoistable:case t.HostSingleton:return!0;default:return!1}},le=e=>{let t=S(e);switch(e.tag){case t.ClassComponent:case t.ForwardRef:case t.FunctionComponent:case t.MemoComponent:case t.SimpleMemoComponent:return!0;default:return!1}},A=e=>{let t=e.memoizedProps,n=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0,i=S(e);switch(e.tag){case i.ClassComponent:case i.ContextConsumer:case i.ForwardRef:case i.FunctionComponent:case i.MemoComponent:case i.SimpleMemoComponent:return(r&p.PerformedWork)===p.PerformedWork;default:return!e.alternate||n!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref}},ue=e=>(e.flags&(C|p.Cloned))!==0||(e.subtreeFlags&(C|p.Cloned))!==0,j=e=>{let t=S(e);switch(e.tag){case t.DehydratedSuspenseComponent:return!0;case t.Fragment:case t.HostText:case t.LegacyHiddenComponent:case t.OffscreenComponent:return!0;case t.HostRoot:return!1;default:{let t=typeof e.type==`object`&&e.type!==null?e.type.$$typeof:e.type;if(typeof t==`symbol`)return t.description===m.CONCURRENT_MODE_SYMBOL_DESCRIPTION||t.description===m.DEPRECATED_ASYNC_MODE_SYMBOL_DESCRIPTION;switch(t){case m.CONCURRENT_MODE_NUMBER:case m.CONCURRENT_MODE_SYMBOL_STRING:case m.DEPRECATED_ASYNC_MODE_SYMBOL_STRING:return!0;default:return!1}}}};function M(e,t,n=!1){if(!e)return null;let r=t(e);return N(r)?Promise.resolve(r).then(r=>r===!0?e:P(e,t,n)):r===!0?e:P(e,t,n)}const N=e=>(typeof e==`object`||typeof e==`function`)&&e!==null&&`then`in e&&typeof e.then==`function`,P=(e,t,n)=>{let r=n?e.return:e.child;return F(r,t,n)},F=(e,t,n)=>{if(!e)return null;let r=n?null:e.sibling,i=M(e,t,n);return N(i)?Promise.resolve(i).then(e=>e??F(r,t,n)):i??F(r,t,n)},de=e=>!!e.updateQueue?.memoCache,I=e=>se(e)?e:typeof e!=`object`||!e?null:I(Reflect.get(e,`type`)??Reflect.get(e,`render`)),fe=e=>{if(typeof e==`string`)return e;if(typeof e!=`function`&&typeof e!=`object`||e===null)return null;let t=E(e);if(t)return t;let n=I(e);return n?E(n):null},pe=e=>{try{if(typeof e.version==`string`&&e.bundleType===f.Development)return`development`}catch{}return`production`},me=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;return!!e?._instrumentationIsActive||t(e)},L=new Set,R=new WeakMap,he=e=>{let t=e.alternate;if(!t)return e;let n=e;for(;n.return;)n=n.return;if(O(n.stateNode)){let r=M(n.stateNode.current,n=>{if(n===e||n===t)return!0});if(r)return r}if(t.actualStartTime&&e.actualStartTime)return t.actualStartTime>e.actualStartTime?t:e;for(let n of L){let r=M(n.current,n=>{if(n===e||n===t)return!0});if(r)return r}return e},ge=t=>{if(!a())return null;let n=t;for(;n.return;)n=n.return;let r=n.stateNode;if(!O(r))return null;let i=R.get(r);return i===void 0?null:e().renderers.get(i)??null};let z=0;const B=new WeakMap,V=(e,t=z++)=>{B.set(e,t),Number.isSafeInteger(t)&&t>=z&&(z=t+1)},H=e=>{let t=B.get(e);return t===void 0&&e.alternate&&(t=B.get(e.alternate)),t===void 0&&(t=z++,V(e,t)),t},U=(e,t,n)=>{let r=t;for(;r!==null;){if(H(r),!j(r)&&A(r)&&e(r,`mount`),r.tag===S(r).SuspenseComponent){if(r.memoizedState!==null){let t=r.child,n=t?t.sibling:null;if(n){let t=n.child;t!==null&&U(e,t,!1)}}else{let t=r.child?.child??null;t!==null&&U(e,t,!1)}}else r.child!==null&&U(e,r.child,!0);r=n?r.sibling:null}},W=(e,t,n)=>{if(H(t),!n)return;H(n);let r=t.tag===S(t).SuspenseComponent;!j(t)&&A(t)&&e(t,`update`);let i=r&&n.memoizedState!==null,a=r&&t.memoizedState!==null;if(i&&a){let r=t.child?.sibling??null,i=n.child?.sibling??null;r!==null&&i!==null&&W(e,r,i)}else if(i&&!a){let n=t.child;n!==null&&U(e,n,!0)}else if(!i&&a){K(e,n);let r=t.child?.sibling??null;r!==null&&U(e,r,!0)}else if(t.child!==n.child){let n=t.child;for(;n;)n.alternate?W(e,n,n.alternate):U(e,n,!1),n=n.sibling}},G=(e,t)=>{(t.tag===S(t).HostRoot||!j(t))&&e(t,`unmount`)},K=(e,t)=>{let n=t.tag===S(t).SuspenseComponent&&t.memoizedState!==null,r=t.child;for(n&&(r=(t.child?.sibling??null)?.child??null);r!==null;)r.return!==null&&(G(e,r),K(e,r)),r=r.sibling},q=new WeakMap,_e=(e,t)=>{let n=`current`in e?e.current:e,r=q.get(e);r||(r={prevFiber:null},q.set(e,r));let{prevFiber:i}=r;if(!n)i&&G(t,i);else if(i!==null){let e=i.memoizedState!==null&&i.memoizedState.element!==null&&i.memoizedState.element!==void 0&&i.memoizedState.isDehydrated!==!0,r=n.memoizedState!==null&&n.memoizedState.element!==null&&n.memoizedState.element!==void 0&&n.memoizedState.isDehydrated!==!0;!e&&r?U(t,n,!1):e&&r?W(t,n,n.alternate):e&&!r&&G(t,n)}else U(t,n,!0);r.prevFiber=n},J=new Set,Y=new WeakMap;let ve=!1;const X=e=>{let t=Y.get(e)??{};if(Y.set(e,t),!t.onCommitFiberRoot||e.onCommitFiberRoot!==t.onCommitFiberRoot){let n=e.onCommitFiberRoot,r=(t,i,a,o)=>{if(n&&n.call(e,t,i,a,o),Y.get(e)?.onCommitFiberRoot!==r)return;x(i.current,e.renderers.get(t));let s=i.current.memoizedState;s===null||s.element===null||s.element===void 0?(L.delete(i),R.delete(i)):(L.add(i),R.set(i,t));for(let{options:e}of J)e.onCommitFiberRoot&&e.onCommitFiberRoot(t,i,a,o)};t.onCommitFiberRoot=r,e.onCommitFiberRoot=r}if(!t.onCommitFiberUnmount||e.onCommitFiberUnmount!==t.onCommitFiberUnmount){let n=e.onCommitFiberUnmount,r=(t,i)=>{if(x(i,e.renderers.get(t)),n&&n.call(e,t,i),Y.get(e)?.onCommitFiberUnmount===r)for(let{options:e}of J)e.onCommitFiberUnmount&&e.onCommitFiberUnmount(t,i)};t.onCommitFiberUnmount=r,e.onCommitFiberUnmount=r}if(!t.onPostCommitFiberRoot||e.onPostCommitFiberRoot!==t.onPostCommitFiberRoot){let n=e.onPostCommitFiberRoot,r=(t,i)=>{if(n&&n.call(e,t,i),Y.get(e)?.onPostCommitFiberRoot===r)for(let{options:e}of J)e.onPostCommitFiberRoot&&e.onPostCommitFiberRoot(t,i)};t.onPostCommitFiberRoot=r,e.onPostCommitFiberRoot=r}if(!t.onScheduleFiberRoot||e.onScheduleFiberRoot!==t.onScheduleFiberRoot){let n=e.onScheduleFiberRoot,r=(t,i,a)=>{if(n&&n.call(e,t,i,a),Y.get(e)?.onScheduleFiberRoot===r)for(let{options:e}of J)e.onScheduleFiberRoot&&e.onScheduleFiberRoot(t,i,a)};t.onScheduleFiberRoot=r,e.onScheduleFiberRoot=r}},Z=e=>{ve||=(r(X),!0),X(e)};a()&&Z(e());const ye=t=>{let r=e(t.onActive);r._instrumentationSource=t.name??o,Z(r);let a={options:t};return J.add(a),n(()=>{t.onActive&&i.delete(t.onActive),J.delete(a)})},Q=new Set,be=e=>e.startsWith(`__reactContainer$`)||e.startsWith(`__reactInternalInstance$`)||e.startsWith(`__reactFiber`),xe=e=>{let t=Reflect.get(e,`_reactRootContainer`);if(typeof t!=`object`||!t)return null;let n=Reflect.get(t,`_internalRoot`);if(typeof n!=`object`||!n)return null;let r=Reflect.get(n,`current`);if(typeof r!=`object`||!r)return null;let i=Reflect.get(r,`child`);return D(i)?i:null},Se=e=>{let t=Reflect.get(e,`__internalInstanceHandle`)??Reflect.get(e,`_internalInstanceHandle`);return D(t)?t:null},Ce=e=>{if(typeof e!=`object`||!e)return e;let t=Reflect.get(e,`canonical`);if(typeof t==`object`&&t){let e=Reflect.get(t,`publicInstance`);if(typeof e==`object`&&e)return e}let n=Reflect.get(e,`_nativeTag`);return typeof n==`number`?n:e},$=e=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t?.renderers)for(let n of t.renderers.values())try{let t=n.findFiberByHostInstance?.(e);if(t)return t}catch{}if(typeof e==`object`&&e){let t=xe(e);if(t)return t;let n=Se(e);if(n)return n;for(let t of Q){let n=Reflect.get(e,t);if(D(n))return n}for(let t of Object.keys(e))if(be(t)){Q.add(t);let n=Reflect.get(e,t);if(D(n))return n}}if(e!=null&&(typeof e==`object`||typeof e==`number`))for(let t of L){let n=M(t.current,t=>k(t)&&Ce(t.stateNode)===e);if(n)return n}return null},we=$;export{x as A,T as C,C as D,ie as E,d as F,p as M,m as N,S as O,_ as P,w as S,oe as T,me as _,fe as a,M as b,H as c,I as d,de as f,k as g,D as h,A as i,f as j,b as k,he as l,le as m,pe as n,$ as o,ye as p,ue as r,we as s,L as t,ge as u,ce as v,ae as w,_e as x,V as y};
|
package/dist/index.cjs
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*/
|
|
9
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));const c=require("./rdt-hook.cjs");require("./install-hook-only.cjs");const l=require("./
|
|
9
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));const c=require("./rdt-hook.cjs");require("./install-hook-only.cjs");const l=require("./core.cjs");let u=require("react");u=s(u,1);const d=e=>e,f=()=>void 0,p=()=>{},m=()=>p,h=Reflect.get(u,`useSyncExternalStore`),g=e=>{let t=Function.prototype.bind,n=null,r=new Proxy(t,{apply:(e,t,r)=>{let i=r[1];return!n&&l.h(i)&&(n=i),Reflect.apply(e,t,r)}});Reflect.set(Function.prototype,`bind`,r);try{e()}finally{Function.prototype.bind===r&&Reflect.set(Function.prototype,`bind`,t)}return n},_=()=>{Reflect.apply(h,u,[m,f,f])},v=()=>{u.useReducer(d,void 0)},y=typeof h==`function`?()=>g(_)??void 0:()=>{let e=u.useRef(null),t=u.useRef(null),n=g(v)??(t.current===e.current?e.current?.alternate:t.current)??e.current;return t.current=n,u.useEffect(()=>{e.current=n},[n]),n??void 0};exports.BIPPY_INSTRUMENTATION_STRING=c.t,exports.BippyError=l.S,exports.BippyHookInspectionError=l.C,exports.BippyHookRenderError=l.w,exports.BippySourceMapError=l.T,exports.BippyUnsupportedHookError=l.E,exports.MutationMask=l.D,exports.ReactBuildType=l.j,exports.ReactFiberFlags=l.M,exports.ReactSymbols=l.N,exports._fiberRoots=l.t,exports._onActiveListeners=c.n,exports._renderers=c.r,exports.compareSemver=l.F,exports.detectReactBuildType=l.n,exports.didFiberCommit=l.r,exports.didFiberRender=l.i,exports.getDisplayName=l.a,exports.getFiber=l.o,exports.getFiberFromHostInstance=l.s,exports.getFiberId=l.c,exports.getLatestFiber=l.l,exports.getRDTHook=c.a,exports.getReactWorkTags=l.P,exports.getReactWorkTagsForFiber=l.O,exports.getReactWorkTagsForRenderer=l.k,exports.getRenderer=l.u,exports.getType=l.d,exports.hasMemoCache=l.f,exports.hasRDTHook=c.o,exports.installRDTHook=c.s,exports.instrument=l.p,exports.isCompositeFiber=l.m,exports.isFiber=l.h,exports.isHostFiber=l.g,exports.isInstrumentationActive=l._,exports.isRealReactDevtools=c.c,exports.isValidElement=l.v,exports.onRendererInject=c.u,exports.patchRDTHook=c.d,exports.setFiberId=l.y,exports.setReactWorkTagsForFiber=l.A,exports.traverseFiber=l.b,exports.traverseRenderedFibers=l.x,exports.useFiber=y,exports.version=c.f;
|