const CACHE_NAME = "emergency-gesture-v1"; const FILES = [ "./", "./index.html", "./manifest.json" ]; self.addEventListener( "install", event => { event.waitUntil( caches.open( CACHE_NAME ).then( cache => cache.addAll(FILES) ) ); } ); self.addEventListener( "activate", event => { event.waitUntil( caches.keys().then( keys => Promise.all( keys.map( key => { if ( key !== CACHE_NAME ) { return caches.delete( key ); } } ) ) ) ); } ); self.addEventListener( "fetch", event => { event.respondWith( caches.match( event.request ).then( cached => cached || fetch( event.request ) ) ); } );