kosha
Version:
⚡A modern, lightweight, fast, and powerful global state management library for modern React.js projects.
2 lines (1 loc) • 1.21 kB
JavaScript
;var y=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var b=(r,e)=>{for(var t in e)y(r,t,{get:e[t],enumerable:!0})},w=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of C(e))!U.call(r,n)&&n!==t&&y(r,n,{get:()=>e[n],enumerable:!(o=K(e,n))||o.enumerable});return r};var B=r=>w(y({},"__esModule",{value:!0}),r);var O={};b(O,{create:()=>h,resetAllStores:()=>k,storeResetFns:()=>u});module.exports=B(O);var g=require("react"),m=r=>{let e=new Set,t=null,o=()=>t,n=(a,c)=>{let l=t,s=a instanceof Function?a(t):a;t=c?s:{...t,...s},e.forEach(([T,S])=>(!S||l&&JSON.stringify(S(t))!==JSON.stringify(S(l)))&&T())},{__get:i,...f}=r(n,o);t=f,o=i!=null?i:o;let d=new Map,p=a=>{let c=()=>{var x;let s=a(o()),T=(x=d.get(a))!=null?x:s,S=JSON.stringify(T)===JSON.stringify(s)?T:s;return d.set(a,S),S},l=()=>a?c():o();return(0,g.useSyncExternalStore)(s=>{let T=[s,a];return e.add(T),()=>e.delete(T)},l,l)};return p.getState=o,p.setState=n,p};var u=new Set,h=r=>{let e=m(r),t=e.getState();return u.add(()=>e.setState(t,!0)),e},k=()=>u.forEach(r=>r());0&&(module.exports={create,resetAllStores,storeResetFns});