@serwist/next
Version:
A module that integrates Serwist into your Next.js application.
1 lines • 2.13 kB
Source Map (JSON)
{"version":3,"file":"sw-entry-worker.mjs","names":["self","WorkerGlobalScope","globalThis","MessageType","type","url","URL","onmessage","ev","MessageEvent","data","response","fetch","redirected","startUrlCache","caches","open","put","Promise","resolve","pagesCache","isPageCached","match","ignoreSearch","page","ok","clone"],"sources":["../src/sw-entry-worker.ts"],"sourcesContent":["declare const self: WorkerGlobalScope & typeof globalThis;\n\nexport type MessageType =\n | {\n type: \"__FRONTEND_NAV_CACHE__\";\n url: URL | string;\n }\n | {\n type: \"__START_URL_CACHE__\";\n url: URL | string;\n };\n\nself.onmessage = async (ev: MessageEvent<MessageType>) => {\n switch (ev.data.type) {\n case \"__START_URL_CACHE__\": {\n const url = ev.data.url;\n const response = await fetch(url);\n if (!response.redirected) {\n const startUrlCache = await caches.open(\"start-url\");\n return startUrlCache.put(url, response);\n }\n return Promise.resolve();\n }\n case \"__FRONTEND_NAV_CACHE__\": {\n const url = ev.data.url;\n const pagesCache = await caches.open(\"pages\");\n\n const isPageCached = !!(await pagesCache.match(url, {\n ignoreSearch: true,\n }));\n if (isPageCached) {\n return;\n }\n\n const page = await fetch(url);\n if (!page.ok) {\n return;\n }\n pagesCache.put(url, page.clone());\n\n return Promise.resolve();\n }\n default:\n return Promise.resolve();\n }\n};\n"],"mappings":";AAYAA,KAAKO,YAAY,OAAOC,OAAkC;AACxD,SAAQA,GAAGE,KAAKN,MAAhB;EACE,KAAK,uBAAuB;GAC1B,MAAMC,MAAMG,GAAGE,KAAKL;GACpB,MAAMM,WAAW,MAAMC,MAAMP,IAAI;AACjC,OAAI,CAACM,SAASE,WAEZ,SAAOC,MADqBC,OAAOC,KAAK,YAAY,EAC/BC,IAAIZ,KAAKM,SAAS;AAEzC,UAAOO,QAAQC,SAAS;;EAE1B,KAAK,0BAA0B;GAC7B,MAAMd,MAAMG,GAAGE,KAAKL;GACpB,MAAMe,aAAa,MAAML,OAAOC,KAAK,QAAQ;AAK7C,OAAIK,CAHkB,CAAE,MAAMD,WAAWE,MAAMjB,KAAK,EAClDkB,cAAc,MACf,CAAC,CAEA;GAGF,MAAMC,OAAO,MAAMZ,MAAMP,IAAI;AAC7B,OAAI,CAACmB,KAAKC,GACR;AAEFL,cAAWH,IAAIZ,KAAKmB,KAAKE,OAAO,CAAC;AAEjC,UAAOR,QAAQC,SAAS;;EAE1B,QACE,QAAOD,QAAQC,SAAS"}