1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[14402],{14402:(e,t,r)=>{r.d(t,{$Y:()=>d,queueMutation:()=>i,r9:()=>s,xU:()=>l});let n="offline-mutations",o=null;function a(){return o||(o=new Promise((e,t)=>{if("undefined"==typeof indexedDB){t(Error("IndexedDB not available"));return}let r=indexedDB.open("earonman-offline",1);r.onupgradeneeded=()=>{let e=r.result;e.objectStoreNames.contains(n)||e.createObjectStore(n,{keyPath:"id"}).createIndex("createdAt","createdAt",{unique:!1})},r.onsuccess=()=>e(r.result),r.onerror=()=>{o=null,t(r.error)}}))}async function i(e,t,r,o){let i=await a(),c={id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,9)),url:e,method:t,headers:{"Content-Type":"application/json"},body:r?JSON.stringify(r):null,createdAt:Date.now(),label:o};return new Promise((e,t)=>{let r=i.transaction(n,"readwrite").objectStore(n).put(c);r.onsuccess=()=>e(c.id),r.onerror=()=>t(r.error)})}async function c(){let e=await a();return new Promise((t,r)=>{let o=e.transaction(n,"readonly").objectStore(n).index("createdAt").getAll();o.onsuccess=()=>t(o.result),o.onerror=()=>r(o.error)})}async function s(){let e=await a();return new Promise((t,r)=>{let o=e.transaction(n,"readonly").objectStore(n).count();o.onsuccess=()=>t(o.result),o.onerror=()=>r(o.error)})}async function u(e){let t=await a();return new Promise((r,o)=>{let a=t.transaction(n,"readwrite").objectStore(n).delete(e);a.onsuccess=()=>r(),a.onerror=()=>o(a.error)})}async function d(){let e=await c(),t=0,r=0;for(let n of e)try{let e=await fetch(n.url,{method:n.method,headers:n.headers,body:n.body,credentials:"include"});e.ok?(await u(n.id),t++):(e.status>=400&&e.status<500&&await u(n.id),r++)}catch(e){break}return{synced:t,failed:r,remaining:await s()}}async function l(){if("undefined"!=typeof navigator&&"serviceWorker"in navigator)try{let e=await navigator.serviceWorker.ready;"sync"in e&&await e.sync.register("sync-offline-mutations")}catch(e){}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.