micro_utils.dokka
0.15.1

# MapperKeyValuesRepo

open class MapperKeyValuesRepo<FromKey, FromValue, ToKey, ToValue>(to: KeyValuesRepo<ToKey, ToValue>, mapper: MapperRepo<FromKey, FromValue, ToKey, ToValue>) : KeyValuesRepo<FromKey, FromValue> , MapperRepo<FromKey, FromValue, ToKey, ToValue> , ReadKeyValuesRepo<FromKey, FromValue> , WriteKeyValuesRepo<FromKey, FromValue>

## Constructors

MapperKeyValuesRepo
Link copied to clipboard
fun <FromKey, FromValue, ToKey, ToValue> MapperKeyValuesRepo(to: KeyValuesRepo<ToKey, ToValue>, mapper: MapperRepo<FromKey, FromValue, ToKey, ToValue>)

## Functions

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

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

open suspend override fun getAll(k: FromKey, reversed: Boolean): List<FromValue>
keys
Link copied to clipboard
open suspend override fun keys(pagination: Pagination, reversed: Boolean): PaginationResult<FromKey>
open suspend override fun keys(v: FromValue, pagination: Pagination, reversed: Boolean): PaginationResult<FromKey>
remove
Link copied to clipboard
open suspend override fun remove(toRemove: Map<FromKey, List<FromValue>>)
set
Link copied to clipboard
open suspend override fun set(toSet: Map<FromKey, List<FromValue>>)
toInnerKey
Link copied to clipboard
open suspend override fun ToKey.toInnerKey(): FromKey
toInnerValue
Link copied to clipboard
open suspend override fun ToValue.toInnerValue(): FromValue
toOutKey
Link copied to clipboard
open suspend override fun FromKey.toOutKey(): ToKey
toOutValue
Link copied to clipboard
open suspend override fun FromValue.toOutValue(): ToValue

## Properties

keyMapper
Link copied to clipboard
open override val keyMapper: SimpleSuspendableMapper<FromKey, ToKey>
onDataCleared
Link copied to clipboard
open override val onDataCleared: Flow<FromKey>
onNewValue
Link copied to clipboard
open override val onNewValue: Flow<Pair<FromKey, FromValue>>
onValueRemoved
Link copied to clipboard
open override val onValueRemoved: Flow<Pair<FromKey, FromValue>>
valueMapper
Link copied to clipboard
open override val valueMapper: SimpleSuspendableMapper<FromValue, ToValue>

## 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>