Mapper Key Values Repo
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> (source)
Constructors
Link copied to clipboard
constructor(to: KeyValuesRepo<ToKey, ToValue>, mapper: MapperRepo<FromKey, FromValue, ToKey, ToValue>)
Properties
Functions
Link copied to clipboard
suspend fun <Id, Registered> KeyValuesRepo<Id, Registered>.applyDiff(diff: MapDiff<Id, List<Registered>>)
suspend fun <Id, Registered> KeyValuesRepo<Id, Registered>.applyDiff(other: Map<Id, List<Registered>>)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <Key, Value> ReadKeyValuesRepo<Key, Value>.cached(kvCache: KVCache<Key, List<Value>>, locker: SmartRWLocker = SmartRWLocker()): ReadKeyValuesCacheRepo<Key, Value>
fun <Key, Value> KeyValuesRepo<Key, Value>.cached(kvCache: KVCache<Key, List<Value>>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), locker: SmartRWLocker = SmartRWLocker()): KeyValuesCacheRepo<Key, Value>
fun <Key, Value> ReadKeyValuesRepo<Key, Value>.cached(kvCache: KeyValueRepo<Key, List<Value>>, locker: SmartRWLocker = SmartRWLocker()): FullReadKeyValuesCacheRepo<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
Clear v with full clear of all data by Keys with v
Link copied to clipboard
suspend fun <Id, Registered> ReadKeyValuesRepo<Id, Registered>.diff(other: Map<Id, List<Registered>>): MapDiff<Id, List<Registered>>
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 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
Removes v without full clear of all data by Keys with v
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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> ReadKeyValuesRepo<ToKey, ToValue>.withMapper(mapper: MapperRepo<FromKey, FromValue, ToKey, ToValue>): 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> 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>