VulpesOS/assets/webapps/test-startup-limit.gaiamobile.org/js/worker.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

40 lines
1 KiB
JavaScript

var db;
var getCount = new Promise(resolve => {
console.log('Will open indexedDB');
var request = indexedDB.open('counter');
request.onupgradeneeded = event => {
console.log('Populating indexedDB');
db = event.target.result;
var store = db.createObjectStore('count');
store.add(0, 'count');
};
request.onsuccess = () => {
console.log('Reading count from indexedDB');
db = request.result;
var transaction = db.transaction(['count'], 'readonly');
var store = transaction.objectStore('count');
var get = store.get('count');
get.onsuccess = () => resolve(get.result);
};
});
function setCount(count) {
var transaction = db.transaction(['count'], 'readwrite');
var store = transaction.objectStore('count');
store.put(count, 'count');
}
self.onmessage = event => {
console.log(`Will call ${event.data.method}`);
switch (event.data.method) {
case 'getCount':
getCount.then(postMessage);
break;
case 'setCount':
setCount(event.data.params[0]);
break;
}
}