| 
						
						
						
					 | 
				
				 | 
				
					@ -1,9 +1,9 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					const app_name = "fuzzyhome" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					let p = console.log | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { version } from './package.json' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					const app_prefix = "{app_name}_cache" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					const cache_name = "sw-{app_prefix}-{version}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					p cache_name | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					let p = do |s| console.log "{cache_name} {s}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					p "loaded" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					let urls = [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						'./', | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -13,31 +13,32 @@ let urls = [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					self.addEventListener('fetch') do |e| | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						p "{cache_name} fetch" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						p "fetch" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def intercept request | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if request | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								p "{cache_name} responding with cache {e.request.url}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								p "responding with cache {e.request.url}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								request | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								p "{cache_name} not cached, fetching {e.request.url}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								p "not cached, fetching {e.request.url}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								fetch e.request | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						e.respondWith(caches.match(e.request.url).then(intercept)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					self.addEventListener('install') do |e| | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						p "{cache_name} install" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						p "install" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def add_urls_to_cache cache | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							p "{cache_name} adding urls to cache" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							p "adding urls to cache" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							cache.addAll urls | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							skipWaiting! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						e.waitUntil(caches.open(cache_name).then(add_urls_to_cache)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					self.addEventListener('activate') do |e| | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						p "{cache_name} activate" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						p "activate" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def delete_cached keys | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let temp = keys.map! do |key, i| | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								p "{cache_name} checking cache {key}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								p "checking cache {key}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if key !== cache_name | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									p "{cache_name} deleting cache {keys[i]}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									caches.delete key | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									p "deleting cache {key}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									let result = await caches.delete key | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									p "deletion of {key} result: {result}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							Promise.all(temp) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						e.waitUntil(caches.keys().then(delete_cached)) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
				 | 
				
					
  |