UNPKG

react-rv

Version:

react-rv is a lightweight and efficient state management library for React that allows you to create reactive variables and subscribe to them with minimal overhead.

2 lines 1.14 kB
"use strict";var R=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var O=(e,t)=>{for(var o in t)R(e,o,{get:t[o],enumerable:!0})},F=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of q(t))!E.call(e,n)&&n!==o&&R(e,n,{get:()=>t[n],enumerable:!(r=l(t,n))||r.enumerable});return e};var I=e=>F(R({},"__esModule",{value:!0}),e);var L={};O(L,{rv:()=>p,useRv:()=>d,useRvEffect:()=>x});module.exports=I(L);var v=(e,t)=>e===t;function p(e,t){let{eq:o=v,on:r}=t??{},n=new Set;r&&n.add(r);let f=(...s)=>{if(s.length===0)return e;let[u,T]=s,c=o;if(typeof T?.eq<"u"&&(c=T.eq===!1?v:T.eq),c(e,u))return e;let y=e;return e=u,n.forEach(a=>a(u,y)),e};return f.off=s=>void n.delete(s),f.size=()=>n.size,f.on=s=>(n.add(s),()=>{n.delete(s)}),f}p.fn=(e,t)=>p(e(),t);var m=require("use-sync-external-store/shim"),d=e=>(0,m.useSyncExternalStore)(e.on,e,e);var i=require("react");function x(e,t){let o=(0,i.useRef)(t);o.current=t,(0,i.useEffect)(()=>e.on((...r)=>o.current(...r)),[e])}0&&(module.exports={rv,useRv,useRvEffect}); //# sourceMappingURL=index.cjs.map