1const CACHE = 'rosgan-field-shell-v8'; 2const SHELL = ['/assets/modo-campo/index.html', '/assets/modo-campo/page.js', '/assets/modo-campo/page.css', '/assets/field-mode.js', '/assets/filming-assistant.js', '/assets/filming-assistant.css']; 3SHELL.push('/assets/animal-framing.js','/assets/raw-video-batch.js','/assets/multipart-video.js','/assets/raw-video-compression.js'); 4self.addEventListener('install', event => event.waitUntil(caches.open(CACHE).then(cache => cache.addAll(SHELL)).then(() => self.skipWaiting()))); 5self.addEventListener('activate', event => event.waitUntil(self.clients.claim())); 6self.addEventListener('fetch', event => { 7 const url = new URL(event.request.url); 8 if (event.request.method === 'GET' && url.origin === self.location.origin && url.pathname.startsWith('/assets/animal-detector/')) { 9 event.respondWith(caches.open('rosgan-animal-detector-v1').then(async cache => (await cache.match(url.pathname)) || fetch(event.request))); 10 return; 11 } 12 if (event.request.method !== 'GET' || url.origin !== self.location.origin || !SHELL.includes(url.pathname)) return; 13 event.respondWith(caches.open(CACHE).then(async cache => (await cache.match(url.pathname)) || fetch(event.request))); 14});
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.