Skip to content

@modoki/engine / index / PreferencesBackend

Class: PreferencesBackend ​

Native backend (iOS/Android) via @capacitor/preferences — NSUserDefaults / SharedPreferences. Each single-key write is ATOMIC (no torn value): iOS rewrites the plist atomically; Android's SharedPreferences writes the whole file atomically.

Caveat (durability): on Android the plugin uses SharedPreferences.Editor.apply(), which returns BEFORE the write reaches disk — so an awaited set() / flush() guarantees atomicity but NOT that the byte is persisted. This is the best-effort durability the contract already documents; flush-on-background (Phase 3) must not assume an awaited set is on disk, and leans on the OS lifecycle to actually sync.

Implements ​

Constructors ​

Constructor ​

new PreferencesBackend(): PreferencesBackend

Returns ​

PreferencesBackend

Storage ​

getAll() ​

getAll(prefix): Promise<Record<string, string>>

All entries whose full key starts with prefix, as { fullKey: envelopeString }.

Parameters ​

prefix ​

string

Returns ​

Promise<Record<string, string>>

Implementation of ​

PrefsBackend.getAll


remove() ​

remove(fullKey): Promise<void>

Remove one entry.

Parameters ​

fullKey ​

string

Returns ​

Promise<void>

Implementation of ​

PrefsBackend.remove


set() ​

set(fullKey, value): Promise<void>

Write one entry atomically (full key → envelope string).

Parameters ​

fullKey ​

string

value ​

string

Returns ​

Promise<void>

Implementation of ​

PrefsBackend.set

Built with Modoki.