diff options
author | Лu Лinveгa <[email protected]> | 2019-11-18 16:09:45 -0500 |
---|---|---|
committer | GitHub <[email protected]> | 2019-11-18 16:09:45 -0500 |
commit | a74f56cfa4930083bfab48a0adeb09910f338aee (patch) | |
tree | df5a651e6d76ac66f3bd11cbe75b8f835b69e451 /sw.js | |
parent | bc3b88571dcf8935f95a8a17132b63469685549c (diff) | |
parent | d7068fd5bb751742f9579a10062564a3298179b0 (diff) | |
download | Orca-a74f56cfa4930083bfab48a0adeb09910f338aee.tar.gz Orca-a74f56cfa4930083bfab48a0adeb09910f338aee.zip |
Merge pull request #189 from mrdoob/master
Implemented ServiceWorker
Diffstat (limited to 'sw.js')
-rw-r--r-- | sw.js | 73 |
1 files changed, 73 insertions, 0 deletions
@@ -0,0 +1,73 @@ +// 220 + +const assets = [ + + './', + + './manifest.json', + './desktop/icon.png', + + './desktop/sources/links/style.css', + './desktop/sources/links/reset.css', + './desktop/sources/links/fonts.css', + './desktop/sources/links/main.css', + './desktop/sources/links/theme.css', + + './desktop/sources/scripts/lib/acels.js', + './desktop/sources/scripts/lib/theme.js', + './desktop/sources/scripts/lib/history.js', + './desktop/sources/scripts/lib/source.js', + './desktop/sources/scripts/core/library.js', + './desktop/sources/scripts/core/io.js', + './desktop/sources/scripts/core/operator.js', + './desktop/sources/scripts/core/orca.js', + './desktop/sources/scripts/core/transpose.js', + './desktop/sources/scripts/core/io/cc.js', + './desktop/sources/scripts/core/io/midi.js', + './desktop/sources/scripts/core/io/mono.js', + './desktop/sources/scripts/core/io/osc.js', + './desktop/sources/scripts/core/io/udp.js', + './desktop/sources/scripts/clock.js', + './desktop/sources/scripts/commander.js', + './desktop/sources/scripts/cursor.js', + './desktop/sources/scripts/client.js' + +]; + +self.addEventListener( 'install', async function () { + + const cache = await caches.open( 'Orca' ); + + assets.forEach( function ( asset ) { + + cache.add( asset ).catch( function () { + + console.error( '[SW] Cound\'t cache:', asset ); + + } ); + + } ); + +} ); + +self.addEventListener( 'fetch', async function ( event ) { + + const request = event.request; + event.respondWith( cacheFirst( request ) ); + +} ); + +async function cacheFirst( request ) { + + const cachedResponse = await caches.match( request ); + + if ( cachedResponse === undefined ) { + + console.error( '[SW] Not cached:', request.url ); + return fetch( request ); + + } + + return cachedResponse; + +} |