xxfast
09/11/2022, 11:09 PMxxfast
09/11/2022, 11:12 PM@Serializable
model
@Serializable data class Pet(val name: String, val age: Int) // Any serializable
val mylo = Pet(name = "Mylo", age = 1)
Crate a store
val store: KStore<Pet> = storeOf("path/to/file")
Get a value once
val mylo: Pet? = store.get()
Observe for changes
val pets: Flow<Pet?> = store.updates
Set value
store.set(mylo)
Update a value
store.update { pet: Pet? ->
pet?.copy(age = pet.age + 1)
}
Delete/Reset value
store.delete() // sets to null
store.reset() // sets to default
Rest of the configurations
private val store: KStore<Pet> = storeOf(
path = filePathTo("file.json"), // required
default = null, // optional
enableCache = true, // optional
serializer = Json, // optional
)