Skip to content
ClassStorage & Replay@public

IndexedDBBackend

Optional IndexedDB-backed storage adapter.

Reads from a cache populated while opening. Writes and erases must use the async FlxSave methods so their results represent transaction completion.

Usage:

ts
const db = await IndexedDBBackend.open('my-game-saves');
const save = new FlxSave();
save.bind('slot1', { backend: db });
await save.flushAsync();
ts
export declare class IndexedDBBackend implements FlxAsyncStorageBackend

Methods

close()

ts
close(key: string): void

Parameters:

ParameterTypeDescription
keystring-

Returns: void

closeDatabase()

ts
closeDatabase(): void

Close the underlying IDBDatabase connection.

Returns: void

erase()

ts
erase(key: string): boolean

Parameters:

ParameterTypeDescription
keystring-

Returns: boolean

eraseAsync()

ts
eraseAsync(key: string): Promise<boolean>

Delete a record and resolve only after its transaction commits.

Parameters:

ParameterTypeDescription
keystring-

Returns: Promise<boolean>

static open()

ts
static open(dbName: string): Promise<IndexedDBBackend>

Open (or create) the named database and return a ready backend.

Parameters:

ParameterTypeDescription
dbNamestringThe IndexedDB database name.

Returns: Promise<IndexedDBBackend>

read()

ts
read(key: string): Record<string, unknown> | null

Parameters:

ParameterTypeDescription
keystring-

Returns: Record<string, unknown> | null

write()

ts
write(key: string, data: Record<string, unknown>): FlxSaveResult

Parameters:

ParameterTypeDescription
keystring-
dataRecord<string, unknown>-

Returns: FlxSaveResult

writeAsync()

ts
writeAsync(key: string, data: Record<string, unknown>): Promise<FlxSaveResult>

Persist a record and resolve only after its transaction commits.

Parameters:

ParameterTypeDescription
keystring-
dataRecord<string, unknown>-

Returns: Promise<FlxSaveResult>

Released under the MIT License.