{"version":3,"file":"subscribeFocus.mjs","sources":["../../../../../../package/hooks/useRequest/__utils__/subscribeFocus.ts"],"sourcesContent":["// from swr\n\nimport { isServer } from \"@vue-admin-core/utils/isServer\";\nimport { isDocumentVisible } from \"./subscribeReVisible\";\n\ntype Listener = () => void;\n\nconst listeners: Listener[] = [];\n\nfunction subscribe(listener: Listener) {\n  listeners.push(listener);\n  return function unsubscribe() {\n    const index = listeners.indexOf(listener);\n    if (index > -1) {\n      listeners.splice(index, 1);\n    }\n  };\n}\n\nconst revalidate = () => {\n  if (!isDocumentVisible() || !navigator.onLine) return;\n  for (let i = 0; i < listeners.length; i++) {\n    const listener = listeners[i];\n    listener();\n  }\n};\nif (!isServer) {\n  window.addEventListener(\"visibilitychange\", revalidate, false);\n  window.addEventListener(\"focus\", revalidate, false);\n}\n\nexport default subscribe;\n"],"names":[],"mappings":";;;AAOA,MAAM,YAAwB,EAAC,CAAA;AAE/B,SAAS,UAAU,QAAoB,EAAA;AACrC,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,IAAA,IAAI,QAAQ,CAAI,CAAA,EAAA;AACd,MAAU,SAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AAAA,KAC3B;AAAA,GACF,CAAA;AACF,CAAA;AAEA,MAAM,aAAa,MAAM;AACvB,EAAA,IAAI,CAAC,iBAAA,EAAuB,IAAA,CAAC,SAAU,CAAA,MAAA;AAAQ,IAAA,OAAA;AAC/C,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,QAAU,EAAA;AACb,EAAO,MAAA,CAAA,gBAAA,CAAiB,kBAAoB,EAAA,UAAA,EAAY,KAAK,CAAA,CAAA;AAC7D,EAAO,MAAA,CAAA,gBAAA,CAAiB,OAAS,EAAA,UAAA,EAAY,KAAK,CAAA,CAAA;AACpD;;;;"}