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 CHANGED
@@ -8,39 +8,70 @@
8
8
 
9
9
  bippy hacks into React internals.
10
10
 
11
- React normally keeps its Fiber tree out of reach. bippy gets you in, so you can inspect components, track renders, and access the renderer directly.
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't recommend depending on internals unless you really, _really_ have to. By proceeding, you acknowledge the risk of breaking your own code or apps that use your code.
17
-
18
- ## Table of contents
19
-
20
- - [Install bippy](#install-bippy)
21
- - [Next.js](#nextjs)
22
- - [Vite](#vite)
23
- - [React integration](#react-integration)
24
- - [`useFiber`](#usefiber)
25
- - [Instrumentation](#instrumentation)
26
- - [`instrument`](#instrument)
27
- - [`getRDTHook`](#getrdthook)
28
- - [Fiber traversal](#fiber-traversal)
29
- - [`traverseRenderedFibers`](#traverserenderedfibers)
30
- - [`traverseFiber`](#traversefiber)
31
- - [`didFiberRender` and `didFiberCommit`](#didfiberrender-and-didfibercommit)
32
- - [Fiber inspection](#fiber-inspection)
33
- - [`setFiberId` and `getFiberId`](#setfiberid-and-getfiberid)
34
- - [Classification helpers](#classification-helpers)
35
- - [`getDisplayName` and `getType`](#getdisplayname-and-gettype)
36
- - [`getFiber`](#getfiber)
37
- - [`getLatestFiber`](#getlatestfiber)
38
- - [`getRenderer`](#getrenderer)
39
- - [React internals](#react-internals)
40
- - [Source inspection](#source-inspection)
41
- - [`getSource`](#getsource)
42
- - [`getOwnerStack` and `getParentStack`](#getownerstack-and-getparentstack)
43
- - [Acknowledgements](#acknowledgements)
16
+ > This project uses React internals, which can change at any time. We dont 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
- ## React integration
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
- onCommitFiberRoot(rendererID, root) {
111
- console.log(rendererID, root.current);
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 when an integration needs the complete renderer registry or another low-level hook capability.
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(root.current, (fiber) => {
162
- return isHostFiber(fiber) && fiber.type === "button";
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` and `didFiberCommit`
202
+ ### `didFiberRender`
169
203
 
170
- Return whether a Fiber has rendered or committed. Use `traverseRenderedFibers` to inspect changes from a specific commit.
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 { didFiberCommit, didFiberRender } from "bippy";
207
+ import { didFiberRender } from "bippy";
174
208
 
175
209
  console.log(didFiberRender(fiber));
176
- console.log(didFiberCommit(fiber));
177
210
  ```
178
211
 
179
- ## Fiber inspection
212
+ Use `traverseRenderedFibers` to inspect renders from a specific commit.
180
213
 
181
- Inspection helpers identify Fibers and read their component, host instance, and renderer metadata.
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` and `getFiberId`
224
+ ### `setFiberId`
184
225
 
185
- Assign and read a stable numeric identity across Fiber updates. `getFiberId` creates an identity when one does not exist.
226
+ Assigns a numeric ID to a Fiber.
186
227
 
187
228
  ```typescript
188
- import { getFiberId, setFiberId } from "bippy";
229
+ import { setFiberId } from "bippy";
189
230
 
190
231
  setFiberId(fiber, 123);
191
- console.log(getFiberId(fiber));
192
232
  ```
193
233
 
194
- ### Classification helpers
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
- Use these predicates to narrow an unknown value or Fiber before reading renderer-specific fields:
254
+ ### `isHostFiber`
197
255
 
198
- | Helper | Result |
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
- ### `getDisplayName` and `getType`
266
+ ### `isCompositeFiber`
215
267
 
216
- `getDisplayName` reads a component name from a Fiber type. `getType` unwraps memo and forward-ref wrappers to return the underlying component definition.
268
+ Returns whether a Fiber represents a function, class, memo, or forward-ref component.
217
269
 
218
270
  ```typescript
219
- import { getDisplayName, getType } from "bippy";
271
+ import { isCompositeFiber } from "bippy";
220
272
 
221
- console.log(getDisplayName(fiber.type));
222
- console.log(getType(fiber.type));
273
+ console.log(isCompositeFiber(fiber));
223
274
  ```
224
275
 
225
- ### `getFiber`
276
+ ### `hasMemoCache`
226
277
 
227
- Returns the Fiber associated with a renderer host instance, such as a DOM element. The result is `null` when no registered renderer recognizes the instance.
278
+ Returns whether a Fiber uses a React Compiler memo cache.
228
279
 
229
280
  ```typescript
230
- import { getFiber } from "bippy";
281
+ import { hasMemoCache } from "bippy";
231
282
 
232
- const element = document.querySelector("button");
233
- const fiber = getFiber(element);
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
- `getFiberFromHostInstance` remains available as an alias.
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 complete internals model used by its APIs. This includes Fiber, root, renderer, dispatcher, work-tag, flag, symbol, and build-type definitions.
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 across DOM, native, terminal, canvas, PDF, and custom renderers.
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
- return new Response(artifact.content, {
315
- headers: artifact.sourceMapUrl ? { SourceMap: artifact.sourceMapUrl } : undefined,
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` and `getParentStack`
393
+ ### `getOwnerStack`
323
394
 
324
- Both functions return symbolicated component stacks above a Fiber. `getOwnerStack` follows the components that created the Fiber’s JSX. `getParentStack` follows every ancestor in the Fiber return chain.
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, getParentStack } from "bippy/source";
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
- the original bippy character is owned and created by [@dairyfreerice](https://www.instagram.com/dairyfreerice). this project is not related to the bippy brand, i just think the character is cute.
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("./core2.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.y(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.C,exports.BippyHookInspectionError=l.w,exports.BippyHookRenderError=l.T,exports.BippySourceMapError=l.E,exports.BippyUnsupportedHookError=l.D,exports.MutationMask=l.O,exports.ReactBuildType=l.M,exports.ReactFiberFlags=l.N,exports.ReactSymbols=l.P,exports._fiberRoots=l.t,exports._onActiveListeners=c.n,exports._renderers=c.r,exports.compareSemver=l.I,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.F,exports.getReactWorkTagsForFiber=l.k,exports.getReactWorkTagsForRenderer=l.A,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.isValidFiber=l.y,exports.onRendererInject=c.u,exports.patchRDTHook=c.d,exports.setFiberId=l.b,exports.setReactWorkTagsForFiber=l.j,exports.traverseFiber=l.x,exports.traverseRenderedFibers=l.S,exports.useFiber=y,exports.version=c.f;
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;