react-box-tools
Version:
Box tools react components, utils and hooks
2 lines (1 loc) • 477 B
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react");function S(a){let t=a,r=new Set;const c=e=>(r.add(e),()=>r.delete(e)),u=e=>{e(t),t={...t},r.forEach(s=>{s()})};function o(e){return n.useSyncExternalStore(c,n.useCallback(()=>e(t),[e]),n.useCallback(()=>e(t),[e]))}function l(){return n.useSyncExternalStore(c,n.useCallback(()=>t,[]),n.useCallback(()=>t,[]))}return{set:u,selector:o,store:l,state:t}}exports.createState=S;
;