micro_utils.dokka
0.15.1

# KtorKeyValuesRepoClient

class KtorKeyValuesRepoClient<Key, Value>(readDelegate: ReadKeyValuesRepo<Key, Value>, writeDelegate: WriteKeyValuesRepo<Key, Value>) : KeyValuesRepo<Key, Value>

## Constructors

KtorKeyValuesRepoClient
Link copied to clipboard
fun <Key, Value> KtorKeyValuesRepoClient(readDelegate: ReadKeyValuesRepo<Key, Value>, writeDelegate: WriteKeyValuesRepo<Key, Value>)

## Types

Companion
Link copied to clipboard
object Companion

## Functions

add
Link copied to clipboard
open suspend override fun add(toAdd: Map<Key, List<Value>>)
clear
Link copied to clipboard
open suspend override fun clear(k: Key)
clearWithValue
Link copied to clipboard
open suspend override fun clearWithValue(v: Value)
contains
Link copied to clipboard
open suspend override fun contains(k: Key): Boolean
open suspend override fun contains(k: Key, v: Value): Boolean
count
Link copied to clipboard
open suspend override fun count(): Long
open suspend override fun count(k: Key): Long
get
Link copied to clipboard
open suspend override fun get(k: Key, pagination: Pagination, reversed: Boolean): PaginationResult<Value>
getAll
Link copied to clipboard
open suspend override fun getAll(reverseLists: Boolean): Map<Key, List<Value>>

WARNING!!! THIS METHOD PROBABLY IS NOT EFFICIENT, USE WITH CAUTION

open suspend override fun getAll(k: Key, reversed: Boolean): List<Value>
keys
Link copied to clipboard
open suspend override fun keys(pagination: Pagination, reversed: Boolean): PaginationResult<Key>
open suspend override fun keys(v: Value, pagination: Pagination, reversed: Boolean): PaginationResult<Key>
remove
Link copied to clipboard
open suspend override fun remove(toRemove: Map<Key, List<Value>>)
set
Link copied to clipboard
open suspend override fun set(toSet: Map<Key, List<Value>>)

## Properties

onDataCleared
Link copied to clipboard
open override val onDataCleared: Flow<Key>
onNewValue
Link copied to clipboard
open override val onNewValue: Flow<Pair<Key, Value>>
onValueRemoved
Link copied to clipboard
open override val onValueRemoved: Flow<Pair<Key, Value>>

## Extensions

add
Link copied to clipboard
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.add(k: Key, v: List<Value>)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.add(k: Key, vararg v: Value)
cached
Link copied to clipboard
fun <Key, Value> KeyValuesRepo<Key, Value>.cached(kvCache: KVCache<Key, List<Value>>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): KeyValuesCacheRepo<Key, Value>
fun <Key, Value> ReadKeyValuesRepo<Key, Value>.cached(kvCache: KVCache<Key, List<Value>>): ReadKeyValuesCacheRepo<Key, Value>
fun <Key, Value> ReadKeyValuesRepo<Key, Value>.cached(kvCache: FullKVCache<Key, List<Value>>): FullReadKeyValuesCacheRepo<Key, Value>
caching
Link copied to clipboard
fun <Key, Value> KeyValuesRepo<Key, Value>.caching(kvCache: FullKVCache<Key, List<Value>>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): FullKeyValuesCacheRepo<Key, Value>
fun <Key, Value> WriteKeyValuesRepo<Key, Value>.caching(kvCache: FullKVCache<Key, List<Value>>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): FullWriteKeyValuesCacheRepo<Key, Value>
remove
Link copied to clipboard
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.remove(keysAndValues: List<Pair<Key, List<Value>>>)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.remove(vararg keysAndValues: Pair<Key, List<Value>>)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.remove(k: Key, v: List<Value>)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.remove(k: Key, vararg v: Value)
set
Link copied to clipboard
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.set(k: Key, v: List<Value>)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.set(k: Key, vararg v: Value)
withMapper
Link copied to clipboard
inline fun <FromKey, FromValue, ToKey, ToValue> KeyValuesRepo<ToKey, ToValue>.withMapper(mapper: MapperRepo<FromKey, FromValue, ToKey, ToValue>): KeyValuesRepo<FromKey, FromValue>
inline fun <FromKey, FromValue, ToKey, ToValue> KeyValuesRepo<ToKey, ToValue>.withMapper(noinline keyFromToTo: suspend FromKey.() -> ToKey = { this as ToKey }, noinline valueFromToTo: suspend FromValue.() -> ToValue = { this as ToValue }, noinline keyToToFrom: suspend ToKey.() -> FromKey = { this as FromKey }, noinline valueToToFrom: suspend ToValue.() -> FromValue = { this as FromValue }): KeyValuesRepo<FromKey, FromValue>
inline fun <FromKey, FromValue, ToKey, ToValue> ReadKeyValuesRepo<ToKey, ToValue>.withMapper(mapper: MapperRepo<FromKey, FromValue, ToKey, ToValue>): ReadKeyValuesRepo<FromKey, FromValue>
inline fun <FromKey, FromValue, ToKey, ToValue> ReadKeyValuesRepo<ToKey, ToValue>.withMapper(noinline keyFromToTo: suspend FromKey.() -> ToKey = { this as ToKey }, noinline valueFromToTo: suspend FromValue.() -> ToValue = { this as ToValue }, noinline keyToToFrom: suspend ToKey.() -> FromKey = { this as FromKey }, noinline valueToToFrom: suspend ToValue.() -> FromValue = { this as FromValue }): ReadKeyValuesRepo<FromKey, FromValue>
inline fun <FromKey, FromValue, ToKey, ToValue> WriteKeyValuesRepo<ToKey, ToValue>.withMapper(mapper: MapperRepo<FromKey, FromValue, ToKey, ToValue>): WriteKeyValuesRepo<FromKey, FromValue>
inline fun <FromKey, FromValue, ToKey, ToValue> WriteKeyValuesRepo<ToKey, ToValue>.withMapper(noinline keyFromToTo: suspend FromKey.() -> ToKey = { this as ToKey }, noinline valueFromToTo: suspend FromValue.() -> ToValue = { this as ToValue }, noinline keyToToFrom: suspend ToKey.() -> FromKey = { this as FromKey }, noinline valueToToFrom: suspend ToValue.() -> FromValue = { this as FromValue }): WriteKeyValuesRepo<FromKey, FromValue>