IndexedDB
Provider for IndexedDB in the browser. Edge-compatible. ESM-only. No Node dependencies.
Responsibilities
Section titled “Responsibilities”- Driver: native browser IndexedDB API
- Compiler: AST → IndexedDB operations
- Connection manager: IndexedDB database connections
- Execute: CRUD and aggregation
- Schema sync: creates missing object stores
ProviderOptions
Section titled “ProviderOptions”| Param | Type | Default |
|---|---|---|
dbName |
string |
"jsorm" |
cursorSecret |
string |
Required for .cursor() |
Known limitations
Section titled “Known limitations”- WHERE with relations not supported — IndexedDB doesn’t support JOINs. Use a SQL provider.
- In-memory filtering — WHERE on non-primary key fields loads the entire table and filters in JS.
raw()andall()not available — Does not support raw SQL.
Requirements
Section titled “Requirements”crypto.subtlerequires secure contexts (HTTPS, localhost). Does not work in HTTP production, Safari private browsing, or Cordova/Capacitor.
Interchangeable
Section titled “Interchangeable”Independent of core and client.
