UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

35 lines (34 loc) 1.21 kB
//#region src/client/online-manager.ts const kOnlineManager = Symbol.for("better-auth:online-manager"); var WindowOnlineManager = class { listeners = /* @__PURE__ */ new Set(); isOnline = typeof navigator !== "undefined" ? navigator.onLine : true; subscribe(listener) { this.listeners.add(listener); return () => { this.listeners.delete(listener); }; } setOnline(online) { this.isOnline = online; this.listeners.forEach((listener) => listener(online)); } setup() { if (typeof window === "undefined" || typeof window.addEventListener === "undefined") return () => {}; const onOnline = () => this.setOnline(true); const onOffline = () => this.setOnline(false); window.addEventListener("online", onOnline, false); window.addEventListener("offline", onOffline, false); return () => { window.removeEventListener("online", onOnline, false); window.removeEventListener("offline", onOffline, false); }; } }; function getGlobalOnlineManager() { if (!globalThis[kOnlineManager]) globalThis[kOnlineManager] = new WindowOnlineManager(); return globalThis[kOnlineManager]; } //#endregion export { getGlobalOnlineManager, kOnlineManager }; //# sourceMappingURL=online-manager.mjs.map