UNPKG

kosha

Version:

⚡A modern, lightweight, fast, and powerful global state management library for modern React.js projects.

2 lines (1 loc) 542 B
import{useSyncExternalStore as x}from"react";var m=u=>{let s=new Set,r=null,o=()=>r,p=(e,i)=>{let T=r,t=e instanceof Function?e(r):e;r=i?t:{...r,...t},s.forEach(([a,n])=>(!n||T&&JSON.stringify(n(r))!==JSON.stringify(n(T)))&&a())},{__get:S,...d}=u(p,o);r=d,o=S!=null?S:o;let c=new Map,l=e=>{let i=()=>{var y;let t=e(o()),a=(y=c.get(e))!=null?y:t,n=JSON.stringify(a)===JSON.stringify(t)?a:t;return c.set(e,n),n},T=()=>e?i():o();return x(t=>{let a=[t,e];return s.add(a),()=>s.delete(a)},T,T)};return l.getState=o,l.setState=p,l};export{m as a};