Skip to content

Commit

Permalink
feat: add tiles service worker for offline map
Browse files Browse the repository at this point in the history
  • Loading branch information
friedjoff committed Apr 27, 2020
1 parent 933ca1c commit 4607863
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions src/tilesServiceWorker.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
const CACHE_NAME = 'tree-app-tiles-v1';
const { REACT_APP_VECTOR_TILES_ENDPOINT: endpoint } = process.env;

// eslint-disable-next-line no-restricted-globals
self.addEventListener('install', (event) => {
event.waitUntil(
caches.open(CACHE_NAME).then((cache) => {
return fetch(`${endpoint}/tiles.txt`)
.then((response) => response.text())
.then(async (response) => {
const tiles = response.split(/\r?\n/);
// eslint-disable-next-line no-plusplus
for (let index = 0; index < tiles.length; index++) {
const tileUrl = `${endpoint}/${tiles[index]}`;
try {
// eslint-disable-next-line no-await-in-loop
const tileResponse = await fetch(tileUrl);
cache.put(tileUrl, tileResponse);
} catch (error) {
// Some tiles do not exist.
}
}
});
}),
);
});

0 comments on commit 4607863

Please sign in to comment.