AiutaStorage
Storage interface for key-value persistence using DataStore Preferences.
This interface provides type-safe operations for storing and retrieving data. It supports both primitive types (via extension functions) and complex serializable objects (via generic methods with kotlinx.serialization).
All operations are suspending and thread-safe. Each storage instance is isolated by namespace and does not share data with other instances.
Usage example:
// Create storage instance
val storage = AiutaStorageFactory.create("my_namespace", platformContext)
// Save and retrieve primitives (via extension functions)
storage.saveString("name", "Alice")
val name = storage.getString("name") // "Alice"
// Save and retrieve serializable objects
@Serializable
data class UserSettings(val theme: String, val fontSize: Int)
storage.save("settings", UserSettings("dark", 14))
val settings = storage.get<UserSettings>("settings")See also
for creating instances
Functions
Convenience extension for reading booleans.
Convenience extension for reading doubles.
Convenience extension for reading floats.
Convenience extension for reading ints.
Convenience extension for reading longs.
Convenience extension for reading plain strings.
Convenience extension for storing booleans.
Convenience extension for storing doubles.
Convenience extension for storing floats.
Convenience extension for storing ints.
Convenience extension for storing longs.
Convenience extension for storing plain strings.