Web Platformadvanced
A tiny promise-based wrapper around IndexedDB
const dbPromise = new Promise<IDBDatabase>((resolve, reject) => {
const request = indexedDB.open("app-cache", 1);
request.onupgradeneeded = () => request.result.createObjectStore("kv");
request.onsuccess = () => resolve(request.result);
request.onerror = () => reject(request.error);Turn IndexedDB's callback-and-event API into two functions, idbGet and idbSet, that behave like a normal async key-value store.