UNPKG

react-box-tools

Version:

Box tools react components, utils and hooks

2 lines (1 loc) 477 B
"use strict";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;