ump-plugin-indexeddb
v0.0.1
Published
UMP IndexedDB Plugin — in-memory IndexedDB shim (indexedDB + IDBDatabase + IDBObjectStore + IDBTransaction + IDBCursor)
Readme
ump-plugin-indexeddb
In-memory IndexedDB shim for UMP apps. Lets libraries that feature-detect or
use IDB for caching (idb-keyval, Dexie's basic flows, Workbox runtime cache)
run without crashing.
NOT persistent — data is lost on engine teardown. Real persistence (SQLite / LMDB) is a separate project tracked in the audit.
Install
npm install ump-plugin-indexeddbPeer dependencies (must already be installed in your app):
ump-coreump-native
Usage
Importing the plugin installs indexedDB, IDBDatabase, IDBObjectStore,
IDBTransaction, and IDBCursor on globalThis (non-overwriting — a host
implementation always wins):
import 'ump-plugin-indexeddb';
const req = indexedDB.open('mydb', 1);
req.onupgradeneeded = () => {
req.result.createObjectStore('items');
};
req.onsuccess = () => {
const db = req.result;
const tx = db.transaction('items', 'readwrite');
tx.objectStore('items').put({ id: 1, name: 'a' }, 1);
};Or import the named exports directly:
import { indexedDB, IDBDatabase } from 'ump-plugin-indexeddb';Coverage
indexedDB.open/deleteDatabase/databasesIDBDatabase.{transaction, close, createObjectStore, objectStoreNames}IDBObjectStore.{put, get, delete, getAll, getAllKeys, openCursor, count, clear, createIndex (no-op)}IDBTransaction(auto-commit)IDBRequestwithonsuccess/onerror/.resultIDBCursor(continue,value,key)
NOT covered: indexes, key paths beyond simple string, blocked / versionchange events, multi-tab semantics. Calls into these surfaces no-op or throw rather than crash.
Migration from ump-native
In ump-native 0.1.x, the IDB shim was bundled with the main package. Starting 0.2.x, it ships as this separate plugin.
- import 'ump-native'; // installed indexedDB as a side effect
+ import 'ump-plugin-indexeddb';No API changes.
