Constructors

Link copied to clipboard

Properties

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

Functions

Link copied to clipboard
open suspend override fun add(toAdd: Map<FromKey, List<FromValue>>)
Link copied to clipboard
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.add(k: Key, vararg v: Value)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.add(k: Key, v: List<Value>)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <Key, Value> KeyValuesRepo<Key, Value>.cached(kvCache: KVCache<Key, List<Value>>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), locker: SmartRWLocker = SmartRWLocker()): KeyValuesCacheRepo<Key, Value>
Link copied to clipboard
fun <Key, Value> WriteKeyValuesRepo<Key, Value>.caching(kvCache: KeyValueRepo<Key, List<Value>>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), locker: SmartRWLocker = SmartRWLocker()): FullWriteKeyValuesCacheRepo<Key, Value>
Link copied to clipboard
open suspend override fun clear(k: FromKey)

Fully clear all data by k

Link copied to clipboard
open suspend override fun clearWithValue(v: FromValue)

Clear v with full clear of all data by Keys with v

Link copied to clipboard
open suspend override fun contains(k: FromKey): Boolean
open suspend override fun contains(k: FromKey, v: FromValue): Boolean
Link copied to clipboard
open suspend override fun count(): Long
open suspend override fun count(k: FromKey): Long
Link copied to clipboard
Link copied to clipboard
fun <Key, Value> KeyValuesRepo<Key, Value>.fullyCached(kvCache: KeyValueRepo<Key, List<Value>> = MapKeyValueRepo(), scope: CoroutineScope = CoroutineScope(Dispatchers.Default), skipStartInvalidate: Boolean = false, locker: SmartRWLocker = SmartRWLocker()): FullKeyValuesCacheRepo<Key, Value>
Link copied to clipboard
open suspend override fun get(k: FromKey, pagination: Pagination, reversed: Boolean): PaginationResult<FromValue>
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>
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>
Link copied to clipboard
Link copied to clipboard
open suspend override fun remove(toRemove: Map<FromKey, List<FromValue>>)

Removes Values by passed Keys without full clear of all data by Key

Link copied to clipboard
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.remove(vararg keysAndValues: Pair<Key, List<Value>>)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.remove(keysAndValues: List<Pair<Key, List<Value>>>)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.remove(k: Key, vararg v: Value)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.remove(k: Key, v: List<Value>)
Link copied to clipboard
open suspend override fun removeWithValue(v: FromValue)

Removes v without full clear of all data by Keys with v

Link copied to clipboard
open suspend override fun set(toSet: Map<FromKey, List<FromValue>>)
Link copied to clipboard
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.set(k: Key, vararg v: Value)
inline suspend fun <Key, Value> WriteKeyValuesRepo<Key, Value>.set(k: Key, v: List<Value>)
Link copied to clipboard
open suspend override fun ToKey.toInnerKey(): FromKey
Link copied to clipboard
open suspend override fun ToValue.toInnerValue(): FromValue
Link copied to clipboard
open suspend override fun FromKey.toOutKey(): ToKey
Link copied to clipboard
open suspend override fun FromValue.toOutValue(): ToValue
Link copied to clipboard
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(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(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>