Improve toolbox persistence and goal tree coverage
All checks were successful
Deploy Sokko G / deploy (push) Successful in 15s

This commit is contained in:
Shinuwa 2026-08-24 16:11:22 +02:00
parent 50029b45a2
commit 7348969ac4
10 changed files with 801 additions and 591 deletions

View file

@ -23,18 +23,25 @@ function openDatabase() {
return dbPromise;
}
function requestToPromise(request) {
return new Promise((resolve, reject) => {
request.onsuccess = () => resolve(request.result);
request.onerror = () => reject(request.error);
});
}
async function storeRequest(storeName, mode, callback) {
const db = await openDatabase();
const transaction = db.transaction(storeName, mode);
const store = transaction.objectStore(storeName);
return requestToPromise(callback(store));
let result;
await new Promise((resolve, reject) => {
transaction.oncomplete = () => resolve();
transaction.onerror = () => reject(transaction.error);
transaction.onabort = () => reject(transaction.error);
try {
const request = callback(store);
request.onsuccess = () => { result = request.result; };
request.onerror = () => reject(request.error);
} catch (error) {
transaction.abort();
reject(error);
}
});
return result;
}
export async function getValue(key, fallback) {