UNPKG

vue-admin-core

Version:
1 lines 1.59 kB
{"version":3,"file":"subscribeReVisible.mjs","sources":["../../../../../../package/hooks/useRequest/__utils__/subscribeReVisible.ts"],"sourcesContent":["import { isServer } from \"@vue-admin-core/utils/isServer\";\ntype Listener = () => void;\n\nexport function isDocumentVisible(): boolean {\n return document.visibilityState !== \"hidden\";\n}\n\nconst listeners: Listener[] = [];\n\nfunction subscribeReVisible(listener: Listener) {\n listeners.push(listener);\n return function unsubscribe() {\n const index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n}\n\nconst revalidate = () => {\n if (!isDocumentVisible()) return;\n for (let i = 0; i < listeners.length; i++) {\n const listener = listeners[i];\n listener();\n }\n};\nif (!isServer) window.addEventListener(\"visibilitychange\", revalidate, false);\n\nexport default subscribeReVisible;\n"],"names":[],"mappings":";;AAGO,SAAS,iBAA6B,GAAA;AAC3C,EAAA,OAAO,SAAS,eAAoB,KAAA,QAAA,CAAA;AACtC,CAAA;AAEA,MAAM,YAAwB,EAAC,CAAA;AAE/B,SAAS,mBAAmB,QAAoB,EAAA;AAC9C,EAAA,SAAA,CAAU,KAAK,QAAQ,CAAA,CAAA;AACvB,EAAA,OAAO,SAAS,WAAc,GAAA;AAC5B,IAAM,MAAA,KAAA,GAAQ,SAAU,CAAA,OAAA,CAAQ,QAAQ,CAAA,CAAA;AACxC,IAAU,SAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AAAA,GAC3B,CAAA;AACF,CAAA;AAEA,MAAM,aAAa,MAAM;AACvB,EAAA,IAAI,CAAC,iBAAkB,EAAA;AAAG,IAAA,OAAA;AAC1B,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,SAAA,CAAU,QAAQ,CAAK,EAAA,EAAA;AACzC,IAAM,MAAA,QAAA,GAAW,UAAU,CAAC,CAAA,CAAA;AAC5B,IAAS,QAAA,EAAA,CAAA;AAAA,GACX;AACF,CAAA,CAAA;AACA,IAAI,CAAC,QAAA;AAAU,EAAO,MAAA,CAAA,gBAAA,CAAiB,kBAAoB,EAAA,UAAA,EAAY,KAAK,CAAA;;;;"}