bippy 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -11
- package/dist/index.d.mts +6 -5
- package/dist/index.d.ts +6 -5
- package/dist/index.global.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/rsc-shim.global.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,26 +1,74 @@
|
|
|
1
1
|
# <img src="https://github.com/aidenybai/bippy/blob/main/.github/assets/bippy.png?raw=true" width="60" align="center" /> bippy
|
|
2
2
|
|
|
3
|
-
a
|
|
3
|
+
a hacky way to get fibers from react. used internally for [`react-scan`](https://github.com/aidenybai/react-scan).
|
|
4
|
+
|
|
5
|
+
bippy works by setting a "fake" version of the `__REACT_DEVTOOLS_GLOBAL_HOOK__` object. this gives us access to react internals without actually using react devtools.
|
|
4
6
|
|
|
5
7
|
> [!WARNING]
|
|
6
|
-
> this project
|
|
8
|
+
> this project uses react internals, which can change at any time. **this is not recommended for usage and may break production apps** - unless you acknowledge this risk and know exactly you're doing.
|
|
7
9
|
|
|
8
10
|
## example
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
here i wrote a `getRenderInfo` function, where you're able to pass any component identifier and get back the number of times it rendered, as well as the total and self time. this is done by traversing the fiber tree during a [commit](https://react.dev/learn/render-and-commit) via `onCommitFiberRoot`.
|
|
13
|
+
|
|
14
|
+
inspect it live [here](https://bippy.million.dev/).
|
|
11
15
|
|
|
12
16
|
```jsx
|
|
13
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
instrument,
|
|
19
|
+
createRenderVisitor,
|
|
20
|
+
getTimings,
|
|
21
|
+
getDisplayName,
|
|
22
|
+
} from 'bippy'; // must be imported BEFORE react
|
|
23
|
+
import React, { useState } from 'react';
|
|
24
|
+
import ReactDOM from 'react-dom/client';
|
|
25
|
+
|
|
26
|
+
const componentRenderMap = new WeakMap();
|
|
27
|
+
|
|
28
|
+
const visitor = createRenderVisitor({
|
|
29
|
+
onRender(fiber) {
|
|
30
|
+
const componentType = fiber.elementType;
|
|
31
|
+
if (
|
|
32
|
+
typeof componentType !== 'function' &&
|
|
33
|
+
(typeof componentType !== 'object' || !componentType)
|
|
34
|
+
) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const render = componentRenderMap.get(componentType) || {
|
|
38
|
+
count: 0,
|
|
39
|
+
selfTime: 0,
|
|
40
|
+
totalTime: 0,
|
|
41
|
+
displayName: getDisplayName(componentType),
|
|
42
|
+
};
|
|
43
|
+
render.count++;
|
|
44
|
+
const { selfTime, totalTime } = getTimings(fiber);
|
|
45
|
+
render.selfTime += selfTime;
|
|
46
|
+
render.totalTime += totalTime;
|
|
47
|
+
componentRenderMap.set(componentType, render);
|
|
48
|
+
},
|
|
49
|
+
});
|
|
14
50
|
|
|
15
51
|
instrument({
|
|
16
|
-
onCommitFiberRoot:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (!displayName) return;
|
|
20
|
-
console.log(`${displayName} rendered`, fiber);
|
|
21
|
-
},
|
|
22
|
-
}),
|
|
52
|
+
onCommitFiberRoot: (rendererID, fiberRoot) => {
|
|
53
|
+
visitor(rendererID, fiberRoot);
|
|
54
|
+
},
|
|
23
55
|
});
|
|
56
|
+
|
|
57
|
+
export const getRenderInfo = (componentType) => {
|
|
58
|
+
return componentRenderMap.get(componentType);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
function App() {
|
|
62
|
+
const [count, setCount] = useState(0);
|
|
63
|
+
const renderInfo = getRenderInfo(App);
|
|
64
|
+
return (
|
|
65
|
+
<button onClick={() => setCount(count + 1)}>
|
|
66
|
+
rendered: {JSON.stringify(renderInfo, null, 2)}
|
|
67
|
+
</button>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
ReactDOM.createRoot(document.getElementById('root')).render(<App />);
|
|
24
72
|
```
|
|
25
73
|
|
|
26
74
|
## misc
|
package/dist/index.d.mts
CHANGED
|
@@ -20,6 +20,8 @@ declare const HostRoot = 3;
|
|
|
20
20
|
declare const CONCURRENT_MODE_NUMBER = 60111;
|
|
21
21
|
declare const CONCURRENT_MODE_SYMBOL_STRING = "Symbol(react.concurrent_mode)";
|
|
22
22
|
declare const DEPRECATED_ASYNC_MODE_SYMBOL_STRING = "Symbol(react.async_mode)";
|
|
23
|
+
declare const isHostComponent: (fiber: Fiber) => boolean;
|
|
24
|
+
declare const isCompositeComponent: (fiber: Fiber) => boolean;
|
|
23
25
|
declare const traverseContexts: (fiber: Fiber, selector: (prevValue: {
|
|
24
26
|
context: React.Context<unknown>;
|
|
25
27
|
memoizedValue: unknown;
|
|
@@ -32,8 +34,7 @@ declare const traverseState: (fiber: Fiber, selector: (prevValue: {
|
|
|
32
34
|
}, nextValue: {
|
|
33
35
|
memoizedState: unknown;
|
|
34
36
|
}) => boolean | void) => boolean;
|
|
35
|
-
declare const
|
|
36
|
-
declare const isCompositeComponent: (fiber: Fiber) => boolean;
|
|
37
|
+
declare const traverseProps: (fiber: Fiber, selector: (prevValue: unknown, nextValue: unknown) => boolean | void) => boolean;
|
|
37
38
|
declare const didFiberRender: (fiber: Fiber) => boolean;
|
|
38
39
|
declare const shouldFilterFiber: (fiber: Fiber) => boolean;
|
|
39
40
|
declare const getNearestHostFiber: (fiber: Fiber) => Fiber | null;
|
|
@@ -42,7 +43,6 @@ declare const getTimings: (fiber?: Fiber | null | undefined) => {
|
|
|
42
43
|
selfTime: number;
|
|
43
44
|
totalTime: number;
|
|
44
45
|
};
|
|
45
|
-
declare const getFiberFromElement: (element: HTMLElement) => Fiber | null;
|
|
46
46
|
declare const hasMemoCache: (fiber: Fiber) => boolean;
|
|
47
47
|
declare const getType: (type: any) => any;
|
|
48
48
|
declare const getDisplayName: (type: any) => string | null;
|
|
@@ -58,8 +58,9 @@ declare const getRDTHook: () => {
|
|
|
58
58
|
onPostCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
59
59
|
inject: (renderer: unknown) => number;
|
|
60
60
|
};
|
|
61
|
-
declare const
|
|
61
|
+
declare const createRenderVisitor: ({ onRender, onError, }: {
|
|
62
62
|
onRender: (fiber: Fiber) => void;
|
|
63
|
+
onError?: (error: unknown) => void;
|
|
63
64
|
}) => (_rendererID: number, root: FiberRoot) => void;
|
|
64
65
|
declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostCommitFiberRoot, }: {
|
|
65
66
|
onCommitFiberRoot?: (rendererID: number, root: FiberRoot) => void;
|
|
@@ -78,4 +79,4 @@ declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostComm
|
|
|
78
79
|
inject: (renderer: unknown) => number;
|
|
79
80
|
};
|
|
80
81
|
|
|
81
|
-
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, LegacyHiddenComponent, MemoComponentTag, OffscreenComponent, PerformedWorkFlag, SimpleMemoComponentTag, didFiberRender, getDisplayName,
|
|
82
|
+
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, LegacyHiddenComponent, MemoComponentTag, OffscreenComponent, PerformedWorkFlag, SimpleMemoComponentTag, createRenderVisitor, didFiberRender, getDisplayName, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeComponent, isHostComponent, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseState };
|
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ declare const HostRoot = 3;
|
|
|
20
20
|
declare const CONCURRENT_MODE_NUMBER = 60111;
|
|
21
21
|
declare const CONCURRENT_MODE_SYMBOL_STRING = "Symbol(react.concurrent_mode)";
|
|
22
22
|
declare const DEPRECATED_ASYNC_MODE_SYMBOL_STRING = "Symbol(react.async_mode)";
|
|
23
|
+
declare const isHostComponent: (fiber: Fiber) => boolean;
|
|
24
|
+
declare const isCompositeComponent: (fiber: Fiber) => boolean;
|
|
23
25
|
declare const traverseContexts: (fiber: Fiber, selector: (prevValue: {
|
|
24
26
|
context: React.Context<unknown>;
|
|
25
27
|
memoizedValue: unknown;
|
|
@@ -32,8 +34,7 @@ declare const traverseState: (fiber: Fiber, selector: (prevValue: {
|
|
|
32
34
|
}, nextValue: {
|
|
33
35
|
memoizedState: unknown;
|
|
34
36
|
}) => boolean | void) => boolean;
|
|
35
|
-
declare const
|
|
36
|
-
declare const isCompositeComponent: (fiber: Fiber) => boolean;
|
|
37
|
+
declare const traverseProps: (fiber: Fiber, selector: (prevValue: unknown, nextValue: unknown) => boolean | void) => boolean;
|
|
37
38
|
declare const didFiberRender: (fiber: Fiber) => boolean;
|
|
38
39
|
declare const shouldFilterFiber: (fiber: Fiber) => boolean;
|
|
39
40
|
declare const getNearestHostFiber: (fiber: Fiber) => Fiber | null;
|
|
@@ -42,7 +43,6 @@ declare const getTimings: (fiber?: Fiber | null | undefined) => {
|
|
|
42
43
|
selfTime: number;
|
|
43
44
|
totalTime: number;
|
|
44
45
|
};
|
|
45
|
-
declare const getFiberFromElement: (element: HTMLElement) => Fiber | null;
|
|
46
46
|
declare const hasMemoCache: (fiber: Fiber) => boolean;
|
|
47
47
|
declare const getType: (type: any) => any;
|
|
48
48
|
declare const getDisplayName: (type: any) => string | null;
|
|
@@ -58,8 +58,9 @@ declare const getRDTHook: () => {
|
|
|
58
58
|
onPostCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
59
59
|
inject: (renderer: unknown) => number;
|
|
60
60
|
};
|
|
61
|
-
declare const
|
|
61
|
+
declare const createRenderVisitor: ({ onRender, onError, }: {
|
|
62
62
|
onRender: (fiber: Fiber) => void;
|
|
63
|
+
onError?: (error: unknown) => void;
|
|
63
64
|
}) => (_rendererID: number, root: FiberRoot) => void;
|
|
64
65
|
declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostCommitFiberRoot, }: {
|
|
65
66
|
onCommitFiberRoot?: (rendererID: number, root: FiberRoot) => void;
|
|
@@ -78,4 +79,4 @@ declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostComm
|
|
|
78
79
|
inject: (renderer: unknown) => number;
|
|
79
80
|
};
|
|
80
81
|
|
|
81
|
-
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, LegacyHiddenComponent, MemoComponentTag, OffscreenComponent, PerformedWorkFlag, SimpleMemoComponentTag, didFiberRender, getDisplayName,
|
|
82
|
+
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, LegacyHiddenComponent, MemoComponentTag, OffscreenComponent, PerformedWorkFlag, SimpleMemoComponentTag, createRenderVisitor, didFiberRender, getDisplayName, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeComponent, isHostComponent, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseState };
|
package/dist/index.global.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
var Bippy=function(e){"use strict";var t="Symbol(react.concurrent_mode)",o="Symbol(react.async_mode)",n=e=>5===e.tag||26===e.tag||27===e.tag,r=e=>{const 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!(1&~n);default:return!e.alternate||(o!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref)}},a=e=>{switch(e.tag){case 18:case 6:case 7:case 23:case 22:return!0;case 3:return!1;default:{const n="object"==typeof e.type&&null!==e.type?e.type.$$typeof:e.type;switch("symbol"==typeof n?n.toString():n){case 60111:case t:case o:return!0;default:return!1}}}},i=(e,t,o=!1)=>{if(!e)return null;if(!0===t(e))return e;let n=o?e.return:e.child;for(;n;){const e=i(n,t,o);if(e)return e;n=o?null:n.sibling}return null},s=e=>"function"==typeof e?e:"object"==typeof e&&e?s(e.type||e.render):null,l=()=>{},m=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;const t=new Map;let o=0;e??={checkDCE:l,supportsFiber:!0,supportsFlight:!0,renderers:t,onCommitFiberRoot:l,onCommitFiberUnmount:l,onPostCommitFiberRoot:l,inject(e){const n=++o;return t.set(n,e),n}};try{globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=e}catch{}return e};"undefined"!=typeof window&&m();return e.CONCURRENT_MODE_NUMBER=60111,e.CONCURRENT_MODE_SYMBOL_STRING=t,e.ClassComponentTag=1,e.ContextConsumerTag=9,e.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=o,e.DehydratedSuspenseComponent=18,e.ForwardRefTag=11,e.Fragment=7,e.FunctionComponentTag=0,e.HostComponentTag=5,e.HostHoistableTag=26,e.HostRoot=3,e.HostSingletonTag=27,e.HostText=6,e.LegacyHiddenComponent=23,e.MemoComponentTag=14,e.OffscreenComponent=22,e.PerformedWorkFlag=1,e.SimpleMemoComponentTag=15,e.createRenderVisitor=({onRender:e,onError:t})=>(o,n)=>{try{const t=n.current,o=null!==t.alternate&&Boolean(t.alternate.memoizedState?.element)&&!0!==t.alternate.memoizedState.isDehydrated,i=Boolean(t.memoizedState?.element),s=(t,o)=>{let n=t;for(;null!=n;){!a(n)&&r(n)&&e(n),null!=n.child&&s(n.child,!0),n=o?n.sibling:null}},l=(t,o)=>{if(!o)return;if(!a(t)&&r(t)&&e(t),t.child!==o.child){let e=t.child;for(;e;){const t=e.alternate;t?l(e,t):s(e,!1),e=e.sibling}}};!o&&i?s(t,!1):o&&i&&l(t,t.alternate)}catch(e){if(!t)throw e;t(e)}},e.didFiberRender=r,e.getDisplayName=e=>{if("function"!=typeof e&&("object"!=typeof e||!e))return null;const t=e.displayName||e.name||null;return t||((e=s(e))&&(e.displayName||e.name)||null)},e.getNearestHostFiber=e=>{let t=i(e,n);return t||(t=i(e,n,!0)),t},e.getRDTHook=m,e.getTimings=e=>{const t=e?.actualDuration??0;let o=t,n=e?.child??null;for(;t>0&&null!=n;)o-=n.actualDuration??0,n=n.sibling;return{selfTime:o,totalTime:t}},e.getType=s,e.hasMemoCache=e=>Boolean(e.updateQueue?.memoCache),e.instrument=({onCommitFiberRoot:e,onCommitFiberUnmount:t,onPostCommitFiberRoot:o})=>{const n=m(),r=n.onCommitFiberRoot;e&&(n.onCommitFiberRoot=(t,o)=>{r&&r(t,o),e(t,o)});const a=n.onCommitFiberUnmount;t&&(n.onCommitFiberUnmount=(e,o)=>{a&&a(e,o),t(e,o)});const i=n.onPostCommitFiberRoot;return o&&(n.onPostCommitFiberRoot=(e,t)=>{i&&i(e,t)}),n},e.isCompositeComponent=e=>0===e.tag||1===e.tag||15===e.tag||14===e.tag||11===e.tag,e.isHostComponent=n,e.shouldFilterFiber=a,e.traverseContexts=(e,t)=>{try{const o=e.dependencies,n=e.alternate?.dependencies;if(!o||!n)return!1;if("object"!=typeof o||!("firstContext"in o)||"object"!=typeof n||!("firstContext"in n))return!1;let r=o.firstContext,a=n.firstContext;for(;r&&"object"==typeof r&&"memoizedValue"in r&&a&&"object"==typeof a&&"memoizedValue"in a;){if(!0===t(r,a))return!0;r=r.next,a=a.next}}catch{}return!1},e.traverseFiber=i,e.traverseProps=(e,t)=>{try{const o=e.memoizedProps,n=e.alternate?.memoizedProps||{};for(const e in{...n,...o}){const r=n?.[e],a=o?.[e];if(!0===t(r,a))return!0}}catch{}return!1},e.traverseState=(e,t)=>{try{let o=e.memoizedState,n=e.alternate?.memoizedState;for(;o&&n;){if(!0===t(o,n))return!0;o=o.next,n=n.next}}catch{}return!1},e}({});
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e="Symbol(react.concurrent_mode)",t="Symbol(react.async_mode)",o=e=>5===e.tag||26===e.tag||27===e.tag,r=e=>{const t=e.memoizedProps,o=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0;switch(e.tag){case 1:case 0:case 9:case 11:case 14:case 15:return!(1&~r);default:return!e.alternate||(o!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref)}},n=o=>{switch(o.tag){case 18:case 6:case 7:case 23:case 22:return!0;case 3:return!1;default:{const r="object"==typeof o.type&&null!==o.type?o.type.$$typeof:o.type;switch("symbol"==typeof r?r.toString():r){case 60111:case e:case t:return!0;default:return!1}}}},s=(e,t,o=!1)=>{if(!e)return null;if(!0===t(e))return e;let r=o?e.return:e.child;for(;r;){const e=s(r,t,o);if(e)return e;r=o?null:r.sibling}return null},a=e=>"function"==typeof e?e:"object"==typeof e&&e?a(e.type||e.render):null,i=()=>{},l=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;const t=new Map;let o=0;e??={checkDCE:i,supportsFiber:!0,supportsFlight:!0,renderers:t,onCommitFiberRoot:i,onCommitFiberUnmount:i,onPostCommitFiberRoot:i,inject(e){const r=++o;return t.set(r,e),r}};try{globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=e}catch{}return e};"undefined"!=typeof window&&l();exports.CONCURRENT_MODE_NUMBER=60111,exports.CONCURRENT_MODE_SYMBOL_STRING=e,exports.ClassComponentTag=1,exports.ContextConsumerTag=9,exports.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=t,exports.DehydratedSuspenseComponent=18,exports.ForwardRefTag=11,exports.Fragment=7,exports.FunctionComponentTag=0,exports.HostComponentTag=5,exports.HostHoistableTag=26,exports.HostRoot=3,exports.HostSingletonTag=27,exports.HostText=6,exports.LegacyHiddenComponent=23,exports.MemoComponentTag=14,exports.OffscreenComponent=22,exports.PerformedWorkFlag=1,exports.SimpleMemoComponentTag=15,exports.
|
|
1
|
+
"use strict";var e="Symbol(react.concurrent_mode)",t="Symbol(react.async_mode)",o=e=>5===e.tag||26===e.tag||27===e.tag,r=e=>{const t=e.memoizedProps,o=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0;switch(e.tag){case 1:case 0:case 9:case 11:case 14:case 15:return!(1&~r);default:return!e.alternate||(o!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref)}},n=o=>{switch(o.tag){case 18:case 6:case 7:case 23:case 22:return!0;case 3:return!1;default:{const r="object"==typeof o.type&&null!==o.type?o.type.$$typeof:o.type;switch("symbol"==typeof r?r.toString():r){case 60111:case e:case t:return!0;default:return!1}}}},s=(e,t,o=!1)=>{if(!e)return null;if(!0===t(e))return e;let r=o?e.return:e.child;for(;r;){const e=s(r,t,o);if(e)return e;r=o?null:r.sibling}return null},a=e=>"function"==typeof e?e:"object"==typeof e&&e?a(e.type||e.render):null,i=()=>{},l=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;const t=new Map;let o=0;e??={checkDCE:i,supportsFiber:!0,supportsFlight:!0,renderers:t,onCommitFiberRoot:i,onCommitFiberUnmount:i,onPostCommitFiberRoot:i,inject(e){const r=++o;return t.set(r,e),r}};try{globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=e}catch{}return e};"undefined"!=typeof window&&l();exports.CONCURRENT_MODE_NUMBER=60111,exports.CONCURRENT_MODE_SYMBOL_STRING=e,exports.ClassComponentTag=1,exports.ContextConsumerTag=9,exports.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=t,exports.DehydratedSuspenseComponent=18,exports.ForwardRefTag=11,exports.Fragment=7,exports.FunctionComponentTag=0,exports.HostComponentTag=5,exports.HostHoistableTag=26,exports.HostRoot=3,exports.HostSingletonTag=27,exports.HostText=6,exports.LegacyHiddenComponent=23,exports.MemoComponentTag=14,exports.OffscreenComponent=22,exports.PerformedWorkFlag=1,exports.SimpleMemoComponentTag=15,exports.createRenderVisitor=({onRender:e,onError:t})=>(o,s)=>{try{const t=s.current,o=null!==t.alternate&&Boolean(t.alternate.memoizedState?.element)&&!0!==t.alternate.memoizedState.isDehydrated,a=Boolean(t.memoizedState?.element),i=(t,o)=>{let s=t;for(;null!=s;){!n(s)&&r(s)&&e(s),null!=s.child&&i(s.child,!0),s=o?s.sibling:null}},l=(t,o)=>{if(!o)return;if(!n(t)&&r(t)&&e(t),t.child!==o.child){let e=t.child;for(;e;){const t=e.alternate;t?l(e,t):i(e,!1),e=e.sibling}}};!o&&a?i(t,!1):o&&a&&l(t,t.alternate)}catch(e){if(!t)throw e;t(e)}},exports.didFiberRender=r,exports.getDisplayName=e=>{if("function"!=typeof e&&("object"!=typeof e||!e))return null;const t=e.displayName||e.name||null;return t||((e=a(e))&&(e.displayName||e.name)||null)},exports.getNearestHostFiber=e=>{let t=s(e,o);return t||(t=s(e,o,!0)),t},exports.getRDTHook=l,exports.getTimings=e=>{const t=e?.actualDuration??0;let o=t,r=e?.child??null;for(;t>0&&null!=r;)o-=r.actualDuration??0,r=r.sibling;return{selfTime:o,totalTime:t}},exports.getType=a,exports.hasMemoCache=e=>Boolean(e.updateQueue?.memoCache),exports.instrument=({onCommitFiberRoot:e,onCommitFiberUnmount:t,onPostCommitFiberRoot:o})=>{const r=l(),n=r.onCommitFiberRoot;e&&(r.onCommitFiberRoot=(t,o)=>{n&&n(t,o),e(t,o)});const s=r.onCommitFiberUnmount;t&&(r.onCommitFiberUnmount=(e,o)=>{s&&s(e,o),t(e,o)});const a=r.onPostCommitFiberRoot;return o&&(r.onPostCommitFiberRoot=(e,t)=>{a&&a(e,t)}),r},exports.isCompositeComponent=e=>0===e.tag||1===e.tag||15===e.tag||14===e.tag||11===e.tag,exports.isHostComponent=o,exports.shouldFilterFiber=n,exports.traverseContexts=(e,t)=>{try{const o=e.dependencies,r=e.alternate?.dependencies;if(!o||!r)return!1;if("object"!=typeof o||!("firstContext"in o)||"object"!=typeof r||!("firstContext"in r))return!1;let n=o.firstContext,s=r.firstContext;for(;n&&"object"==typeof n&&"memoizedValue"in n&&s&&"object"==typeof s&&"memoizedValue"in s;){if(!0===t(n,s))return!0;n=n.next,s=s.next}}catch{}return!1},exports.traverseFiber=s,exports.traverseProps=(e,t)=>{try{const o=e.memoizedProps,r=e.alternate?.memoizedProps||{};for(const e in{...r,...o}){const n=r?.[e],s=o?.[e];if(!0===t(n,s))return!0}}catch{}return!1},exports.traverseState=(e,t)=>{try{let o=e.memoizedState,r=e.alternate?.memoizedState;for(;o&&r;){if(!0===t(o,r))return!0;o=o.next,r=r.next}}catch{}return!1};
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=1,t=1,
|
|
1
|
+
var e=1,t=1,o=0,n=9,r=11,a=14,i=15,l=5,c=26,m=27,s=18,u=6,f=7,d=23,p=22,b=3,y=60111,h="Symbol(react.concurrent_mode)",g="Symbol(react.async_mode)",C=e=>5===e.tag||26===e.tag||27===e.tag,_=e=>0===e.tag||1===e.tag||15===e.tag||14===e.tag||11===e.tag,F=(e,t)=>{try{const o=e.dependencies,n=e.alternate?.dependencies;if(!o||!n)return!1;if("object"!=typeof o||!("firstContext"in o)||"object"!=typeof n||!("firstContext"in n))return!1;let r=o.firstContext,a=n.firstContext;for(;r&&"object"==typeof r&&"memoizedValue"in r&&a&&"object"==typeof a&&"memoizedValue"in a;){if(!0===t(r,a))return!0;r=r.next,a=a.next}}catch{}return!1},z=(e,t)=>{try{let o=e.memoizedState,n=e.alternate?.memoizedState;for(;o&&n;){if(!0===t(o,n))return!0;o=o.next,n=n.next}}catch{}return!1},S=(e,t)=>{try{const o=e.memoizedProps,n=e.alternate?.memoizedProps||{};for(const e in{...n,...o}){const r=n?.[e],a=o?.[e];if(!0===t(r,a))return!0}}catch{}return!1},R=e=>{const 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!(1&~n);default:return!e.alternate||(o!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref)}},O=e=>{switch(e.tag){case 18:case 6:case 7:case 23:case 22:return!0;case 3:return!1;default:{const t="object"==typeof e.type&&null!==e.type?e.type.$$typeof:e.type;switch("symbol"==typeof t?t.toString():t){case 60111:case h:case g:return!0;default:return!1}}}},x=e=>{let t=T(e,C);return t||(t=T(e,C,!0)),t},T=(e,t,o=!1)=>{if(!e)return null;if(!0===t(e))return e;let n=o?e.return:e.child;for(;n;){const e=T(n,t,o);if(e)return e;n=o?null:n.sibling}return null},j=e=>{const t=e?.actualDuration??0;let o=t,n=e?.child??null;for(;t>0&&null!=n;)o-=n.actualDuration??0,n=n.sibling;return{selfTime:o,totalTime:t}},P=e=>Boolean(e.updateQueue?.memoCache),w=e=>"function"==typeof e?e:"object"==typeof e&&e?w(e.type||e.render):null,D=e=>{if("function"!=typeof e&&("object"!=typeof e||!e))return null;const t=e.displayName||e.name||null;return t||((e=w(e))&&(e.displayName||e.name)||null)},E=()=>{},L=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;const t=new Map;let o=0;e??={checkDCE:E,supportsFiber:!0,supportsFlight:!0,renderers:t,onCommitFiberRoot:E,onCommitFiberUnmount:E,onPostCommitFiberRoot:E,inject(e){const n=++o;return t.set(n,e),n}};try{globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=e}catch{}return e};"undefined"!=typeof window&&L();var B=({onRender:e,onError:t})=>(o,n)=>{try{const t=n.current,o=null!==t.alternate&&Boolean(t.alternate.memoizedState?.element)&&!0!==t.alternate.memoizedState.isDehydrated,r=Boolean(t.memoizedState?.element),a=(t,o)=>{let n=t;for(;null!=n;){!O(n)&&R(n)&&e(n),null!=n.child&&a(n.child,!0),n=o?n.sibling:null}},i=(t,o)=>{if(!o)return;if(!O(t)&&R(t)&&e(t),t.child!==o.child){let e=t.child;for(;e;){const t=e.alternate;t?i(e,t):a(e,!1),e=e.sibling}}};!o&&r?a(t,!1):o&&r&&i(t,t.alternate)}catch(e){if(!t)throw e;t(e)}},A=({onCommitFiberRoot:e,onCommitFiberUnmount:t,onPostCommitFiberRoot:o})=>{const n=L(),r=n.onCommitFiberRoot;e&&(n.onCommitFiberRoot=(t,o)=>{r&&r(t,o),e(t,o)});const a=n.onCommitFiberUnmount;t&&(n.onCommitFiberUnmount=(e,o)=>{a&&a(e,o),t(e,o)});const i=n.onPostCommitFiberRoot;return o&&(n.onPostCommitFiberRoot=(e,t)=>{i&&i(e,t)}),n};export{y as CONCURRENT_MODE_NUMBER,h as CONCURRENT_MODE_SYMBOL_STRING,t as ClassComponentTag,n as ContextConsumerTag,g as DEPRECATED_ASYNC_MODE_SYMBOL_STRING,s as DehydratedSuspenseComponent,r as ForwardRefTag,f as Fragment,o as FunctionComponentTag,l as HostComponentTag,c as HostHoistableTag,b as HostRoot,m as HostSingletonTag,u as HostText,d as LegacyHiddenComponent,a as MemoComponentTag,p as OffscreenComponent,e as PerformedWorkFlag,i as SimpleMemoComponentTag,B as createRenderVisitor,R as didFiberRender,D as getDisplayName,x as getNearestHostFiber,L as getRDTHook,j as getTimings,w as getType,P as hasMemoCache,A as instrument,_ as isCompositeComponent,C as isHostComponent,O as shouldFilterFiber,F as traverseContexts,T as traverseFiber,S as traverseProps,z as traverseState};
|
package/dist/rsc-shim.global.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
var Bippy=function(){"use strict";var r,e,o=Object.getOwnPropertyNames;return(r={"src/rsc-shim.ts"(){throw new Error("This module cannot be imported from a Server Component module. It should only be used from a Client Component.")}},function(){return e||(0,r[o(r)[0]])((e={exports:{}}).exports,e),e.exports})()}();
|