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