AutoRecacheWriteCRUDRepo

Constructors

Link copied to clipboard
fun <RegisteredObject, Id, InputObject> AutoRecacheWriteCRUDRepo(originalRepo: WriteCRUDRepo<RegisteredObject, Id, InputObject>, scope: CoroutineScope, kvCache: FullKVCache<Id, RegisteredObject> = FullKVCache(), idGetter: (RegisteredObject) -> Id)

Functions

Link copied to clipboard
open suspend override fun create(values: List<InputObject>): List<RegisteredObject>
Link copied to clipboard
open suspend override fun deleteById(ids: List<Id>)
Link copied to clipboard
open suspend override fun invalidate()
Link copied to clipboard
open suspend override fun update(values: List<UpdatedValuePair<Id, InputObject>>): List<RegisteredObject>
open suspend override fun update(id: Id, value: InputObject): RegisteredObject?

Properties

Link copied to clipboard
open override val deletedObjectsIdsFlow: Flow<Id>
Link copied to clipboard
open override val newObjectsFlow: Flow<RegisteredObject>
Link copied to clipboard
open override val updatedObjectsFlow: Flow<RegisteredObject>

Extensions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <FromKey, FromValue, FromInput, ToKey, ToValue, ToInput> WriteCRUDRepo<ToValue, ToKey, ToInput>.withMapper(noinline keyFromToTo: suspend FromKey.() -> ToKey = { this as ToKey }, noinline valueFromToTo: suspend FromValue.() -> ToValue = { this as ToValue }, noinline inputFromToTo: suspend FromInput.() -> ToInput = { this as ToInput }, noinline keyToToFrom: suspend ToKey.() -> FromKey = { this as FromKey }, noinline valueToToFrom: suspend ToValue.() -> FromValue = { this as FromValue }, noinline inputToToFrom: suspend ToInput.() -> FromInput = { this as FromInput }): WriteCRUDRepo<FromValue, FromKey, FromInput>