sidakram-bippy 0.2.24

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,878 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @license bippy
5
+ *
6
+ * Copyright (c) Aiden Bai, Million Software, Inc.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */
11
+ var __defProp = Object.defineProperty;
12
+ var __defProps = Object.defineProperties;
13
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
14
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
15
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
16
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
17
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
18
+ var __spreadValues = (a, b) => {
19
+ for (var prop in b || (b = {}))
20
+ if (__hasOwnProp.call(b, prop))
21
+ __defNormalProp(a, prop, b[prop]);
22
+ if (__getOwnPropSymbols)
23
+ for (var prop of __getOwnPropSymbols(b)) {
24
+ if (__propIsEnum.call(b, prop))
25
+ __defNormalProp(a, prop, b[prop]);
26
+ }
27
+ return a;
28
+ };
29
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
30
+ var __objRest = (source, exclude) => {
31
+ var target = {};
32
+ for (var prop in source)
33
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
34
+ target[prop] = source[prop];
35
+ if (source != null && __getOwnPropSymbols)
36
+ for (var prop of __getOwnPropSymbols(source)) {
37
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
38
+ target[prop] = source[prop];
39
+ }
40
+ return target;
41
+ };
42
+ var __async = (__this, __arguments, generator) => {
43
+ return new Promise((resolve, reject) => {
44
+ var fulfilled = (value) => {
45
+ try {
46
+ step(generator.next(value));
47
+ } catch (e) {
48
+ reject(e);
49
+ }
50
+ };
51
+ var rejected = (value) => {
52
+ try {
53
+ step(generator.throw(value));
54
+ } catch (e) {
55
+ reject(e);
56
+ }
57
+ };
58
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
59
+ step((generator = generator.apply(__this, __arguments)).next());
60
+ });
61
+ };
62
+
63
+ // src/rdt-hook.ts
64
+ var version = "0.2.24";
65
+ var BIPPY_INSTRUMENTATION_STRING = `bippy-${version}`;
66
+ var objectDefineProperty = Object.defineProperty;
67
+ var objectHasOwnProperty = Object.prototype.hasOwnProperty;
68
+ var NO_OP = () => {
69
+ };
70
+ var checkDCE = (fn) => {
71
+ try {
72
+ const code = Function.prototype.toString.call(fn);
73
+ if (code.indexOf("^_^") > -1) {
74
+ setTimeout(() => {
75
+ throw new Error(
76
+ "React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build"
77
+ );
78
+ });
79
+ }
80
+ } catch (e) {
81
+ }
82
+ };
83
+ var isRealReactDevtools = (rdtHook = getRDTHook()) => {
84
+ return "getFiberRoots" in rdtHook;
85
+ };
86
+ var isReactRefreshOverride = false;
87
+ var injectFnStr = void 0;
88
+ var isReactRefresh = (rdtHook = getRDTHook()) => {
89
+ if (isReactRefreshOverride) return true;
90
+ if (typeof rdtHook.inject === "function") {
91
+ injectFnStr = rdtHook.inject.toString();
92
+ }
93
+ return Boolean(injectFnStr == null ? void 0 : injectFnStr.includes("(injected)"));
94
+ };
95
+ var onActiveListeners = /* @__PURE__ */ new Set();
96
+ var installRDTHook = (onActive) => {
97
+ const renderers = /* @__PURE__ */ new Map();
98
+ let i = 0;
99
+ const rdtHook = {
100
+ checkDCE,
101
+ supportsFiber: true,
102
+ supportsFlight: true,
103
+ hasUnsupportedRendererAttached: false,
104
+ renderers,
105
+ onCommitFiberRoot: NO_OP,
106
+ onCommitFiberUnmount: NO_OP,
107
+ onPostCommitFiberRoot: NO_OP,
108
+ inject(renderer) {
109
+ const nextID = ++i;
110
+ renderers.set(nextID, renderer);
111
+ if (!rdtHook._instrumentationIsActive) {
112
+ rdtHook._instrumentationIsActive = true;
113
+ onActiveListeners.forEach((listener) => listener());
114
+ }
115
+ return nextID;
116
+ },
117
+ _instrumentationSource: BIPPY_INSTRUMENTATION_STRING,
118
+ _instrumentationIsActive: false
119
+ };
120
+ try {
121
+ objectDefineProperty(globalThis, "__REACT_DEVTOOLS_GLOBAL_HOOK__", {
122
+ value: rdtHook,
123
+ configurable: true,
124
+ writable: true
125
+ });
126
+ const originalWindowHasOwnProperty = window.hasOwnProperty;
127
+ let hasRanHack = false;
128
+ objectDefineProperty(window, "hasOwnProperty", {
129
+ value: function() {
130
+ if (!hasRanHack && arguments[0] === "__REACT_DEVTOOLS_GLOBAL_HOOK__") {
131
+ globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__ = void 0;
132
+ hasRanHack = true;
133
+ return -0;
134
+ }
135
+ return originalWindowHasOwnProperty.apply(this, arguments);
136
+ },
137
+ configurable: true,
138
+ writable: true
139
+ });
140
+ } catch (e) {
141
+ patchRDTHook(onActive);
142
+ }
143
+ return rdtHook;
144
+ };
145
+ var patchRDTHook = (onActive) => {
146
+ if (onActive) {
147
+ onActiveListeners.add(onActive);
148
+ }
149
+ try {
150
+ const rdtHook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
151
+ if (!rdtHook) return;
152
+ if (!rdtHook._instrumentationSource) {
153
+ isReactRefreshOverride = isReactRefresh(rdtHook);
154
+ rdtHook.checkDCE = checkDCE;
155
+ rdtHook.supportsFiber = true;
156
+ rdtHook.supportsFlight = true;
157
+ rdtHook.hasUnsupportedRendererAttached = false;
158
+ rdtHook._instrumentationSource = BIPPY_INSTRUMENTATION_STRING;
159
+ rdtHook._instrumentationIsActive = false;
160
+ if (rdtHook.renderers.size) {
161
+ rdtHook._instrumentationIsActive = true;
162
+ onActiveListeners.forEach((listener) => listener());
163
+ return;
164
+ }
165
+ const prevInject = rdtHook.inject;
166
+ if (isReactRefresh(rdtHook) && !isRealReactDevtools()) {
167
+ isReactRefreshOverride = true;
168
+ let nextID = rdtHook.inject(null);
169
+ if (nextID) {
170
+ rdtHook._instrumentationIsActive = true;
171
+ }
172
+ rdtHook.inject = () => nextID++;
173
+ } else {
174
+ rdtHook.inject = (renderer) => {
175
+ const id = prevInject(renderer);
176
+ rdtHook._instrumentationIsActive = true;
177
+ onActiveListeners.forEach((listener) => listener());
178
+ return id;
179
+ };
180
+ }
181
+ }
182
+ if (rdtHook.renderers.size || rdtHook._instrumentationIsActive || // depending on this to inject is unsafe, since inject could occur before and we wouldn't know
183
+ isReactRefresh()) {
184
+ onActive == null ? void 0 : onActive();
185
+ }
186
+ } catch (e) {
187
+ }
188
+ };
189
+ var hasRDTHook = () => {
190
+ return objectHasOwnProperty.call(
191
+ globalThis,
192
+ "__REACT_DEVTOOLS_GLOBAL_HOOK__"
193
+ );
194
+ };
195
+ var getRDTHook = (onActive) => {
196
+ if (!hasRDTHook()) {
197
+ return installRDTHook(onActive);
198
+ }
199
+ patchRDTHook(onActive);
200
+ return globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
201
+ };
202
+ var isClientEnvironment = () => {
203
+ var _a, _b;
204
+ return Boolean(
205
+ typeof window !== "undefined" && (((_a = window.document) == null ? void 0 : _a.createElement) || ((_b = window.navigator) == null ? void 0 : _b.product) === "ReactNative")
206
+ );
207
+ };
208
+
209
+ // src/install-hook-script-string.ts
210
+ var INSTALL_HOOK_SCRIPT_STRING = "(()=>{try{var t=()=>{};const n=new Map;let o=0;globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__={checkDCE:t,supportsFiber:!0,supportsFlight:!0,hasUnsupportedRendererAttached:!1,renderers:n,onCommitFiberRoot:t,onCommitFiberUnmount:t,onPostCommitFiberRoot:t,inject(t){var e=++o;return n.set(e,t),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__._instrumentationIsActive=!0,e},_instrumentationIsActive:!1,_script:!0}}catch{}})()";
211
+
212
+ // src/core.ts
213
+ var FunctionComponentTag = 0;
214
+ var ClassComponentTag = 1;
215
+ var HostRootTag = 3;
216
+ var HostComponentTag = 5;
217
+ var HostTextTag = 6;
218
+ var FragmentTag = 7;
219
+ var ContextConsumerTag = 9;
220
+ var ForwardRefTag = 11;
221
+ var SuspenseComponentTag = 13;
222
+ var MemoComponentTag = 14;
223
+ var SimpleMemoComponentTag = 15;
224
+ var DehydratedSuspenseComponentTag = 18;
225
+ var OffscreenComponentTag = 22;
226
+ var LegacyHiddenComponentTag = 23;
227
+ var HostHoistableTag = 26;
228
+ var HostSingletonTag = 27;
229
+ var CONCURRENT_MODE_NUMBER = 60111;
230
+ var ELEMENT_TYPE_SYMBOL_STRING = "Symbol(react.element)";
231
+ var TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING = "Symbol(react.transitional.element)";
232
+ var CONCURRENT_MODE_SYMBOL_STRING = "Symbol(react.concurrent_mode)";
233
+ var DEPRECATED_ASYNC_MODE_SYMBOL_STRING = "Symbol(react.async_mode)";
234
+ var PerformedWork = 1;
235
+ var Placement = 2;
236
+ var Hydrating = 4096;
237
+ var Update = 4;
238
+ var Cloned = 8;
239
+ var ChildDeletion = 16;
240
+ var ContentReset = 32;
241
+ var Snapshot = 1024;
242
+ var Visibility = 8192;
243
+ var MutationMask = Placement | Update | ChildDeletion | ContentReset | Hydrating | Visibility | Snapshot;
244
+ var isValidElement = (element) => typeof element === "object" && element != null && "$$typeof" in element && // react 18 uses Symbol.for('react.element'), react 19 uses Symbol.for('react.transitional.element')
245
+ [
246
+ ELEMENT_TYPE_SYMBOL_STRING,
247
+ TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING
248
+ ].includes(String(element.$$typeof));
249
+ var isValidFiber = (fiber) => typeof fiber === "object" && fiber != null && "tag" in fiber && "stateNode" in fiber && "return" in fiber && "child" in fiber && "sibling" in fiber && "flags" in fiber;
250
+ var isHostFiber = (fiber) => {
251
+ switch (fiber.tag) {
252
+ case HostComponentTag:
253
+ // @ts-expect-error: it exists
254
+ case HostHoistableTag:
255
+ // @ts-expect-error: it exists
256
+ case HostSingletonTag:
257
+ return true;
258
+ default:
259
+ return typeof fiber.type === "string";
260
+ }
261
+ };
262
+ var isCompositeFiber = (fiber) => {
263
+ switch (fiber.tag) {
264
+ case FunctionComponentTag:
265
+ case ClassComponentTag:
266
+ case SimpleMemoComponentTag:
267
+ case MemoComponentTag:
268
+ case ForwardRefTag:
269
+ return true;
270
+ default:
271
+ return false;
272
+ }
273
+ };
274
+ var traverseContexts = (fiber, selector) => {
275
+ var _a;
276
+ try {
277
+ const nextDependencies = fiber.dependencies;
278
+ const prevDependencies = (_a = fiber.alternate) == null ? void 0 : _a.dependencies;
279
+ if (!nextDependencies || !prevDependencies) return false;
280
+ if (typeof nextDependencies !== "object" || !("firstContext" in nextDependencies) || typeof prevDependencies !== "object" || !("firstContext" in prevDependencies)) {
281
+ return false;
282
+ }
283
+ let nextContext = nextDependencies.firstContext;
284
+ let prevContext = prevDependencies.firstContext;
285
+ while (nextContext && typeof nextContext === "object" && "memoizedValue" in nextContext || prevContext && typeof prevContext === "object" && "memoizedValue" in prevContext) {
286
+ if (selector(nextContext, prevContext) === true) return true;
287
+ nextContext = nextContext == null ? void 0 : nextContext.next;
288
+ prevContext = prevContext == null ? void 0 : prevContext.next;
289
+ }
290
+ } catch (e) {
291
+ }
292
+ return false;
293
+ };
294
+ var traverseState = (fiber, selector) => {
295
+ var _a;
296
+ try {
297
+ let nextState = fiber.memoizedState;
298
+ let prevState = (_a = fiber.alternate) == null ? void 0 : _a.memoizedState;
299
+ while (nextState || prevState) {
300
+ if (selector(nextState, prevState) === true) return true;
301
+ nextState = nextState == null ? void 0 : nextState.next;
302
+ prevState = prevState == null ? void 0 : prevState.next;
303
+ }
304
+ } catch (e) {
305
+ }
306
+ return false;
307
+ };
308
+ var traverseProps = (fiber, selector) => {
309
+ var _a;
310
+ try {
311
+ const nextProps = fiber.memoizedProps;
312
+ const prevProps = ((_a = fiber.alternate) == null ? void 0 : _a.memoizedProps) || {};
313
+ const allKeys = /* @__PURE__ */ new Set([
314
+ ...Object.keys(prevProps),
315
+ ...Object.keys(nextProps)
316
+ ]);
317
+ for (const propName of allKeys) {
318
+ const prevValue = prevProps == null ? void 0 : prevProps[propName];
319
+ const nextValue = nextProps == null ? void 0 : nextProps[propName];
320
+ if (selector(propName, nextValue, prevValue) === true) return true;
321
+ }
322
+ } catch (e) {
323
+ }
324
+ return false;
325
+ };
326
+ var didFiberRender = (fiber) => {
327
+ var _a, _b, _c;
328
+ const nextProps = fiber.memoizedProps;
329
+ const prevProps = ((_a = fiber.alternate) == null ? void 0 : _a.memoizedProps) || {};
330
+ const flags = (_c = (_b = fiber.flags) != null ? _b : fiber.effectTag) != null ? _c : 0;
331
+ switch (fiber.tag) {
332
+ case ClassComponentTag:
333
+ case FunctionComponentTag:
334
+ case ContextConsumerTag:
335
+ case ForwardRefTag:
336
+ case MemoComponentTag:
337
+ case SimpleMemoComponentTag: {
338
+ return (flags & PerformedWork) === PerformedWork;
339
+ }
340
+ default:
341
+ if (!fiber.alternate) return true;
342
+ return prevProps !== nextProps || fiber.alternate.memoizedState !== fiber.memoizedState || fiber.alternate.ref !== fiber.ref;
343
+ }
344
+ };
345
+ var didFiberCommit = (fiber) => {
346
+ return Boolean(
347
+ (fiber.flags & (MutationMask | Cloned)) !== 0 || (fiber.subtreeFlags & (MutationMask | Cloned)) !== 0
348
+ );
349
+ };
350
+ var getMutatedHostFibers = (fiber) => {
351
+ const mutations = [];
352
+ const stack = [fiber];
353
+ while (stack.length) {
354
+ const node = stack.pop();
355
+ if (!node) continue;
356
+ if (isHostFiber(node) && didFiberCommit(node) && didFiberRender(node)) {
357
+ mutations.push(node);
358
+ }
359
+ if (node.child) stack.push(node.child);
360
+ if (node.sibling) stack.push(node.sibling);
361
+ }
362
+ return mutations;
363
+ };
364
+ var getFiberStack = (fiber) => {
365
+ const stack = [];
366
+ let currentFiber = fiber;
367
+ while (currentFiber.return) {
368
+ stack.push(currentFiber);
369
+ currentFiber = currentFiber.return;
370
+ }
371
+ return stack;
372
+ };
373
+ var shouldFilterFiber = (fiber) => {
374
+ switch (fiber.tag) {
375
+ case DehydratedSuspenseComponentTag:
376
+ return true;
377
+ case HostTextTag:
378
+ case FragmentTag:
379
+ case LegacyHiddenComponentTag:
380
+ case OffscreenComponentTag:
381
+ return true;
382
+ case HostRootTag:
383
+ return false;
384
+ default: {
385
+ const symbolOrNumber = typeof fiber.type === "object" && fiber.type !== null ? fiber.type.$$typeof : fiber.type;
386
+ const typeSymbol = typeof symbolOrNumber === "symbol" ? symbolOrNumber.toString() : symbolOrNumber;
387
+ switch (typeSymbol) {
388
+ case CONCURRENT_MODE_NUMBER:
389
+ case CONCURRENT_MODE_SYMBOL_STRING:
390
+ case DEPRECATED_ASYNC_MODE_SYMBOL_STRING:
391
+ return true;
392
+ default:
393
+ return false;
394
+ }
395
+ }
396
+ }
397
+ };
398
+ var getNearestHostFiber = (fiber, ascending = false) => {
399
+ let hostFiber = traverseFiber(fiber, isHostFiber, ascending);
400
+ if (!hostFiber) {
401
+ hostFiber = traverseFiber(fiber, isHostFiber, !ascending);
402
+ }
403
+ return hostFiber;
404
+ };
405
+ var getNearestHostFibers = (fiber) => {
406
+ const hostFibers = [];
407
+ const stack = [];
408
+ if (isHostFiber(fiber)) {
409
+ hostFibers.push(fiber);
410
+ } else if (fiber.child) {
411
+ stack.push(fiber.child);
412
+ }
413
+ while (stack.length) {
414
+ const currentNode = stack.pop();
415
+ if (!currentNode) break;
416
+ if (isHostFiber(currentNode)) {
417
+ hostFibers.push(currentNode);
418
+ } else if (currentNode.child) {
419
+ stack.push(currentNode.child);
420
+ }
421
+ if (currentNode.sibling) {
422
+ stack.push(currentNode.sibling);
423
+ }
424
+ }
425
+ return hostFibers;
426
+ };
427
+ var traverseFiber = (fiber, selector, ascending = false) => {
428
+ if (!fiber) return null;
429
+ if (selector(fiber) === true) return fiber;
430
+ let child = ascending ? fiber.return : fiber.child;
431
+ while (child) {
432
+ const match = traverseFiber(child, selector, ascending);
433
+ if (match) return match;
434
+ child = ascending ? null : child.sibling;
435
+ }
436
+ return null;
437
+ };
438
+ var getTimings = (fiber) => {
439
+ var _a, _b, _c;
440
+ const totalTime = (_a = fiber == null ? void 0 : fiber.actualDuration) != null ? _a : 0;
441
+ let selfTime = totalTime;
442
+ let child = (_b = fiber == null ? void 0 : fiber.child) != null ? _b : null;
443
+ while (totalTime > 0 && child != null) {
444
+ selfTime -= (_c = child.actualDuration) != null ? _c : 0;
445
+ child = child.sibling;
446
+ }
447
+ return { selfTime, totalTime };
448
+ };
449
+ var hasMemoCache = (fiber) => {
450
+ var _a;
451
+ return Boolean(
452
+ (_a = fiber.updateQueue) == null ? void 0 : _a.memoCache
453
+ );
454
+ };
455
+ var getType = (type) => {
456
+ const currentType = type;
457
+ if (typeof currentType === "function") {
458
+ return currentType;
459
+ }
460
+ if (typeof currentType === "object" && currentType) {
461
+ return getType(
462
+ currentType.type || currentType.render
463
+ );
464
+ }
465
+ return null;
466
+ };
467
+ var getDisplayName = (type) => {
468
+ const currentType = type;
469
+ if (typeof currentType !== "function" && !(typeof currentType === "object" && currentType)) {
470
+ return null;
471
+ }
472
+ const name = currentType.displayName || currentType.name || null;
473
+ if (name) return name;
474
+ const unwrappedType = getType(currentType);
475
+ if (!unwrappedType) return null;
476
+ return unwrappedType.displayName || unwrappedType.name || null;
477
+ };
478
+ var detectReactBuildType = (renderer) => {
479
+ try {
480
+ if (typeof renderer.version === "string" && renderer.bundleType > 0) {
481
+ return "development";
482
+ }
483
+ } catch (e) {
484
+ }
485
+ return "production";
486
+ };
487
+ var isInstrumentationActive = () => {
488
+ const rdtHook = getRDTHook();
489
+ return Boolean(rdtHook._instrumentationIsActive) || isRealReactDevtools() || isReactRefresh();
490
+ };
491
+ var fiberId = 0;
492
+ var fiberIdMap = /* @__PURE__ */ new WeakMap();
493
+ var setFiberId = (fiber, id = fiberId++) => {
494
+ fiberIdMap.set(fiber, id);
495
+ };
496
+ var getFiberId = (fiber) => {
497
+ let id = fiberIdMap.get(fiber);
498
+ if (!id && fiber.alternate) {
499
+ id = fiberIdMap.get(fiber.alternate);
500
+ }
501
+ if (!id) {
502
+ id = fiberId++;
503
+ setFiberId(fiber, id);
504
+ }
505
+ return id;
506
+ };
507
+ var mountFiberRecursively = (onRender, firstChild, traverseSiblings) => {
508
+ let fiber = firstChild;
509
+ while (fiber != null) {
510
+ if (!fiberIdMap.has(fiber)) {
511
+ getFiberId(fiber);
512
+ }
513
+ const shouldIncludeInTree = !shouldFilterFiber(fiber);
514
+ if (shouldIncludeInTree && didFiberRender(fiber)) {
515
+ onRender(fiber, "mount");
516
+ }
517
+ if (fiber.tag === SuspenseComponentTag) {
518
+ const isTimedOut = fiber.memoizedState !== null;
519
+ if (isTimedOut) {
520
+ const primaryChildFragment = fiber.child;
521
+ const fallbackChildFragment = primaryChildFragment ? primaryChildFragment.sibling : null;
522
+ if (fallbackChildFragment) {
523
+ const fallbackChild = fallbackChildFragment.child;
524
+ if (fallbackChild !== null) {
525
+ mountFiberRecursively(onRender, fallbackChild, false);
526
+ }
527
+ }
528
+ } else {
529
+ let primaryChild = null;
530
+ if (fiber.child !== null) {
531
+ primaryChild = fiber.child.child;
532
+ }
533
+ if (primaryChild !== null) {
534
+ mountFiberRecursively(onRender, primaryChild, false);
535
+ }
536
+ }
537
+ } else if (fiber.child != null) {
538
+ mountFiberRecursively(onRender, fiber.child, true);
539
+ }
540
+ fiber = traverseSiblings ? fiber.sibling : null;
541
+ }
542
+ };
543
+ var updateFiberRecursively = (onRender, nextFiber, prevFiber, parentFiber) => {
544
+ var _a, _b, _c, _d, _e, _f;
545
+ if (!fiberIdMap.has(nextFiber)) {
546
+ getFiberId(nextFiber);
547
+ }
548
+ if (!prevFiber) return;
549
+ if (!fiberIdMap.has(prevFiber)) {
550
+ getFiberId(prevFiber);
551
+ }
552
+ const isSuspense = nextFiber.tag === SuspenseComponentTag;
553
+ const shouldIncludeInTree = !shouldFilterFiber(nextFiber);
554
+ if (shouldIncludeInTree && didFiberRender(nextFiber)) {
555
+ onRender(nextFiber, "update");
556
+ }
557
+ const prevDidTimeout = isSuspense && prevFiber.memoizedState !== null;
558
+ const nextDidTimeOut = isSuspense && nextFiber.memoizedState !== null;
559
+ if (prevDidTimeout && nextDidTimeOut) {
560
+ const nextFallbackChildSet = (_b = (_a = nextFiber.child) == null ? void 0 : _a.sibling) != null ? _b : null;
561
+ const prevFallbackChildSet = (_d = (_c = prevFiber.child) == null ? void 0 : _c.sibling) != null ? _d : null;
562
+ if (nextFallbackChildSet !== null && prevFallbackChildSet !== null) {
563
+ updateFiberRecursively(
564
+ onRender,
565
+ nextFallbackChildSet,
566
+ prevFallbackChildSet);
567
+ }
568
+ } else if (prevDidTimeout && !nextDidTimeOut) {
569
+ const nextPrimaryChildSet = nextFiber.child;
570
+ if (nextPrimaryChildSet !== null) {
571
+ mountFiberRecursively(onRender, nextPrimaryChildSet, true);
572
+ }
573
+ } else if (!prevDidTimeout && nextDidTimeOut) {
574
+ unmountFiberChildrenRecursively(onRender, prevFiber);
575
+ const nextFallbackChildSet = (_f = (_e = nextFiber.child) == null ? void 0 : _e.sibling) != null ? _f : null;
576
+ if (nextFallbackChildSet !== null) {
577
+ mountFiberRecursively(onRender, nextFallbackChildSet, true);
578
+ }
579
+ } else if (nextFiber.child !== prevFiber.child) {
580
+ let nextChild = nextFiber.child;
581
+ while (nextChild) {
582
+ if (nextChild.alternate) {
583
+ const prevChild = nextChild.alternate;
584
+ updateFiberRecursively(
585
+ onRender,
586
+ nextChild,
587
+ prevChild);
588
+ } else {
589
+ mountFiberRecursively(onRender, nextChild, false);
590
+ }
591
+ nextChild = nextChild.sibling;
592
+ }
593
+ }
594
+ };
595
+ var unmountFiber = (onRender, fiber) => {
596
+ const isRoot = fiber.tag === HostRootTag;
597
+ if (isRoot || !shouldFilterFiber(fiber)) {
598
+ onRender(fiber, "unmount");
599
+ }
600
+ };
601
+ var unmountFiberChildrenRecursively = (onRender, fiber) => {
602
+ var _a, _b;
603
+ const isTimedOutSuspense = fiber.tag === SuspenseComponentTag && fiber.memoizedState !== null;
604
+ let child = fiber.child;
605
+ if (isTimedOutSuspense) {
606
+ const primaryChildFragment = fiber.child;
607
+ const fallbackChildFragment = (_a = primaryChildFragment == null ? void 0 : primaryChildFragment.sibling) != null ? _a : null;
608
+ child = (_b = fallbackChildFragment == null ? void 0 : fallbackChildFragment.child) != null ? _b : null;
609
+ }
610
+ while (child !== null) {
611
+ if (child.return !== null) {
612
+ unmountFiber(onRender, child);
613
+ unmountFiberChildrenRecursively(onRender, child);
614
+ }
615
+ child = child.sibling;
616
+ }
617
+ };
618
+ var commitId = 0;
619
+ var rootInstanceMap = /* @__PURE__ */ new WeakMap();
620
+ var traverseRenderedFibers = (root, onRender) => {
621
+ const fiber = "current" in root ? root.current : root;
622
+ let rootInstance = rootInstanceMap.get(root);
623
+ if (!rootInstance) {
624
+ rootInstance = { prevFiber: null, id: commitId++ };
625
+ rootInstanceMap.set(root, rootInstance);
626
+ }
627
+ const { prevFiber } = rootInstance;
628
+ if (!fiber) {
629
+ unmountFiber(onRender, fiber);
630
+ } else if (prevFiber !== null) {
631
+ const wasMounted = prevFiber && prevFiber.memoizedState != null && prevFiber.memoizedState.element != null && // A dehydrated root is not considered mounted
632
+ prevFiber.memoizedState.isDehydrated !== true;
633
+ const isMounted = fiber.memoizedState != null && fiber.memoizedState.element != null && // A dehydrated root is not considered mounted
634
+ fiber.memoizedState.isDehydrated !== true;
635
+ if (!wasMounted && isMounted) {
636
+ mountFiberRecursively(onRender, fiber, false);
637
+ } else if (wasMounted && isMounted) {
638
+ updateFiberRecursively(onRender, fiber, fiber.alternate);
639
+ } else if (wasMounted && !isMounted) {
640
+ unmountFiber(onRender, fiber);
641
+ }
642
+ } else {
643
+ mountFiberRecursively(onRender, fiber, true);
644
+ }
645
+ rootInstance.prevFiber = fiber;
646
+ };
647
+ var createFiberVisitor = ({
648
+ onRender
649
+ }) => {
650
+ return (_rendererID, root, _state) => {
651
+ traverseRenderedFibers(root, onRender);
652
+ };
653
+ };
654
+ var instrument = (options) => {
655
+ return getRDTHook(() => {
656
+ var _a, _b;
657
+ const rdtHook = getRDTHook();
658
+ (_a = options.onActive) == null ? void 0 : _a.call(options);
659
+ rdtHook._instrumentationSource = (_b = options.name) != null ? _b : BIPPY_INSTRUMENTATION_STRING;
660
+ const prevOnCommitFiberRoot = rdtHook.onCommitFiberRoot;
661
+ if (options.onCommitFiberRoot) {
662
+ rdtHook.onCommitFiberRoot = (rendererID, root, priority) => {
663
+ var _a2;
664
+ if (prevOnCommitFiberRoot)
665
+ prevOnCommitFiberRoot(rendererID, root, priority);
666
+ (_a2 = options.onCommitFiberRoot) == null ? void 0 : _a2.call(options, rendererID, root, priority);
667
+ };
668
+ }
669
+ const prevOnCommitFiberUnmount = rdtHook.onCommitFiberUnmount;
670
+ if (options.onCommitFiberUnmount) {
671
+ rdtHook.onCommitFiberUnmount = (rendererID, root) => {
672
+ var _a2;
673
+ if (prevOnCommitFiberUnmount)
674
+ prevOnCommitFiberUnmount(rendererID, root);
675
+ (_a2 = options.onCommitFiberUnmount) == null ? void 0 : _a2.call(options, rendererID, root);
676
+ };
677
+ }
678
+ const prevOnPostCommitFiberRoot = rdtHook.onPostCommitFiberRoot;
679
+ if (options.onPostCommitFiberRoot) {
680
+ rdtHook.onPostCommitFiberRoot = (rendererID, root) => {
681
+ var _a2;
682
+ if (prevOnPostCommitFiberRoot)
683
+ prevOnPostCommitFiberRoot(rendererID, root);
684
+ (_a2 = options.onPostCommitFiberRoot) == null ? void 0 : _a2.call(options, rendererID, root);
685
+ };
686
+ }
687
+ });
688
+ };
689
+ var getFiberFromHostInstance = (hostInstance) => {
690
+ var _a, _b, _c, _d;
691
+ const rdtHook = getRDTHook();
692
+ for (const renderer of rdtHook.renderers.values()) {
693
+ try {
694
+ const fiber = (_a = renderer.findFiberByHostInstance) == null ? void 0 : _a.call(renderer, hostInstance);
695
+ if (fiber) return fiber;
696
+ } catch (e) {
697
+ }
698
+ }
699
+ if (typeof hostInstance === "object" && hostInstance != null) {
700
+ if ("_reactRootContainer" in hostInstance) {
701
+ return (_d = (_c = (_b = hostInstance._reactRootContainer) == null ? void 0 : _b._internalRoot) == null ? void 0 : _c.current) == null ? void 0 : _d.child;
702
+ }
703
+ for (const key in hostInstance) {
704
+ if (key.startsWith("__reactInternalInstance$") || key.startsWith("__reactFiber")) {
705
+ return hostInstance[key] || null;
706
+ }
707
+ }
708
+ }
709
+ return null;
710
+ };
711
+ var INSTALL_ERROR = new Error();
712
+ var secure = (options, secureOptions = {}) => {
713
+ var _a, _b;
714
+ const onActive = options.onActive;
715
+ const isRDTHookInstalled = hasRDTHook();
716
+ const isUsingRealReactDevtools = isRealReactDevtools();
717
+ const isUsingReactRefresh = isReactRefresh();
718
+ let timeout;
719
+ let isProduction = (_a = secureOptions.isProduction) != null ? _a : false;
720
+ options.onActive = () => {
721
+ var _a2, _b2, _c;
722
+ clearTimeout(timeout);
723
+ let isSecure = true;
724
+ try {
725
+ const rdtHook = getRDTHook();
726
+ for (const renderer of rdtHook.renderers.values()) {
727
+ const [majorVersion] = renderer.version.split(".");
728
+ if (Number(majorVersion) < ((_a2 = secureOptions.minReactMajorVersion) != null ? _a2 : 17)) {
729
+ isSecure = false;
730
+ }
731
+ const buildType = detectReactBuildType(renderer);
732
+ if (buildType !== "development") {
733
+ isProduction = true;
734
+ if (!secureOptions.dangerouslyRunInProduction) {
735
+ isSecure = false;
736
+ }
737
+ }
738
+ }
739
+ } catch (err) {
740
+ (_b2 = secureOptions.onError) == null ? void 0 : _b2.call(secureOptions, err);
741
+ }
742
+ if (!isSecure) {
743
+ options.onCommitFiberRoot = void 0;
744
+ options.onCommitFiberUnmount = void 0;
745
+ options.onPostCommitFiberRoot = void 0;
746
+ options.onActive = void 0;
747
+ return;
748
+ }
749
+ onActive == null ? void 0 : onActive();
750
+ try {
751
+ const onCommitFiberRoot2 = options.onCommitFiberRoot;
752
+ if (onCommitFiberRoot2) {
753
+ options.onCommitFiberRoot = (rendererID, root, priority) => {
754
+ var _a3;
755
+ try {
756
+ onCommitFiberRoot2(rendererID, root, priority);
757
+ } catch (err) {
758
+ (_a3 = secureOptions.onError) == null ? void 0 : _a3.call(secureOptions, err);
759
+ }
760
+ };
761
+ }
762
+ const onCommitFiberUnmount = options.onCommitFiberUnmount;
763
+ if (onCommitFiberUnmount) {
764
+ options.onCommitFiberUnmount = (rendererID, root) => {
765
+ var _a3;
766
+ try {
767
+ onCommitFiberUnmount(rendererID, root);
768
+ } catch (err) {
769
+ (_a3 = secureOptions.onError) == null ? void 0 : _a3.call(secureOptions, err);
770
+ }
771
+ };
772
+ }
773
+ const onPostCommitFiberRoot = options.onPostCommitFiberRoot;
774
+ if (onPostCommitFiberRoot) {
775
+ options.onPostCommitFiberRoot = (rendererID, root) => {
776
+ var _a3;
777
+ try {
778
+ onPostCommitFiberRoot(rendererID, root);
779
+ } catch (err) {
780
+ (_a3 = secureOptions.onError) == null ? void 0 : _a3.call(secureOptions, err);
781
+ }
782
+ };
783
+ }
784
+ } catch (err) {
785
+ (_c = secureOptions.onError) == null ? void 0 : _c.call(secureOptions, err);
786
+ }
787
+ };
788
+ if (!isRDTHookInstalled && !isUsingRealReactDevtools && !isUsingReactRefresh) {
789
+ timeout = setTimeout(() => {
790
+ var _a2;
791
+ if (!isProduction) {
792
+ (_a2 = secureOptions.onError) == null ? void 0 : _a2.call(secureOptions, INSTALL_ERROR);
793
+ }
794
+ stop();
795
+ }, (_b = secureOptions.installCheckTimeout) != null ? _b : 100);
796
+ }
797
+ return options;
798
+ };
799
+ var onCommitFiberRoot = (handler) => {
800
+ return instrument(
801
+ secure({
802
+ onCommitFiberRoot: (_, root) => {
803
+ handler(root);
804
+ }
805
+ })
806
+ );
807
+ };
808
+
809
+ exports.BIPPY_INSTRUMENTATION_STRING = BIPPY_INSTRUMENTATION_STRING;
810
+ exports.CONCURRENT_MODE_NUMBER = CONCURRENT_MODE_NUMBER;
811
+ exports.CONCURRENT_MODE_SYMBOL_STRING = CONCURRENT_MODE_SYMBOL_STRING;
812
+ exports.ClassComponentTag = ClassComponentTag;
813
+ exports.ContextConsumerTag = ContextConsumerTag;
814
+ exports.DEPRECATED_ASYNC_MODE_SYMBOL_STRING = DEPRECATED_ASYNC_MODE_SYMBOL_STRING;
815
+ exports.DehydratedSuspenseComponentTag = DehydratedSuspenseComponentTag;
816
+ exports.ELEMENT_TYPE_SYMBOL_STRING = ELEMENT_TYPE_SYMBOL_STRING;
817
+ exports.ForwardRefTag = ForwardRefTag;
818
+ exports.FragmentTag = FragmentTag;
819
+ exports.FunctionComponentTag = FunctionComponentTag;
820
+ exports.HostComponentTag = HostComponentTag;
821
+ exports.HostHoistableTag = HostHoistableTag;
822
+ exports.HostRootTag = HostRootTag;
823
+ exports.HostSingletonTag = HostSingletonTag;
824
+ exports.HostTextTag = HostTextTag;
825
+ exports.INSTALL_ERROR = INSTALL_ERROR;
826
+ exports.INSTALL_HOOK_SCRIPT_STRING = INSTALL_HOOK_SCRIPT_STRING;
827
+ exports.LegacyHiddenComponentTag = LegacyHiddenComponentTag;
828
+ exports.MemoComponentTag = MemoComponentTag;
829
+ exports.OffscreenComponentTag = OffscreenComponentTag;
830
+ exports.SimpleMemoComponentTag = SimpleMemoComponentTag;
831
+ exports.SuspenseComponentTag = SuspenseComponentTag;
832
+ exports.TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING = TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING;
833
+ exports.__async = __async;
834
+ exports.__objRest = __objRest;
835
+ exports.__spreadProps = __spreadProps;
836
+ exports.__spreadValues = __spreadValues;
837
+ exports.createFiberVisitor = createFiberVisitor;
838
+ exports.detectReactBuildType = detectReactBuildType;
839
+ exports.didFiberCommit = didFiberCommit;
840
+ exports.didFiberRender = didFiberRender;
841
+ exports.fiberIdMap = fiberIdMap;
842
+ exports.getDisplayName = getDisplayName;
843
+ exports.getFiberFromHostInstance = getFiberFromHostInstance;
844
+ exports.getFiberId = getFiberId;
845
+ exports.getFiberStack = getFiberStack;
846
+ exports.getMutatedHostFibers = getMutatedHostFibers;
847
+ exports.getNearestHostFiber = getNearestHostFiber;
848
+ exports.getNearestHostFibers = getNearestHostFibers;
849
+ exports.getRDTHook = getRDTHook;
850
+ exports.getTimings = getTimings;
851
+ exports.getType = getType;
852
+ exports.hasMemoCache = hasMemoCache;
853
+ exports.hasRDTHook = hasRDTHook;
854
+ exports.installRDTHook = installRDTHook;
855
+ exports.instrument = instrument;
856
+ exports.isClientEnvironment = isClientEnvironment;
857
+ exports.isCompositeFiber = isCompositeFiber;
858
+ exports.isHostFiber = isHostFiber;
859
+ exports.isInstrumentationActive = isInstrumentationActive;
860
+ exports.isReactRefresh = isReactRefresh;
861
+ exports.isRealReactDevtools = isRealReactDevtools;
862
+ exports.isValidElement = isValidElement;
863
+ exports.isValidFiber = isValidFiber;
864
+ exports.mountFiberRecursively = mountFiberRecursively;
865
+ exports.onCommitFiberRoot = onCommitFiberRoot;
866
+ exports.patchRDTHook = patchRDTHook;
867
+ exports.secure = secure;
868
+ exports.setFiberId = setFiberId;
869
+ exports.shouldFilterFiber = shouldFilterFiber;
870
+ exports.traverseContexts = traverseContexts;
871
+ exports.traverseFiber = traverseFiber;
872
+ exports.traverseProps = traverseProps;
873
+ exports.traverseRenderedFibers = traverseRenderedFibers;
874
+ exports.traverseState = traverseState;
875
+ exports.unmountFiber = unmountFiber;
876
+ exports.unmountFiberChildrenRecursively = unmountFiberChildrenRecursively;
877
+ exports.updateFiberRecursively = updateFiberRecursively;
878
+ exports.version = version;