UNPKG

hydrogen-sanity

Version:
35 lines (32 loc) 841 B
import { useSyncExternalStore } from 'react'; const listeners = /* @__PURE__ */ new Set(); const activeQueries = /* @__PURE__ */ new Set(); function registerQuery(id) { activeQueries.add(id); for (const listener of listeners) { listener(); } return function unregisterQuery() { activeQueries.delete(id); for (const listener of listeners) { listener(); } }; } function subscribe(onStoreChange) { listeners.add(onStoreChange); return function unsubscribe() { listeners.delete(onStoreChange); }; } function getSnapshot() { return activeQueries.size > 0; } function getServerSnapshot() { return false; } function useHasActiveLoaders() { return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); } export { registerQuery, useHasActiveLoaders }; //# sourceMappingURL=registry.js.map