UNPKG

react-box-tools

Version:

Box tools react components, utils and hooks

33 lines (32 loc) 561 B
import { useSyncExternalStore as o, useCallback as n } from "react"; function f(u) { let t = u, r = /* @__PURE__ */ new Set(); const s = (e) => (r.add(e), () => r.delete(e)), a = (e) => { e(t), t = { ...t }, r.forEach((c) => { c(); }); }; function d(e) { return o( s, n(() => e(t), [e]), n(() => e(t), [e]) ); } function S() { return o( s, n(() => t, []), n(() => t, []) ); } return { set: a, selector: d, store: S, state: t }; } export { f as createState };