Improve toolbox persistence and goal tree coverage
All checks were successful
Deploy Sokko G / deploy (push) Successful in 15s
All checks were successful
Deploy Sokko G / deploy (push) Successful in 15s
This commit is contained in:
parent
50029b45a2
commit
7348969ac4
10 changed files with 801 additions and 591 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue