Skip to content

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.

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.

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).