Files
tfm_ainventory/frontend/node_modules/next-pwa/fallback.js
2026-04-10 14:05:50 +03:00

28 lines
1.1 KiB
JavaScript

'use strict'
self.fallback = async request => {
// https://developer.mozilla.org/en-US/docs/Web/API/RequestDestination
switch (request.destination) {
case 'document':
if (process.env.__PWA_FALLBACK_DOCUMENT__)
return caches.match(process.env.__PWA_FALLBACK_DOCUMENT__, { ignoreSearch: true })
case 'image':
if (process.env.__PWA_FALLBACK_IMAGE__)
return caches.match(process.env.__PWA_FALLBACK_IMAGE__, { ignoreSearch: true })
case 'audio':
if (process.env.__PWA_FALLBACK_AUDIO__)
return caches.match(process.env.__PWA_FALLBACK_AUDIO__, { ignoreSearch: true })
case 'video':
if (process.env.__PWA_FALLBACK_VIDEO__)
return caches.match(process.env.__PWA_FALLBACK_VIDEO__, { ignoreSearch: true })
case 'font':
if (process.env.__PWA_FALLBACK_FONT__)
return caches.match(process.env.__PWA_FALLBACK_FONT__, { ignoreSearch: true })
case '':
if (process.env.__PWA_FALLBACK_DATA__ && request.url.match(/\/_next\/data\/.+\/.+\.json$/i))
return caches.match(process.env.__PWA_FALLBACK_DATA__, { ignoreSearch: true })
default:
return Response.error()
}
}