localforage
Public surface (localforage): localForage data API —
getItem · setItem · removeItem · clear · length · key · keys · iterate
A single pre-configured store (name: 'mobilelocker', storeName: 'localforage'). Settings / multi-instance APIs are intentionally not exposed.
When to use
Section titled “When to use”| API | Use when |
|---|---|
mobilelocker.localforage |
Client-side key-value that must survive WKWebView port changes |
storage |
Named server-backed presentation/user entries |
Prefer mobilelocker.localforage over importing raw localforage in presentations.
Drivers
Section titled “Drivers”| Environment | Backend |
|---|---|
| iOS 5.3.0+ | Native driver → host /localstorage (GRDB) |
| Android | Native driver (when supported by host) |
| CDN, Electron, older iOS, local browser | IndexedDB → WebSQL → localStorage fallback stack |
On first native use, existing IndexedDB keys may migrate into native storage automatically.
interface MobileLockerLocalForage { getItem<T>(key: string, callback?): Promise<T | null> setItem<T>(key: string, value: T, callback?): Promise<T> removeItem(key: string, callback?): Promise<void> clear(callback?): Promise<void> length(callback?): Promise<number> key(keyIndex: number, callback?): Promise<string> keys(callback?): Promise<string[]> iterate<T, U>(iteratee, callback?): Promise<U>}import mobilelocker from '@mobilelocker/javascript-sdk'
await mobilelocker.localforage.setItem('user-prefs', { theme: 'dark' })const prefs = await mobilelocker.localforage.getItem('user-prefs')
await mobilelocker.localforage.removeItem('user-prefs')const allKeys = await mobilelocker.localforage.keys()Supports the same value types as localForage, including ArrayBuffer / Blob / typed arrays (serialized on the native path).
API reference
Section titled “API reference”- Module:
localforage - Type:
MobileLockerLocalForage