Welcome to mirror list, hosted at ThFree Co, Russian Federation.

sw.js « assets - github.com/danielkvist/hugo-piercer-theme.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 650bc338242c6171a323581de2a36612aaf7dba1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
let cacheVersion = 'v1';
let urlsToCache = [
    '/css/bundle.min.css',
    '/js/bundle.min.js',
];

self.addEventListener('install', (e) => {
    e.waitUntil(
        caches.open('v1').then(function (c) {
            return c.addAll(urlsToCache);
        })
    );
});

self.addEventListener('fetch', (e) => {
    e.respondWith(
        caches.match(e.request)
            .then((response) => {
                if (response) {
                    return response;
                }

                let fetchRequest = e.request.clone();
                return fetch(fetchRequest).then(
                    (response) => {
                        if (!response || response.status !== 200 || response.type !== 'basic') {
                            return response;
                        }

                        let responseToCache = response.clone();
                        caches.open(cacheVersion)
                            .then((cache) => {
                                cache.put(e.request, responseToCache);
                            });

                        return response;
                    }
                );
            })
    );
});