1.3 KB
raw
// service worker for dark furrow
// the almanac should work like a book you own, not a service you rent.
var CACHE_NAME = 'dark-furrow-v2';
var CORE_ASSETS = [
'/',
'/static/style.css',
'/static/almanac.js',
'/static/favicon.svg',
'/static/og.svg'
];
self.addEventListener('install', function (event) {
event.waitUntil(
caches.open(CACHE_NAME).then(function (cache) {
return cache.addAll(CORE_ASSETS);
}).then(function () {
return self.skipWaiting();
})
);
});
self.addEventListener('activate', function (event) {
event.waitUntil(
caches.keys().then(function (names) {
return Promise.all(
names.filter(function (name) { return name !== CACHE_NAME; })
.map(function (name) { return caches.delete(name); })
);
}).then(function () {
return self.clients.claim();
})
);
});
self.addEventListener('fetch', function (event) {
event.respondWith(
fetch(event.request).then(function (response) {
if (response.ok) {
var clone = response.clone();
caches.open(CACHE_NAME).then(function (cache) {
cache.put(event.request, clone);
});
}
return response;
}).catch(function () {
return caches.match(event.request);
})
);
});