refactor(pwa): ♻️ update fetch strategy types

This commit is contained in:
Julien Oculi 2024-07-18 15:43:46 +02:00
parent 77f9ae3518
commit 67e3330587

View file

@ -5,7 +5,7 @@ export class Strategy {
this.#cache = cache
}
cacheFirst({ request, preloadResponse }: FetchEvent) {
cacheFirst({ request, preloadResponse }: Pick<FetchEvent, 'request' | 'preloadResponse'>) {
const fetchRequest = async () => {
const response = await fetch(request)
if (response.ok) {
@ -57,13 +57,13 @@ export class Strategy {
}
async networkFirst(
{ request, preloadResponse }: FetchEvent,
{ request, preloadResponse }: Pick<FetchEvent, 'request' | 'preloadResponse'>,
{ fallbackUrl, timeout }: { fallbackUrl?: string; timeout?: number },
) {
const signal = timeout ? AbortSignal.timeout(timeout) : undefined
try {
// Get navigator preload (see: https://developer.mozilla.org/en-US/docs/Web/API/FetchEvent/preloadResponse)
// Get navigator preload (see: https://developer.mozilla.org/en-US/docs/Web/API/Pick<FetchEvent, 'request' | 'preloadResponse'>/preloadResponse)
const preload = await getPreload(preloadResponse)
if (preload?.ok) {
this.#cache.put(request, preload.clone())