bippy 0.6.1-dev.879f777 → 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
@@ -1,43 +1,77 @@
1
- <h1><img src="./.github/public/bippy.png" width="48" alt="" align="middle" /> bippy</h1>
1
+ <h1>
2
+ <img src="./.github/public/bippy.png" width="48" alt="" valign="middle" />
3
+ bippy
4
+ </h1>
2
5
 
3
6
  [![version](https://img.shields.io/npm/v/bippy?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/bippy)
4
7
  [![downloads](https://img.shields.io/npm/dt/bippy.svg?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/bippy)
5
8
 
6
9
  bippy hacks into React internals.
7
10
 
8
- 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.
9
12
 
10
13
  > [!WARNING]
11
14
  > ⚠️⚠️⚠️ **This project may break production apps and cause unexpected behavior.** ⚠️⚠️⚠️
12
15
  >
13
- > 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.
14
-
15
- ## Table of contents
16
-
17
- - [Install bippy](#install-bippy)
18
- - [Next.js](#nextjs)
19
- - [Vite](#vite)
20
- - [React integration](#react-integration)
21
- - [`useFiber`](#usefiber)
22
- - [Instrumentation](#instrumentation)
23
- - [`instrument`](#instrument)
24
- - [`getRDTHook`](#getrdthook)
25
- - [Fiber traversal](#fiber-traversal)
26
- - [`traverseRenderedFibers`](#traverserenderedfibers)
27
- - [`traverseFiber`](#traversefiber)
28
- - [`didFiberRender` and `didFiberCommit`](#didfiberrender-and-didfibercommit)
29
- - [Fiber inspection](#fiber-inspection)
30
- - [`setFiberId` and `getFiberId`](#setfiberid-and-getfiberid)
31
- - [Classification helpers](#classification-helpers)
32
- - [`getDisplayName` and `getType`](#getdisplayname-and-gettype)
33
- - [`getFiber`](#getfiber)
34
- - [`getLatestFiber`](#getlatestfiber)
35
- - [`getRenderer`](#getrenderer)
36
- - [React internals](#react-internals)
37
- - [Source inspection](#source-inspection)
38
- - [`getSource`](#getsource)
39
- - [`getOwnerStack` and `getParentStack`](#getownerstack-and-getparentstack)
40
- - [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.
41
75
 
42
76
  ## Install bippy
43
77
 
@@ -67,7 +101,20 @@ import { StrictMode } from "react";
67
101
  import { createRoot } from "react-dom/client";
68
102
  ```
69
103
 
70
- ## 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`.
71
118
 
72
119
  ### `useFiber`
73
120
 
@@ -83,10 +130,6 @@ const Component = () => {
83
130
  };
84
131
  ```
85
132
 
86
- ## Instrumentation
87
-
88
- Listen for React lifecycle events with `instrument`.
89
-
90
133
  ### `instrument`
91
134
 
92
135
  Registers lifecycle handlers and returns an unsubscribe function.
@@ -101,11 +144,10 @@ Available handlers include:
101
144
 
102
145
  ```typescript
103
146
  import { instrument } from "bippy";
104
- import * as React from "react";
105
147
 
106
148
  const unsubscribe = instrument({
107
- onCommitFiberRoot(rendererID, root) {
108
- console.log(rendererID, root.current);
149
+ onCommitFiberUnmount(rendererID, fiber) {
150
+ console.log(rendererID, fiber);
109
151
  },
110
152
  });
111
153
 
@@ -116,7 +158,7 @@ Call the returned function to unsubscribe those handlers.
116
158
 
117
159
  ### `getRDTHook`
118
160
 
119
- 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.
120
162
 
121
163
  ```typescript
122
164
  import { getRDTHook } from "bippy";
@@ -125,17 +167,12 @@ const hook = getRDTHook();
125
167
  console.log(hook.renderers);
126
168
  ```
127
169
 
128
- ## Fiber traversal
129
-
130
- Traversal helpers walk a complete Fiber tree or select the Fibers involved in a commit.
131
-
132
170
  ### `traverseRenderedFibers`
133
171
 
134
172
  Visits Fibers that mounted, updated, or unmounted in a commit. The callback receives the Fiber and its `mount`, `update`, or `unmount` phase.
135
173
 
136
174
  ```typescript
137
175
  import { instrument, traverseRenderedFibers } from "bippy";
138
- import * as React from "react";
139
176
 
140
177
  instrument({
141
178
  onCommitFiberRoot(rendererID, root) {
@@ -155,50 +192,68 @@ Walks down from a Fiber and calls a selector for each node. Return `true` to sto
155
192
  ```typescript
156
193
  import { isHostFiber, traverseFiber } from "bippy";
157
194
 
158
- const buttonFiber = traverseFiber(root.current, (fiber) => {
159
- return isHostFiber(fiber) && fiber.type === "button";
195
+ const buttonFiber = traverseFiber(fiber, (candidateFiber) => {
196
+ return isHostFiber(candidateFiber) && candidateFiber.type === "button";
160
197
  });
161
198
  ```
162
199
 
163
200
  The selector can also return a promise. In that case, `traverseFiber` returns a promise for the selected Fiber.
164
201
 
165
- ### `didFiberRender` and `didFiberCommit`
202
+ ### `didFiberRender`
166
203
 
167
- 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.
168
205
 
169
206
  ```typescript
170
- import { didFiberCommit, didFiberRender } from "bippy";
207
+ import { didFiberRender } from "bippy";
171
208
 
172
209
  console.log(didFiberRender(fiber));
173
- console.log(didFiberCommit(fiber));
174
210
  ```
175
211
 
176
- ## Fiber inspection
212
+ Use `traverseRenderedFibers` to inspect renders from a specific commit.
177
213
 
178
- 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
+ ```
179
223
 
180
- ### `setFiberId` and `getFiberId`
224
+ ### `setFiberId`
181
225
 
182
- 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.
183
227
 
184
228
  ```typescript
185
- import { getFiberId, setFiberId } from "bippy";
229
+ import { setFiberId } from "bippy";
186
230
 
187
231
  setFiberId(fiber, 123);
188
- console.log(getFiberId(fiber));
189
232
  ```
190
233
 
191
- ### 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
+ ```
192
253
 
193
- Use these predicates to narrow an unknown value or Fiber before reading renderer-specific fields:
254
+ ### `isHostFiber`
194
255
 
195
- | Helper | Result |
196
- | ------------------ | ------------------------------------------------------- |
197
- | `isFiber` | Performs a fast check for a Fiber-like object |
198
- | `isValidFiber` | Checks the core fields required by a Fiber |
199
- | `isHostFiber` | Narrows a Fiber to a host Fiber |
200
- | `isCompositeFiber` | Finds function, class, memo, and other composite Fibers |
201
- | `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.
202
257
 
203
258
  ```typescript
204
259
  import { isHostFiber } from "bippy";
@@ -208,29 +263,45 @@ if (isHostFiber(fiber)) {
208
263
  }
209
264
  ```
210
265
 
211
- ### `getDisplayName` and `getType`
266
+ ### `isCompositeFiber`
212
267
 
213
- `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.
214
269
 
215
270
  ```typescript
216
- import { getDisplayName, getType } from "bippy";
271
+ import { isCompositeFiber } from "bippy";
217
272
 
218
- console.log(getDisplayName(fiber.type));
219
- console.log(getType(fiber.type));
273
+ console.log(isCompositeFiber(fiber));
220
274
  ```
221
275
 
222
- ### `getFiber`
276
+ ### `hasMemoCache`
223
277
 
224
- 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.
225
279
 
226
280
  ```typescript
227
- import { getFiber } from "bippy";
281
+ import { hasMemoCache } from "bippy";
228
282
 
229
- const element = document.querySelector("button");
230
- 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));
231
294
  ```
232
295
 
233
- `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
+ ```
234
305
 
235
306
  ### `getLatestFiber`
236
307
 
@@ -259,7 +330,7 @@ Renderer capabilities are optional and vary by renderer version.
259
330
 
260
331
  ### React internals
261
332
 
262
- 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.
263
334
 
264
335
  ```typescript
265
336
  import {
@@ -282,13 +353,16 @@ import type {
282
353
 
283
354
  These definitions follow React’s private implementation and may change between React versions.
284
355
 
285
- ## Source inspection
286
-
287
- Source utilities resolve component locations, source maps, and component stacks. Import them from `bippy/source`.
288
-
289
356
  ### `getSource`
290
357
 
291
- 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
292
366
 
293
367
  ```typescript
294
368
  import { getSource } from "bippy/source";
@@ -308,25 +382,34 @@ const sourceFetch: SourceFetch = async (url, init) => {
308
382
  const artifact = sourceArtifacts.get(url);
309
383
  if (!artifact) return fetch(url, init);
310
384
 
311
- return new Response(artifact.content, {
312
- headers: artifact.sourceMapUrl ? { SourceMap: artifact.sourceMapUrl } : undefined,
313
- });
385
+ const sourceMapUrl = artifact.sourceMapUrl;
386
+ const headers = sourceMapUrl ? { SourceMap: sourceMapUrl } : undefined;
387
+ return new Response(artifact.content, { headers });
314
388
  };
315
389
 
316
390
  const source = await getSource(fiber, true, sourceFetch);
317
391
  ```
318
392
 
319
- ### `getOwnerStack` and `getParentStack`
393
+ ### `getOwnerStack`
320
394
 
321
- 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.
322
396
 
323
397
  ```typescript
324
- import { getOwnerStack, getParentStack } from "bippy/source";
398
+ import { getOwnerStack } from "bippy/source";
325
399
 
326
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
+
327
410
  const parentFrames = await getParentStack(fiber);
328
411
  ```
329
412
 
330
413
  ## Acknowledgements
331
414
 
332
- 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;