Package-level declarations

Types

Link copied to clipboard
class IndexedDbStorage<T : Any>(serializer: OkioSerializer<T>, name: String) : Storage<T>

Functions

Link copied to clipboard

EncryptedStoreHandle that forces a DataStore rewrite so ciphertext is sealed under the current primary key material after rotation.

Link copied to clipboard
fun <T : Any> createEncryptedProtoDataStore(storage: Storage<T>, migrations: List<DataMigration<T>> = emptyList(), corruptionHandler: ReplaceFileCorruptionHandler<T>? = null, registry: StoreRegistry? = null): DataStore<T>

Creates a DataStore over a caller-supplied storage (Okio, IndexedDB, etc.).

fun <T : Any> createEncryptedProtoDataStore(cipher: Cipher, kSerializer: KSerializer<T>, defaultValue: T, producePath: () -> Path, options: EncryptedStoreOptions = EncryptedStoreOptions(), migrations: List<DataMigration<T>> = emptyList(), corruptionHandler: ReplaceFileCorruptionHandler<T>? = null, registry: StoreRegistry? = null): DataStore<T>

File-backed encrypted proto DataStore using Okio + platform kryptostoreFileSystem.

Link copied to clipboard
expect fun <T : Any> createEncryptedProtoDataStoreIndexedDb(cipher: Cipher, kSerializer: KSerializer<T>, defaultValue: T, name: String, options: EncryptedStoreOptions = EncryptedStoreOptions().apply { storeName = name }, migrations: List<DataMigration<T>> = emptyList()): DataStore<T>

Web typed helper — IndexedDB (proto storage). Prefer this over file paths on JS/Wasm.

actual fun <T : Any> createEncryptedProtoDataStoreIndexedDb(cipher: ERROR CLASS: Symbol not found for Cipher, kSerializer: ERROR CLASS: Symbol not found for KSerializer<T>, defaultValue: T, name: String, options: ERROR CLASS: Symbol not found for EncryptedStoreOptions, migrations: List<ERROR CLASS: Symbol not found for DataMigration<T>>): ERROR CLASS: Symbol not found for DataStore<T>
actual fun <T : Any> createEncryptedProtoDataStoreIndexedDb(cipher: Cipher, kSerializer: KSerializer<T>, defaultValue: T, name: String, options: EncryptedStoreOptions, migrations: List<DataMigration<T>>): DataStore<T>

Web typed helper — IndexedDB (proto storage). Prefer this over file paths on JS/Wasm.

Link copied to clipboard
fun <T : Any> encryptedProtoSerializer(cipher: Cipher, kSerializer: KSerializer<T>, defaultValue: T, options: EncryptedStoreOptions = EncryptedStoreOptions()): EncryptedProtoSerializer<T>

Builds an EncryptedProtoSerializer for use with custom Storage (e.g. IndexedDB).