UNPKG

vue-admin-core

Version:
29 lines (26 loc) 761 B
import { isServer } from '../../../utils/isServer.mjs'; import { isDocumentVisible } from './subscribeReVisible.mjs'; const listeners = []; function subscribe(listener) { listeners.push(listener); return function unsubscribe() { const index = listeners.indexOf(listener); if (index > -1) { listeners.splice(index, 1); } }; } const revalidate = () => { if (!isDocumentVisible() || !navigator.onLine) return; for (let i = 0; i < listeners.length; i++) { const listener = listeners[i]; listener(); } }; if (!isServer) { window.addEventListener("visibilitychange", revalidate, false); window.addEventListener("focus", revalidate, false); } export { subscribe as default }; //# sourceMappingURL=subscribeFocus.mjs.map