bippy 0.0.18 → 0.0.20
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/dist/index.cjs +32 -17
- package/dist/index.d.cts +11 -8
- package/dist/index.d.ts +11 -8
- package/dist/index.global.js +1 -1
- package/dist/index.js +32 -18
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -42,7 +42,10 @@ var Ref = 512;
|
|
|
42
42
|
var Snapshot = 1024;
|
|
43
43
|
var Visibility = 8192;
|
|
44
44
|
var MutationMask = Placement | Update | ChildDeletion | ContentReset | Hydrating | Visibility | Snapshot;
|
|
45
|
-
var isValidElement = (element) => typeof element === "object" && element != null && "$$typeof" in element &&
|
|
45
|
+
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')
|
|
46
|
+
["react.element", "react.transitional.element"].includes(
|
|
47
|
+
String(element.$$typeof)
|
|
48
|
+
);
|
|
46
49
|
var isHostFiber = (fiber) => fiber.tag === HostComponentTag || // @ts-expect-error: it exists
|
|
47
50
|
fiber.tag === HostHoistableTag || // @ts-expect-error: it exists
|
|
48
51
|
fiber.tag === HostSingletonTag;
|
|
@@ -118,21 +121,16 @@ var didFiberCommit = (fiber) => {
|
|
|
118
121
|
};
|
|
119
122
|
var getMutatedHostFibers = (fiber) => {
|
|
120
123
|
const mutations = [];
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
const stack = [fiber];
|
|
125
|
+
while (stack.length) {
|
|
126
|
+
const node = stack.pop();
|
|
127
|
+
if (!node) continue;
|
|
125
128
|
if (isHostFiber(node) && didFiberCommit(node) && didFiberRender(node)) {
|
|
126
129
|
mutations.push(node);
|
|
127
130
|
}
|
|
128
|
-
if (node.child)
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
if (node.sibling) {
|
|
132
|
-
traverse(node.sibling);
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
traverse(fiber);
|
|
131
|
+
if (node.child) stack.push(node.child);
|
|
132
|
+
if (node.sibling) stack.push(node.sibling);
|
|
133
|
+
}
|
|
136
134
|
return mutations;
|
|
137
135
|
};
|
|
138
136
|
var getFiberStack = (fiber) => {
|
|
@@ -224,8 +222,10 @@ var getDisplayName = (type) => {
|
|
|
224
222
|
};
|
|
225
223
|
var NO_OP = () => {
|
|
226
224
|
};
|
|
227
|
-
var getRDTHook = () => {
|
|
225
|
+
var getRDTHook = (onActive) => {
|
|
228
226
|
let rdtHook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
227
|
+
const isActive = rdtHook && !("_instrumentationSource" in rdtHook);
|
|
228
|
+
if (isActive) onActive?.();
|
|
229
229
|
const renderers = /* @__PURE__ */ new Map();
|
|
230
230
|
let i = 0;
|
|
231
231
|
rdtHook ??= {
|
|
@@ -239,17 +239,30 @@ var getRDTHook = () => {
|
|
|
239
239
|
inject(renderer) {
|
|
240
240
|
const nextID = ++i;
|
|
241
241
|
renderers.set(nextID, renderer);
|
|
242
|
+
if (!rdtHook._instrumentationIsActive) {
|
|
243
|
+
rdtHook._instrumentationIsActive = true;
|
|
244
|
+
onActive?.();
|
|
245
|
+
}
|
|
242
246
|
return nextID;
|
|
243
247
|
},
|
|
244
|
-
_instrumentationSource: "bippy"
|
|
248
|
+
_instrumentationSource: "bippy",
|
|
249
|
+
_instrumentationIsActive: isActive
|
|
245
250
|
};
|
|
246
251
|
try {
|
|
247
|
-
globalThis
|
|
252
|
+
Object.defineProperty(globalThis, "__REACT_DEVTOOLS_GLOBAL_HOOK__", {
|
|
253
|
+
configurable: true,
|
|
254
|
+
value: rdtHook
|
|
255
|
+
});
|
|
248
256
|
} catch {
|
|
249
257
|
}
|
|
250
258
|
return rdtHook;
|
|
251
259
|
};
|
|
260
|
+
var isInstrumentationActive = (onActive) => {
|
|
261
|
+
const rdtHook = getRDTHook(onActive);
|
|
262
|
+
return Boolean(rdtHook._instrumentationIsActive);
|
|
263
|
+
};
|
|
252
264
|
if (typeof window !== "undefined") {
|
|
265
|
+
performance.now();
|
|
253
266
|
getRDTHook();
|
|
254
267
|
}
|
|
255
268
|
var mountFiberRecursively = (onRender, firstChild, traverseSiblings) => {
|
|
@@ -402,9 +415,10 @@ var instrument = ({
|
|
|
402
415
|
onCommitFiberRoot,
|
|
403
416
|
onCommitFiberUnmount,
|
|
404
417
|
onPostCommitFiberRoot,
|
|
418
|
+
onActive,
|
|
405
419
|
name
|
|
406
420
|
}) => {
|
|
407
|
-
const devtoolsHook = getRDTHook();
|
|
421
|
+
const devtoolsHook = getRDTHook(onActive);
|
|
408
422
|
devtoolsHook._instrumentationSource = name ?? "bippy";
|
|
409
423
|
const prevOnCommitFiberRoot = devtoolsHook.onCommitFiberRoot;
|
|
410
424
|
if (onCommitFiberRoot) {
|
|
@@ -478,6 +492,7 @@ exports.hasMemoCache = hasMemoCache;
|
|
|
478
492
|
exports.instrument = instrument;
|
|
479
493
|
exports.isCompositeFiber = isCompositeFiber;
|
|
480
494
|
exports.isHostFiber = isHostFiber;
|
|
495
|
+
exports.isInstrumentationActive = isInstrumentationActive;
|
|
481
496
|
exports.isValidElement = isValidElement;
|
|
482
497
|
exports.mountFiberRecursively = mountFiberRecursively;
|
|
483
498
|
exports.shouldFilterFiber = shouldFilterFiber;
|
package/dist/index.d.cts
CHANGED
|
@@ -11,6 +11,7 @@ interface ReactDevToolsGlobalHook {
|
|
|
11
11
|
onPostCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
12
12
|
inject: (renderer: unknown) => number;
|
|
13
13
|
_instrumentationSource?: string;
|
|
14
|
+
_instrumentationIsActive?: boolean;
|
|
14
15
|
}
|
|
15
16
|
declare const ClassComponentTag = 1;
|
|
16
17
|
declare const FunctionComponentTag = 0;
|
|
@@ -74,21 +75,23 @@ declare const getTimings: (fiber?: Fiber | null | undefined) => {
|
|
|
74
75
|
declare const hasMemoCache: (fiber: Fiber) => boolean;
|
|
75
76
|
declare const getType: (type: any) => any;
|
|
76
77
|
declare const getDisplayName: (type: any) => string | null;
|
|
77
|
-
declare const getRDTHook: () => ReactDevToolsGlobalHook;
|
|
78
|
-
|
|
78
|
+
declare const getRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
79
|
+
declare const isInstrumentationActive: (onActive?: () => unknown) => boolean;
|
|
80
|
+
type RenderHandler = <S>(fiber: Fiber, phase: 'mount' | 'update' | 'unmount', state?: S) => unknown;
|
|
79
81
|
declare const mountFiberRecursively: (onRender: RenderHandler, firstChild: Fiber, traverseSiblings: boolean) => void;
|
|
80
82
|
declare const updateFiberRecursively: (onRender: RenderHandler, nextFiber: Fiber, prevFiber: Fiber, parentFiber: Fiber | null) => void;
|
|
81
83
|
declare const unmountFiber: (onRender: RenderHandler, fiber: Fiber) => void;
|
|
82
84
|
declare const unmountFiberChildrenRecursively: (onRender: RenderHandler, fiber: Fiber) => void;
|
|
83
85
|
declare const createFiberVisitor: ({ onRender: onRenderWithoutState, onError, }: {
|
|
84
86
|
onRender: RenderHandler;
|
|
85
|
-
onError?: (error: unknown) =>
|
|
87
|
+
onError?: (error: unknown) => unknown;
|
|
86
88
|
}) => <S>(_rendererID: number, root: FiberRoot, state?: S) => void;
|
|
87
|
-
declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostCommitFiberRoot, name, }: {
|
|
88
|
-
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: void | number) =>
|
|
89
|
-
onCommitFiberUnmount?: (rendererID: number, root: FiberRoot) =>
|
|
90
|
-
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) =>
|
|
89
|
+
declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostCommitFiberRoot, onActive, name, }: {
|
|
90
|
+
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: void | number) => unknown;
|
|
91
|
+
onCommitFiberUnmount?: (rendererID: number, root: FiberRoot) => unknown;
|
|
92
|
+
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) => unknown;
|
|
93
|
+
onActive?: () => unknown;
|
|
91
94
|
name?: string;
|
|
92
95
|
}) => ReactDevToolsGlobalHook;
|
|
93
96
|
|
|
94
|
-
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ChildDeletion, ClassComponentTag, Cloned, ContentReset, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, DidCapture, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, Hydrating, LegacyHiddenComponent, MemoComponentTag, MutationMask, OffscreenComponent, OffscreenComponentTag, PerformedWork, Placement, type ReactDevToolsGlobalHook, Ref, SimpleMemoComponentTag, Snapshot, SuspenseComponentTag, Update, Visibility, createFiberVisitor, didFiberCommit, didFiberRender, getDisplayName, getFiberStack, getMutatedHostFibers, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeFiber, isHostFiber, isValidElement, mountFiberRecursively, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively };
|
|
97
|
+
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ChildDeletion, ClassComponentTag, Cloned, ContentReset, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, DidCapture, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, Hydrating, LegacyHiddenComponent, MemoComponentTag, MutationMask, OffscreenComponent, OffscreenComponentTag, PerformedWork, Placement, type ReactDevToolsGlobalHook, Ref, SimpleMemoComponentTag, Snapshot, SuspenseComponentTag, Update, Visibility, createFiberVisitor, didFiberCommit, didFiberRender, getDisplayName, getFiberStack, getMutatedHostFibers, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeFiber, isHostFiber, isInstrumentationActive, isValidElement, mountFiberRecursively, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively };
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ interface ReactDevToolsGlobalHook {
|
|
|
11
11
|
onPostCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
12
12
|
inject: (renderer: unknown) => number;
|
|
13
13
|
_instrumentationSource?: string;
|
|
14
|
+
_instrumentationIsActive?: boolean;
|
|
14
15
|
}
|
|
15
16
|
declare const ClassComponentTag = 1;
|
|
16
17
|
declare const FunctionComponentTag = 0;
|
|
@@ -74,21 +75,23 @@ declare const getTimings: (fiber?: Fiber | null | undefined) => {
|
|
|
74
75
|
declare const hasMemoCache: (fiber: Fiber) => boolean;
|
|
75
76
|
declare const getType: (type: any) => any;
|
|
76
77
|
declare const getDisplayName: (type: any) => string | null;
|
|
77
|
-
declare const getRDTHook: () => ReactDevToolsGlobalHook;
|
|
78
|
-
|
|
78
|
+
declare const getRDTHook: (onActive?: () => unknown) => ReactDevToolsGlobalHook;
|
|
79
|
+
declare const isInstrumentationActive: (onActive?: () => unknown) => boolean;
|
|
80
|
+
type RenderHandler = <S>(fiber: Fiber, phase: 'mount' | 'update' | 'unmount', state?: S) => unknown;
|
|
79
81
|
declare const mountFiberRecursively: (onRender: RenderHandler, firstChild: Fiber, traverseSiblings: boolean) => void;
|
|
80
82
|
declare const updateFiberRecursively: (onRender: RenderHandler, nextFiber: Fiber, prevFiber: Fiber, parentFiber: Fiber | null) => void;
|
|
81
83
|
declare const unmountFiber: (onRender: RenderHandler, fiber: Fiber) => void;
|
|
82
84
|
declare const unmountFiberChildrenRecursively: (onRender: RenderHandler, fiber: Fiber) => void;
|
|
83
85
|
declare const createFiberVisitor: ({ onRender: onRenderWithoutState, onError, }: {
|
|
84
86
|
onRender: RenderHandler;
|
|
85
|
-
onError?: (error: unknown) =>
|
|
87
|
+
onError?: (error: unknown) => unknown;
|
|
86
88
|
}) => <S>(_rendererID: number, root: FiberRoot, state?: S) => void;
|
|
87
|
-
declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostCommitFiberRoot, name, }: {
|
|
88
|
-
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: void | number) =>
|
|
89
|
-
onCommitFiberUnmount?: (rendererID: number, root: FiberRoot) =>
|
|
90
|
-
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) =>
|
|
89
|
+
declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostCommitFiberRoot, onActive, name, }: {
|
|
90
|
+
onCommitFiberRoot?: (rendererID: number, root: FiberRoot, priority: void | number) => unknown;
|
|
91
|
+
onCommitFiberUnmount?: (rendererID: number, root: FiberRoot) => unknown;
|
|
92
|
+
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) => unknown;
|
|
93
|
+
onActive?: () => unknown;
|
|
91
94
|
name?: string;
|
|
92
95
|
}) => ReactDevToolsGlobalHook;
|
|
93
96
|
|
|
94
|
-
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ChildDeletion, ClassComponentTag, Cloned, ContentReset, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, DidCapture, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, Hydrating, LegacyHiddenComponent, MemoComponentTag, MutationMask, OffscreenComponent, OffscreenComponentTag, PerformedWork, Placement, type ReactDevToolsGlobalHook, Ref, SimpleMemoComponentTag, Snapshot, SuspenseComponentTag, Update, Visibility, createFiberVisitor, didFiberCommit, didFiberRender, getDisplayName, getFiberStack, getMutatedHostFibers, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeFiber, isHostFiber, isValidElement, mountFiberRecursively, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively };
|
|
97
|
+
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ChildDeletion, ClassComponentTag, Cloned, ContentReset, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, DidCapture, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, Hydrating, LegacyHiddenComponent, MemoComponentTag, MutationMask, OffscreenComponent, OffscreenComponentTag, PerformedWork, Placement, type ReactDevToolsGlobalHook, Ref, SimpleMemoComponentTag, Snapshot, SuspenseComponentTag, Update, Visibility, createFiberVisitor, didFiberCommit, didFiberRender, getDisplayName, getFiberStack, getMutatedHostFibers, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeFiber, isHostFiber, isInstrumentationActive, isValidElement, mountFiberRecursively, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively };
|
package/dist/index.global.js
CHANGED
|
@@ -6,4 +6,4 @@ var Bippy=(function(exports){'use strict';/**
|
|
|
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
|
-
var
|
|
9
|
+
var _=1,D=0,H=9,O=13,P=22,z=11,M=14,I=15,E=5,N=26,V=27,A=18,U=6,j=7,L=23,B=22,W=3,$=60111,R="Symbol(react.concurrent_mode)",k="Symbol(react.async_mode)",G=1,Y=2,K=128,Q=4096,q=4,J=8,X=16,Z=32,ee=512,te=1024,ne=8192,oe=13366,re=e=>typeof e=="object"&&e!=null&&"$$typeof"in e&&["react.element","react.transitional.element"].includes(String(e.$$typeof)),d=e=>e.tag===5||e.tag===26||e.tag===27,ie=e=>e.tag===0||e.tag===1||e.tag===15||e.tag===14||e.tag===11,le=(e,t)=>{try{let o=e.dependencies,n=e.alternate?.dependencies;if(!o||!n||typeof o!="object"||!("firstContext"in o)||typeof n!="object"||!("firstContext"in n))return !1;let s=o.firstContext,r=n.firstContext;for(;s&&typeof s=="object"&&"memoizedValue"in s&&r&&typeof r=="object"&&"memoizedValue"in r;){if(t(s,r)===!0)return !0;s=s.next,r=r.next;}}catch{}return !1},se=(e,t)=>{try{let o=e.memoizedState,n=e.alternate?.memoizedState;for(;o&&n;){if(t(o,n)===!0)return !0;o=o.next,n=n.next;}}catch{}return !1},ae=(e,t)=>{try{let o=e.memoizedProps,n=e.alternate?.memoizedProps||{};for(let s in {...n,...o}){let r=n?.[s],l=o?.[s];if(t(r,l)===!0)return !0}}catch{}return !1},f=e=>{let t=e.memoizedProps,o=e.alternate?.memoizedProps||{},n=e.flags??e.effectTag??0;switch(e.tag){case 1:case 0:case 9:case 11:case 14:case 15:return (n&1)===1;default:return e.alternate?o!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref:!0}},w=e=>!!(e.flags&22||e.subtreeFlags&22),ue=e=>{let t=[],o=[e];for(;o.length;){let n=o.pop();n&&(d(n)&&w(n)&&f(n)&&t.push(n),n.child&&o.push(n.child),n.sibling&&o.push(n.sibling));}return t},ce=e=>{let t=[];for(;e.return;)t.push(e),e=e.return;let o=new Array(t.length);for(let n=0;n<t.length;n++)o[n]=t[t.length-n-1];return o},g=e=>{switch(e.tag){case 18:return !0;case 6:case 7:case 23:case 22:return !0;case 3:return !1;default:{let t=typeof e.type=="object"&&e.type!==null?e.type.$$typeof:e.type;switch(typeof t=="symbol"?t.toString():t){case 60111:case R:case k:return !0;default:return !1}}}},me=e=>{let t=b(e,d);return t||(t=b(e,d,!0)),t},b=(e,t,o=!1)=>{if(!e)return null;if(t(e)===!0)return e;let n=o?e.return:e.child;for(;n;){let s=b(n,t,o);if(s)return s;n=o?null:n.sibling;}return null},pe=e=>{let t=e?.actualDuration??0,o=t,n=e?.child??null;for(;t>0&&n!=null;)o-=n.actualDuration??0,n=n.sibling;return {selfTime:o,totalTime:t}},de=e=>!!e.updateQueue?.memoCache,S=e=>typeof e=="function"?e:typeof e=="object"&&e?S(e.type||e.render):null,be=e=>{if(typeof e!="function"&&!(typeof e=="object"&&e))return null;let t=e.displayName||e.name||null;return t||(e=S(e),e&&(e.displayName||e.name)||null)},p=()=>{},h=e=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__,o=t&&!("_instrumentationSource"in t);o&&e?.();let n=new Map,s=0;t??={checkDCE:p,supportsFiber:!0,supportsFlight:!0,renderers:n,onCommitFiberRoot:p,onCommitFiberUnmount:p,onPostCommitFiberRoot:p,inject(r){let l=++s;return n.set(l,r),t._instrumentationIsActive||(t._instrumentationIsActive=!0,e?.()),l},_instrumentationSource:"bippy",_instrumentationIsActive:o};try{Object.defineProperty(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!0,value:t});}catch{}return t},Ce=e=>!!h(e)._instrumentationIsActive;typeof window<"u"&&(performance.now(),h());var m=(e,t,o)=>{let n=t;for(;n!=null;){if(!g(n)&&f(n)&&e(n,"mount"),n.tag===13)if(n.memoizedState!==null){let l=n.child,u=l?l.sibling:null;if(u){let i=u.child;i!==null&&m(e,i,!1);}}else {let l=null;n.child!==null&&(l=n.child.child),l!==null&&m(e,l,!1);}else n.child!=null&&m(e,n.child,!0);n=o?n.sibling:null;}},C=(e,t,o,n)=>{if(!o)return;let s=t.tag===13,r=!g(t);r&&f(t)&&e(t,"update");let l=s&&o.memoizedState!==null,u=s&&t.memoizedState!==null;if(l&&u){let i=t.child?.sibling??null,a=o.child?.sibling??null;i!==null&&a!==null&&C(e,i,a);}else if(l&&!u){let i=t.child;i!==null&&m(e,i,!0);}else if(!l&&u){T(e,o);let i=t.child?.sibling??null;i!==null&&m(e,i,!0);}else if(t.child!==o.child){let i=t.child;for(;i;){if(i.alternate){let a=i.alternate;C(e,i,a);}else m(e,i,!1);i=i.sibling;}}},y=(e,t)=>{(t.tag===3||!g(t))&&e(t,"unmount");},T=(e,t)=>{let o=t.tag===13&&t.memoizedState!==null,n=t.child;for(o&&(n=(t.child?.sibling??null)?.child??null);n!==null;)n.return!==null&&(y(e,n),T(e,n)),n=n.sibling;},v=0,x=new WeakMap,fe=({onRender:e,onError:t})=>(o,n,s)=>{let r=n.current,l=(a,c)=>e(a,c,s),u=x.get(n);u||(u={prevFiber:null,id:v++},x.set(n,u));let{prevFiber:i}=u;try{if(i!==null){let a=i&&i.memoizedState!=null&&i.memoizedState.element!=null&&i.memoizedState.isDehydrated!==!0,c=r.memoizedState!=null&&r.memoizedState.element!=null&&r.memoizedState.isDehydrated!==!0;!a&&c?m(l,r,!1):a&&c?C(l,r,r.alternate,null):a&&!c&&y(l,r);}else m(l,r,!1);}catch(a){if(t)t(a);else throw a}u.prevFiber=r;},ge=({onCommitFiberRoot:e,onCommitFiberUnmount:t,onPostCommitFiberRoot:o,onActive:n,name:s})=>{let r=h(n);r._instrumentationSource=s??"bippy";let l=r.onCommitFiberRoot;e&&(r.onCommitFiberRoot=(a,c,F)=>{l&&l(a,c,F),e(a,c,F);});let u=r.onCommitFiberUnmount;t&&(r.onCommitFiberUnmount=(a,c)=>{u&&u(a,c),t(a,c);});let i=r.onPostCommitFiberRoot;return o&&(r.onPostCommitFiberRoot=(a,c)=>{i&&i(a,c);}),r};exports.CONCURRENT_MODE_NUMBER=$;exports.CONCURRENT_MODE_SYMBOL_STRING=R;exports.ChildDeletion=X;exports.ClassComponentTag=_;exports.Cloned=J;exports.ContentReset=Z;exports.ContextConsumerTag=H;exports.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=k;exports.DehydratedSuspenseComponent=A;exports.DidCapture=K;exports.ForwardRefTag=z;exports.Fragment=j;exports.FunctionComponentTag=D;exports.HostComponentTag=E;exports.HostHoistableTag=N;exports.HostRoot=W;exports.HostSingletonTag=V;exports.HostText=U;exports.Hydrating=Q;exports.LegacyHiddenComponent=L;exports.MemoComponentTag=M;exports.MutationMask=oe;exports.OffscreenComponent=B;exports.OffscreenComponentTag=P;exports.PerformedWork=G;exports.Placement=Y;exports.Ref=ee;exports.SimpleMemoComponentTag=I;exports.Snapshot=te;exports.SuspenseComponentTag=O;exports.Update=q;exports.Visibility=ne;exports.createFiberVisitor=fe;exports.didFiberCommit=w;exports.didFiberRender=f;exports.getDisplayName=be;exports.getFiberStack=ce;exports.getMutatedHostFibers=ue;exports.getNearestHostFiber=me;exports.getRDTHook=h;exports.getTimings=pe;exports.getType=S;exports.hasMemoCache=de;exports.instrument=ge;exports.isCompositeFiber=ie;exports.isHostFiber=d;exports.isInstrumentationActive=Ce;exports.isValidElement=re;exports.mountFiberRecursively=m;exports.shouldFilterFiber=g;exports.traverseContexts=le;exports.traverseFiber=b;exports.traverseProps=ae;exports.traverseState=se;exports.unmountFiber=y;exports.unmountFiberChildrenRecursively=T;exports.updateFiberRecursively=C;return exports;})({});
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,10 @@ var Ref = 512;
|
|
|
40
40
|
var Snapshot = 1024;
|
|
41
41
|
var Visibility = 8192;
|
|
42
42
|
var MutationMask = Placement | Update | ChildDeletion | ContentReset | Hydrating | Visibility | Snapshot;
|
|
43
|
-
var isValidElement = (element) => typeof element === "object" && element != null && "$$typeof" in element &&
|
|
43
|
+
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')
|
|
44
|
+
["react.element", "react.transitional.element"].includes(
|
|
45
|
+
String(element.$$typeof)
|
|
46
|
+
);
|
|
44
47
|
var isHostFiber = (fiber) => fiber.tag === HostComponentTag || // @ts-expect-error: it exists
|
|
45
48
|
fiber.tag === HostHoistableTag || // @ts-expect-error: it exists
|
|
46
49
|
fiber.tag === HostSingletonTag;
|
|
@@ -116,21 +119,16 @@ var didFiberCommit = (fiber) => {
|
|
|
116
119
|
};
|
|
117
120
|
var getMutatedHostFibers = (fiber) => {
|
|
118
121
|
const mutations = [];
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
122
|
+
const stack = [fiber];
|
|
123
|
+
while (stack.length) {
|
|
124
|
+
const node = stack.pop();
|
|
125
|
+
if (!node) continue;
|
|
123
126
|
if (isHostFiber(node) && didFiberCommit(node) && didFiberRender(node)) {
|
|
124
127
|
mutations.push(node);
|
|
125
128
|
}
|
|
126
|
-
if (node.child)
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (node.sibling) {
|
|
130
|
-
traverse(node.sibling);
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
traverse(fiber);
|
|
129
|
+
if (node.child) stack.push(node.child);
|
|
130
|
+
if (node.sibling) stack.push(node.sibling);
|
|
131
|
+
}
|
|
134
132
|
return mutations;
|
|
135
133
|
};
|
|
136
134
|
var getFiberStack = (fiber) => {
|
|
@@ -222,8 +220,10 @@ var getDisplayName = (type) => {
|
|
|
222
220
|
};
|
|
223
221
|
var NO_OP = () => {
|
|
224
222
|
};
|
|
225
|
-
var getRDTHook = () => {
|
|
223
|
+
var getRDTHook = (onActive) => {
|
|
226
224
|
let rdtHook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
225
|
+
const isActive = rdtHook && !("_instrumentationSource" in rdtHook);
|
|
226
|
+
if (isActive) onActive?.();
|
|
227
227
|
const renderers = /* @__PURE__ */ new Map();
|
|
228
228
|
let i = 0;
|
|
229
229
|
rdtHook ??= {
|
|
@@ -237,17 +237,30 @@ var getRDTHook = () => {
|
|
|
237
237
|
inject(renderer) {
|
|
238
238
|
const nextID = ++i;
|
|
239
239
|
renderers.set(nextID, renderer);
|
|
240
|
+
if (!rdtHook._instrumentationIsActive) {
|
|
241
|
+
rdtHook._instrumentationIsActive = true;
|
|
242
|
+
onActive?.();
|
|
243
|
+
}
|
|
240
244
|
return nextID;
|
|
241
245
|
},
|
|
242
|
-
_instrumentationSource: "bippy"
|
|
246
|
+
_instrumentationSource: "bippy",
|
|
247
|
+
_instrumentationIsActive: isActive
|
|
243
248
|
};
|
|
244
249
|
try {
|
|
245
|
-
globalThis
|
|
250
|
+
Object.defineProperty(globalThis, "__REACT_DEVTOOLS_GLOBAL_HOOK__", {
|
|
251
|
+
configurable: true,
|
|
252
|
+
value: rdtHook
|
|
253
|
+
});
|
|
246
254
|
} catch {
|
|
247
255
|
}
|
|
248
256
|
return rdtHook;
|
|
249
257
|
};
|
|
258
|
+
var isInstrumentationActive = (onActive) => {
|
|
259
|
+
const rdtHook = getRDTHook(onActive);
|
|
260
|
+
return Boolean(rdtHook._instrumentationIsActive);
|
|
261
|
+
};
|
|
250
262
|
if (typeof window !== "undefined") {
|
|
263
|
+
performance.now();
|
|
251
264
|
getRDTHook();
|
|
252
265
|
}
|
|
253
266
|
var mountFiberRecursively = (onRender, firstChild, traverseSiblings) => {
|
|
@@ -400,9 +413,10 @@ var instrument = ({
|
|
|
400
413
|
onCommitFiberRoot,
|
|
401
414
|
onCommitFiberUnmount,
|
|
402
415
|
onPostCommitFiberRoot,
|
|
416
|
+
onActive,
|
|
403
417
|
name
|
|
404
418
|
}) => {
|
|
405
|
-
const devtoolsHook = getRDTHook();
|
|
419
|
+
const devtoolsHook = getRDTHook(onActive);
|
|
406
420
|
devtoolsHook._instrumentationSource = name ?? "bippy";
|
|
407
421
|
const prevOnCommitFiberRoot = devtoolsHook.onCommitFiberRoot;
|
|
408
422
|
if (onCommitFiberRoot) {
|
|
@@ -430,4 +444,4 @@ var instrument = ({
|
|
|
430
444
|
return devtoolsHook;
|
|
431
445
|
};
|
|
432
446
|
|
|
433
|
-
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ChildDeletion, ClassComponentTag, Cloned, ContentReset, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, DidCapture, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, Hydrating, LegacyHiddenComponent, MemoComponentTag, MutationMask, OffscreenComponent, OffscreenComponentTag, PerformedWork, Placement, Ref, SimpleMemoComponentTag, Snapshot, SuspenseComponentTag, Update, Visibility, createFiberVisitor, didFiberCommit, didFiberRender, getDisplayName, getFiberStack, getMutatedHostFibers, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeFiber, isHostFiber, isValidElement, mountFiberRecursively, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively };
|
|
447
|
+
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ChildDeletion, ClassComponentTag, Cloned, ContentReset, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, DidCapture, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, Hydrating, LegacyHiddenComponent, MemoComponentTag, MutationMask, OffscreenComponent, OffscreenComponentTag, PerformedWork, Placement, Ref, SimpleMemoComponentTag, Snapshot, SuspenseComponentTag, Update, Visibility, createFiberVisitor, didFiberCommit, didFiberRender, getDisplayName, getFiberStack, getMutatedHostFibers, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeFiber, isHostFiber, isInstrumentationActive, isValidElement, mountFiberRecursively, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively };
|