bippy 0.0.3 → 0.0.5
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 +8 -4
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- 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 -3
package/README.md
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
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
|
-
this script logs every rendered fiber in the current [commit](https://react.dev/learn/render-and-commit)
|
|
12
|
+
this script logs every rendered fiber in the current [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 { instrument, traverseFiberRoot } from 'bippy'; // must be imported BEFORE react
|
|
17
|
+
import { instrument, traverseFiberRoot, getDisplayName } from 'bippy'; // must be imported BEFORE react
|
|
14
18
|
|
|
15
19
|
instrument({
|
|
16
20
|
onCommitFiberRoot: traverseFiberRoot({
|
package/dist/index.d.mts
CHANGED
|
@@ -32,6 +32,7 @@ declare const traverseState: (fiber: Fiber, selector: (prevValue: {
|
|
|
32
32
|
}, nextValue: {
|
|
33
33
|
memoizedState: unknown;
|
|
34
34
|
}) => boolean | void) => boolean;
|
|
35
|
+
declare const traverseProps: (fiber: Fiber, selector: (prevValue: unknown, nextValue: unknown) => boolean | void) => boolean;
|
|
35
36
|
declare const isHostComponent: (fiber: Fiber) => boolean;
|
|
36
37
|
declare const isCompositeComponent: (fiber: Fiber) => boolean;
|
|
37
38
|
declare const didFiberRender: (fiber: Fiber) => boolean;
|
|
@@ -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, getFiberFromElement, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeComponent, isHostComponent, shouldFilterFiber, traverseContexts, traverseFiber, traverseFiberRoot, traverseState };
|
|
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, didFiberRender, getDisplayName, getFiberFromElement, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeComponent, isHostComponent, shouldFilterFiber, traverseContexts, traverseFiber, traverseFiberRoot, traverseProps, traverseState };
|
package/dist/index.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ declare const traverseState: (fiber: Fiber, selector: (prevValue: {
|
|
|
32
32
|
}, nextValue: {
|
|
33
33
|
memoizedState: unknown;
|
|
34
34
|
}) => boolean | void) => boolean;
|
|
35
|
+
declare const traverseProps: (fiber: Fiber, selector: (prevValue: unknown, nextValue: unknown) => boolean | void) => boolean;
|
|
35
36
|
declare const isHostComponent: (fiber: Fiber) => boolean;
|
|
36
37
|
declare const isCompositeComponent: (fiber: Fiber) => boolean;
|
|
37
38
|
declare const didFiberRender: (fiber: Fiber) => boolean;
|
|
@@ -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, getFiberFromElement, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeComponent, isHostComponent, shouldFilterFiber, traverseContexts, traverseFiber, traverseFiberRoot, traverseState };
|
|
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, didFiberRender, getDisplayName, getFiberFromElement, getNearestHostFiber, getRDTHook, getTimings, getType, hasMemoCache, instrument, isCompositeComponent, isHostComponent, shouldFilterFiber, traverseContexts, traverseFiber, traverseFiberRoot, traverseProps, traverseState };
|
package/dist/index.global.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
var Bippy=function(e){"use strict";var t="Symbol(react.concurrent_mode)",n="Symbol(react.async_mode)",o=e=>5===e.tag||26===e.tag||27===e.tag,r=e=>{const t=e.memoizedProps,n=e.alternate?.memoizedProps||{},o=e.flags??e.effectTag??0;switch(e.tag){case 1:case 0:case 9:case 11:case 14:case 15:return!(1&~o);default:return!e.alternate||(n!==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 o="object"==typeof e.type&&null!==e.type?e.type.$$typeof:e.type;switch("symbol"==typeof o?o.toString():o){case 60111:case t:case n:return!0;default:return!1}}}},i=(e,t,n=!1)=>{if(!e)return null;if(!0===t(e))return e;let o=n?e.return:e.child;for(;o;){const e=i(o,t,n);if(e)return e;o=n?null:o.sibling}return null},s=e=>"function"==typeof e?e:"object"==typeof e&&e?s(e.type||e.render):null,l=()=>{},c=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;const t=new Map;let n=0;e??={checkDCE:l,supportsFiber:!0,supportsFlight:!0,renderers:t,onCommitFiberRoot:l,onCommitFiberUnmount:l,onPostCommitFiberRoot:l,inject(e){const o=++n;return t.set(o,e),o}};try{globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=e}catch{}return e};"undefined"!=typeof window&&c();return e.CONCURRENT_MODE_NUMBER=60111,e.CONCURRENT_MODE_SYMBOL_STRING=t,e.ClassComponentTag=1,e.ContextConsumerTag=9,e.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=n,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.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.getFiberFromElement=e=>{const{renderers:t}=c();if(!t)return null;for(const[n,o]of Array.from(t))try{const t=o.findFiberByHostInstance(e);if(t)return t}catch(e){}if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(const t in e)if(t.startsWith("__reactInternalInstance$")||t.startsWith("__reactFiber"))return e[t];return null},e.getNearestHostFiber=e=>{let t=i(e,o);return t||(t=i(e,o,!0)),t},e.getRDTHook=c,e.getTimings=e=>{const t=e?.actualDuration??0;let n=t,o=e?.child??null;for(;t>0&&null!=o;)n-=o.actualDuration??0,o=o.sibling;return{selfTime:n,totalTime:t}},e.getType=s,e.hasMemoCache=e=>Boolean(e.updateQueue?.memoCache),e.instrument=({onCommitFiberRoot:e,onCommitFiberUnmount:t,onPostCommitFiberRoot:n})=>{const o=c(),r=o.onCommitFiberRoot;e&&(o.onCommitFiberRoot=(t,n)=>{r&&r(t,n),e(t,n)});const a=o.onCommitFiberUnmount;t&&(o.onCommitFiberUnmount=(e,n)=>{a&&a(e,n),t(e,n)});const i=o.onPostCommitFiberRoot;return n&&(o.onPostCommitFiberRoot=(e,t)=>{i&&i(e,t)}),o},e.isCompositeComponent=e=>0===e.tag||1===e.tag||15===e.tag||14===e.tag||11===e.tag,e.isHostComponent=o,e.shouldFilterFiber=a,e.traverseContexts=(e,t)=>{try{const n=e.dependencies,o=e.alternate?.dependencies;if(!n||!o)return!1;if("object"!=typeof n||!("firstContext"in n)||"object"!=typeof o||!("firstContext"in o))return!1;let r=n.firstContext,a=o.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.traverseFiberRoot=({onRender:e})=>(t,n)=>{const o=n.current,i=null!==o.alternate&&Boolean(o.alternate.memoizedState?.element)&&!0!==o.alternate.memoizedState.isDehydrated,s=Boolean(o.memoizedState?.element),l=(t,n)=>{let o=t;for(;null!=o;){!a(o)&&r(o)&&e(o),null!=o.child&&l(o.child,!0),o=n?o.sibling:null}},c=(t,n)=>{if(!n)return;if(!a(t)&&r(t)&&e(t),t.child!==n.child){let e=t.child;for(;e;){const t=e.alternate;t?c(e,t):l(e,!1),e=e.sibling}}};!i&&s?l(o,!1):i&&s&&c(o,o.alternate)},e.traverseProps=(e,t)=>{try{const n=e.memoizedProps,o=e.alternate?.memoizedProps||{};for(const e in{...o,...n}){const r=o?.[e],a=n?.[e];if(!0===t(r,a))return!0}}catch{}return!1},e.traverseState=(e,t)=>{try{let n=e.memoizedState,o=e.alternate?.memoizedState;for(;n&&o;){if(!0===t(n,o))return!0;n=n.next,o=o.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.didFiberRender=r,exports.getDisplayName=e=>{const t=e.displayName||e.name||null;return t||((e=a(e))&&(e.displayName||e.name)||null)},exports.getFiberFromElement=e=>{const{renderers:t}=l();if(!t)return null;for(const[o,r]of Array.from(t))try{const t=r.findFiberByHostInstance(e);if(t)return t}catch(e){}if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(const t in e)if(t.startsWith("__reactInternalInstance$")||t.startsWith("__reactFiber"))return e[t];return 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)=>{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}return!1},exports.traverseFiber=s,exports.traverseFiberRoot=({onRender:e})=>(t,o)=>{const s=o.current,a=null!==s.alternate&&Boolean(s.alternate.memoizedState?.element)&&!0!==s.alternate.memoizedState.isDehydrated,i=Boolean(s.memoizedState?.element),l=(t,o)=>{let s=t;for(;null!=s;){!n(s)&&r(s)&&e(s),null!=s.child&&l(s.child,!0),s=o?s.sibling:null}},m=(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?m(e,t):l(e,!1),e=e.sibling}}};!a&&i?l(s,!1):a&&i&&m(s,s.alternate)},exports.traverseState=(e,t)=>{let o=e.memoizedState,r=e.alternate?.memoizedState;for(;o&&r;){if(!0===t(o,r))return!0;o=o.next,r=r.next}return!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.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.getFiberFromElement=e=>{const{renderers:t}=l();if(!t)return null;for(const[o,r]of Array.from(t))try{const t=r.findFiberByHostInstance(e);if(t)return t}catch(e){}if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(const t in e)if(t.startsWith("__reactInternalInstance$")||t.startsWith("__reactFiber"))return e[t];return 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.traverseFiberRoot=({onRender:e})=>(t,o)=>{const s=o.current,a=null!==s.alternate&&Boolean(s.alternate.memoizedState?.element)&&!0!==s.alternate.memoizedState.isDehydrated,i=Boolean(s.memoizedState?.element),l=(t,o)=>{let s=t;for(;null!=s;){!n(s)&&r(s)&&e(s),null!=s.child&&l(s.child,!0),s=o?s.sibling:null}},m=(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?m(e,t):l(e,!1),e=e.sibling}}};!a&&i?l(s,!1):a&&i&&m(s,s.alternate)},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
|
|
1
|
+
var t=1,e=1,n=0,o=9,r=11,i=14,a=15,l=5,c=26,s=27,u=18,m=6,f=7,d=23,p=22,b=3,y=60111,h="Symbol(react.concurrent_mode)",_="Symbol(react.async_mode)",C=(t,e)=>{try{const n=t.dependencies,o=t.alternate?.dependencies;if(!n||!o)return!1;if("object"!=typeof n||!("firstContext"in n)||"object"!=typeof o||!("firstContext"in o))return!1;let r=n.firstContext,i=o.firstContext;for(;r&&"object"==typeof r&&"memoizedValue"in r&&i&&"object"==typeof i&&"memoizedValue"in i;){if(!0===e(r,i))return!0;r=r.next,i=i.next}}catch{}return!1},g=(t,e)=>{try{let n=t.memoizedState,o=t.alternate?.memoizedState;for(;n&&o;){if(!0===e(n,o))return!0;n=n.next,o=o.next}}catch{}return!1},F=(t,e)=>{try{const n=t.memoizedProps,o=t.alternate?.memoizedProps||{};for(const t in{...o,...n}){const r=o?.[t],i=n?.[t];if(!0===e(r,i))return!0}}catch{}return!1},R=t=>5===t.tag||26===t.tag||27===t.tag,z=t=>0===t.tag||1===t.tag||15===t.tag||14===t.tag||11===t.tag,S=t=>{const e=t.memoizedProps,n=t.alternate?.memoizedProps||{},o=t.flags??t.effectTag??0;switch(t.tag){case 1:case 0:case 9:case 11:case 14:case 15:return!(1&~o);default:return!t.alternate||(n!==e||t.alternate.memoizedState!==t.memoizedState||t.alternate.ref!==t.ref)}},O=t=>{switch(t.tag){case 18:case 6:case 7:case 23:case 22:return!0;case 3:return!1;default:{const e="object"==typeof t.type&&null!==t.type?t.type.$$typeof:t.type;switch("symbol"==typeof e?e.toString():e){case 60111:case h:case _:return!0;default:return!1}}}},x=t=>{let e=T(t,R);return e||(e=T(t,R,!0)),e},T=(t,e,n=!1)=>{if(!t)return null;if(!0===e(t))return t;let o=n?t.return:t.child;for(;o;){const t=T(o,e,n);if(t)return t;o=n?null:o.sibling}return null},j=t=>{const e=t?.actualDuration??0;let n=e,o=t?.child??null;for(;e>0&&null!=o;)n-=o.actualDuration??0,o=o.sibling;return{selfTime:n,totalTime:e}},P=t=>{const{renderers:e}=A();if(!e)return null;for(const[n,o]of Array.from(e))try{const e=o.findFiberByHostInstance(t);if(e)return e}catch(t){}if("_reactRootContainer"in t)return t._reactRootContainer?._internalRoot?.current?.child;for(const e in t)if(e.startsWith("__reactInternalInstance$")||e.startsWith("__reactFiber"))return t[e];return null},w=t=>Boolean(t.updateQueue?.memoCache),B=t=>"function"==typeof t?t:"object"==typeof t&&t?B(t.type||t.render):null,D=t=>{if("function"!=typeof t&&("object"!=typeof t||!t))return null;const e=t.displayName||t.name||null;return e||((t=B(t))&&(t.displayName||t.name)||null)},L=()=>{},A=()=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;const e=new Map;let n=0;t??={checkDCE:L,supportsFiber:!0,supportsFlight:!0,renderers:e,onCommitFiberRoot:L,onCommitFiberUnmount:L,onPostCommitFiberRoot:L,inject(t){const o=++n;return e.set(o,t),o}};try{globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=t}catch{}return t};"undefined"!=typeof window&&A();var E=({onRender:t})=>(e,n)=>{const o=n.current,r=null!==o.alternate&&Boolean(o.alternate.memoizedState?.element)&&!0!==o.alternate.memoizedState.isDehydrated,i=Boolean(o.memoizedState?.element),a=(e,n)=>{let o=e;for(;null!=o;){!O(o)&&S(o)&&t(o),null!=o.child&&a(o.child,!0),o=n?o.sibling:null}},l=(e,n)=>{if(!n)return;if(!O(e)&&S(e)&&t(e),e.child!==n.child){let t=e.child;for(;t;){const e=t.alternate;e?l(t,e):a(t,!1),t=t.sibling}}};!r&&i?a(o,!1):r&&i&&l(o,o.alternate)},U=({onCommitFiberRoot:t,onCommitFiberUnmount:e,onPostCommitFiberRoot:n})=>{const o=A(),r=o.onCommitFiberRoot;t&&(o.onCommitFiberRoot=(e,n)=>{r&&r(e,n),t(e,n)});const i=o.onCommitFiberUnmount;e&&(o.onCommitFiberUnmount=(t,n)=>{i&&i(t,n),e(t,n)});const a=o.onPostCommitFiberRoot;return n&&(o.onPostCommitFiberRoot=(t,e)=>{a&&a(t,e)}),o};export{y as CONCURRENT_MODE_NUMBER,h as CONCURRENT_MODE_SYMBOL_STRING,e as ClassComponentTag,o as ContextConsumerTag,_ as DEPRECATED_ASYNC_MODE_SYMBOL_STRING,u as DehydratedSuspenseComponent,r as ForwardRefTag,f as Fragment,n as FunctionComponentTag,l as HostComponentTag,c as HostHoistableTag,b as HostRoot,s as HostSingletonTag,m as HostText,d as LegacyHiddenComponent,i as MemoComponentTag,p as OffscreenComponent,t as PerformedWorkFlag,a as SimpleMemoComponentTag,S as didFiberRender,D as getDisplayName,P as getFiberFromElement,x as getNearestHostFiber,A as getRDTHook,j as getTimings,B as getType,w as hasMemoCache,U as instrument,z as isCompositeComponent,R as isHostComponent,O as shouldFilterFiber,C as traverseContexts,T as traverseFiber,E as traverseFiberRoot,F as traverseProps,g 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})()}();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bippy",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "a kitchen sink of utilities for working with react fiber",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -43,9 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"main": "dist/index.js",
|
|
45
45
|
"module": "dist/index.mjs",
|
|
46
|
-
"browser": "dist/auto.global.js",
|
|
47
46
|
"types": "dist/index.d.ts",
|
|
48
|
-
"bin": "bin/cli.js",
|
|
49
47
|
"files": [
|
|
50
48
|
"dist",
|
|
51
49
|
"bin",
|