Skip to content
JavaScript

IndexedDB Operations

Wrap IndexedDB CRUD operations.

By EZ4Code Team
indexeddbdatabasestorage

Code

function openDB(name, version, stores) {
  return new Promise((resolve, reject) => {
    const req = indexedDB.open(name, version);
    req.onupgradeneeded = e => {
      const db = e.target.result;
      stores.forEach(s => {
        if (!db.objectStoreNames.contains(s)) {
          db.createObjectStore(s, { keyPath: "id" });
        }
      });
    };
    req.onsuccess = e => resolve(e.target.result);
    req.onerror = e => reject(e.target.error);
  });
}

Explanation

Wraps IndexedDB open and upgrade logic, supporting auto-creation of object stores.

More JavaScript Snippets