SerializedField

class SerializedField<T, V>(val name: String, val keyName: String, val meta: SettingMeta?, getter: (T) -> V, setter: (T, V) -> T, serializer: KSerializer<V>, defaultValue: V, json: Json = DefaultJson) : SettingField<T, V>

Constructors

Link copied to clipboard
constructor(name: String, keyName: String, meta: SettingMeta?, getter: (T) -> V, setter: (T, V) -> T, serializer: KSerializer<V>, defaultValue: V, json: Json = DefaultJson)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val keyName: String

DataStore key name

Link copied to clipboard
open override val meta: SettingMeta?

UI metadata (null for @Persisted-only fields)

Link copied to clipboard
open override val name: String

Property name in the data class

Functions

Link copied to clipboard
open override fun get(model: T): V

Get value from model

Link copied to clipboard
open override fun read(prefs: Preferences): V?

Read from preferences

Link copied to clipboard
open override fun set(model: T, value: V): T

Set value in model (returns new model)

Link copied to clipboard
open override fun write(prefs: MutablePreferences, value: V)

Write to preferences