import { createStoreContainer } from "./index.ts"; let globalContainer: ReturnType | undefined; export function browserStoreContainer(hydration: Record = {}) { if (!globalContainer) { globalContainer = createStoreContainer({ runtime: "client", hydration, onMutation(mutation) { try { globalThis.dispatchEvent?.( new CustomEvent("wrnexus:store-mutation", { detail: mutation }), ); } catch { // Minimal DOM and non-browser runtimes may not expose CustomEvent. } }, }); (globalThis as any).__wrnexusStoreContainer = globalContainer; } return globalContainer; } export async function resetBrowserStores() { await globalContainer?.dispose(); globalContainer = undefined; delete (globalThis as any).__wrnexusStoreContainer; }