{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./src/registerServiceWorker.js"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","module","exports","__esModule","refresh","invokeServiceWorkerUpdateFlow","registration","agree","confirm","waiting","postMessage","type","navigator","window","addEventListener","serviceWorker","register","newRegestration","installing","controller","location","reload"],"mappings":"mGAAA,SAASA,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQC,EAAKC,GACpE,IACE,IAAIC,EAAOP,EAAIK,GAAKC,GAChBE,EAAQD,EAAKC,MACjB,MAAOC,GAEP,YADAP,EAAOO,GAILF,EAAKG,KACPT,EAAQO,GAERG,QAAQV,QAAQO,GAAOI,KAAKT,EAAOC,GAIvC,SAASS,EAAkBC,GACzB,OAAO,WACL,IAAIC,EAAOC,KACPC,EAAOC,UACX,OAAO,IAAIP,SAAQ,SAAUV,EAASC,GACpC,IAAIF,EAAMc,EAAGK,MAAMJ,EAAME,GAEzB,SAASd,EAAMK,GACbT,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,OAAQI,GAGlE,SAASJ,EAAOgB,GACdrB,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,QAASgB,GAGnEjB,OAAMkB,O,UAKZC,EAAOC,QAAUV,EACjBS,EAAOC,QAAQ,WAAaD,EAAOC,QAASD,EAAOC,QAAQC,YAAa,G,+CCrCxE,IAAIC,GAAU,EAEd,SAASC,EAA+BC,GACtC,IAAMC,EAAQC,QAAQ,qDAClBD,GACED,EAAaG,UAEfL,GAAU,EACVE,EAAaG,QAAQC,YAAY,CAAEC,KAAM,kBAK3C,kBAAmBC,WACrBC,OAAOC,iBAAiB,OAAxB,2BAAgC,oHACHF,UAAUG,cAAcC,SAAS,qBAD9B,OACxBV,EADwB,OAI1BA,EAAaG,SACfJ,EAA8BC,GAIhCA,EAAaQ,iBAAiB,eAAe,WAC3C,IAAMG,EAAkBX,EAAaY,WACjCD,GAEFA,EAAgBH,iBAAiB,eAAe,WAC1CR,EAAaG,SAAWG,UAAUG,cAAcI,YAClDd,EAA8BC,SAOtCM,UAAUG,cAAcD,iBAAiB,oBAAoB,WACvDV,IACFS,OAAOO,SAASC,SAChBjB,GAAU,MAzBgB","file":"js/chunk-60cbf026.f1f2b06b.js","sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","let refresh = false\n\nfunction invokeServiceWorkerUpdateFlow (registration) {\n const agree = confirm('New version of the app is available. Refresh now?')\n if (agree) {\n if (registration.waiting) {\n // let waiting Service Worker know it should became active\n refresh = true\n registration.waiting.postMessage({ type: 'SKIP_WAITING' })\n }\n }\n}\n\nif ('serviceWorker' in navigator) {\n window.addEventListener('load', async () => {\n const registration = await navigator.serviceWorker.register('service-worker.js')\n // ensure the case when the updatefound event was missed is also handled\n // by re-invoking the prompt when there's a waiting Service Worker\n if (registration.waiting) {\n invokeServiceWorkerUpdateFlow(registration)\n }\n\n // detect Service Worker update available and wait for it to become installed\n registration.addEventListener('updatefound', () => {\n const newRegestration = registration.installing\n if (newRegestration) {\n // wait until the new Service worker is actually installed (ready to take over)\n newRegestration.addEventListener('statechange', () => {\n if (registration.waiting && navigator.serviceWorker.controller) {\n invokeServiceWorkerUpdateFlow(registration)\n }\n })\n }\n })\n\n // detect controller change and refresh the page\n navigator.serviceWorker.addEventListener('controllerchange', () => {\n if (refresh) {\n window.location.reload()\n refresh = false\n }\n })\n })\n}\n"],"sourceRoot":""}