Package-level declarations

Types

Link copied to clipboard
class FileKeyValueRepo(folder: File, filesChangedProcessingScope: CoroutineScope? = null) : KeyValueRepo<String, File> , WriteKeyValueRepo<String, File> , ReadKeyValueRepo<String, File>
Link copied to clipboard
Link copied to clipboard
class FileWriteKeyValueRepo(folder: File, filesChangedProcessingScope: CoroutineScope? = null) : WriteKeyValueRepo<String, File>

Files watching will not correctly works on Android with version of API lower than API 26

Link copied to clipboard

Full version of standard key-value repository with all set/unset/clear/get methods

Link copied to clipboard

MutableMap-based MapCRUDRepo. All internal operations will be locked with locker

Link copied to clipboard

MutableMap-based KeyValueRepo. All internal operations will be locked with locker

Link copied to clipboard

MutableMap-based KeyValuesRepo. All internal operations will be locked with locker

Link copied to clipboard
Link copied to clipboard
class MapReadKeyValuesRepo<Key, Value>(map: Map<Key, List<Value>> = emptyMap(), locker: SmartRWLocker = SmartRWLocker()) : ReadKeyValuesRepo<Key, Value>

Map-based ReadKeyValuesRepo. All internal operations will be locked with locker (mostly with SmartRWLocker.withReadAcquire)

Link copied to clipboard
class MapWriteKeyValuesRepo<Key, Value>(map: MutableMap<Key, MutableList<Value>> = mutableMapOf(), locker: SmartRWLocker = SmartRWLocker()) : WriteKeyValuesRepo<Key, Value>

MutableMap-based WriteKeyValuesRepo. All internal operations will be locked with locker (mostly with SmartRWLocker.withWriteLock)

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Read part of KeyValueRepo

Link copied to clipboard
Link copied to clipboard
class ReadMapCRUDRepo<ObjectType, IdType>(map: Map<IdType, ObjectType> = emptyMap(), locker: SmartRWLocker = SmartRWLocker()) : ReadCRUDRepo<ObjectType, IdType>

Map-based ReadMapCRUDRepo. All internal operations will be locked with locker (mostly with SmartRWLocker.withReadAcquire)

Link copied to clipboard

Map-based ReadKeyValueRepo. All internal operations will be locked with locker (mostly with SmartRWLocker.withReadAcquire)

Link copied to clipboard
interface Repo
Link copied to clipboard
class SimpleMapperRepo<FromKey, FromValue, ToKey, ToValue>(keyFromToTo: suspend FromKey.() -> ToKey, valueFromToTo: suspend FromValue.() -> ToValue, keyToToFrom: suspend ToKey.() -> FromKey, valueToToFrom: suspend ToValue.() -> FromValue) : MapperRepo<FromKey, FromValue, ToKey, ToValue>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Write part of KeyValueRepo

Link copied to clipboard
Link copied to clipboard
abstract class WriteMapCRUDRepo<ObjectType, IdType, InputValueType>(map: MutableMap<IdType, ObjectType> = mutableMapOf(), locker: SmartRWLocker = SmartRWLocker()) : WriteCRUDRepo<ObjectType, IdType, InputValueType>

MutableMap-based WriteMapCRUDRepo. All internal operations will be locked with locker (mostly with SmartRWLocker.withWriteLock)

Link copied to clipboard

MutableMap-based WriteKeyValueRepo. All internal operations will be locked with locker (mostly with SmartRWLocker.withWriteLock)

Properties

Link copied to clipboard
Link copied to clipboard

Just mirroring WriteCRUDRepo.deletedObjectsIdsFlow to be same as in KV repos

Link copied to clipboard

Just mirroring WriteCRUDRepo.newObjectsFlow to be same as in KV repos

Link copied to clipboard

Just mirroring WriteCRUDRepo.updatedObjectsFlow to be same as in KV repos

Link copied to clipboard

Functions

Link copied to clipboard
inline suspend fun <Key, Value, REPO : WriteKeyValuesRepo<Key, Value>> REPO.add(vararg keysAndValues: Pair<Key, List<Value>>)
inline suspend fun <Key, Value, REPO : WriteKeyValuesRepo<Key, Value>> REPO.add(keysAndValues: List<Pair<Key, List<Value>>>)
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
fun <ObjectType, IdType, InputValueType> MutableMap<IdType, ObjectType>.asCrudRepo(updateCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType, id: IdType, old: ObjectType) -> ObjectType, locker: SmartRWLocker = SmartRWLocker(), createCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType) -> Pair<IdType, ObjectType>): MapCRUDRepo<ObjectType, IdType, newValue: InputValueType>

MutableMap-based MapCRUDRepo. All internal operations will be locked with locker

Link copied to clipboard
fun <K, V> MutableMap<K, V>.asKeyValueRepo(locker: SmartRWLocker = SmartRWLocker()): KeyValueRepo<K, V>

MutableMap-based KeyValueRepo. All internal operations will be locked with locker

Link copied to clipboard
fun <K, V> MutableMap<K, List<V>>.asKeyValuesRepo(locker: SmartRWLocker = SmartRWLocker()): KeyValuesRepo<K, V>

MutableMap-based KeyValuesRepo. All internal operations will be locked with locker

Link copied to clipboard
Link copied to clipboard
operator fun <FromKey, FromValue, ToKey, ToValue> MapperRepo.Companion.invoke(keyFromToTo: suspend FromKey.() -> ToKey, valueFromToTo: suspend FromValue.() -> ToValue, keyToToFrom: suspend ToKey.() -> FromKey, valueToToFrom: suspend ToValue.() -> FromValue): SimpleMapperRepo<FromKey, FromValue, ToKey, ToValue>
Link copied to clipboard
fun <ObjectType, IdType, InputValueType> MapCRUDRepo(updateCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType, id: IdType, old: ObjectType) -> ObjectType, locker: SmartRWLocker = SmartRWLocker(), createCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType) -> Pair<IdType, ObjectType>): MapCRUDRepo<ObjectType, IdType, newValue: InputValueType>
fun <ObjectType, IdType, InputValueType> MapCRUDRepo(map: MutableMap<IdType, ObjectType>, updateCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType, id: IdType, old: ObjectType) -> ObjectType, locker: SmartRWLocker = SmartRWLocker(), createCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType) -> Pair<IdType, ObjectType>): MapCRUDRepo<ObjectType, IdType, InputValueType>

MutableMap-based MapCRUDRepo. All internal operations will be locked with locker

Link copied to clipboard
inline fun <FromKey, FromValue, ToKey, ToValue> mapper(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 }): SimpleMapperRepo<FromKey, FromValue, ToKey, ToValue>
Link copied to clipboard
fun <T> MapsReposDefaultMutableSharedFlow(): MutableSharedFlow<T>
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
inline suspend fun <Key, Value, REPO : WriteKeyValuesRepo<Key, Value>> REPO.set(vararg keysAndValues: Pair<Key, List<Value>>)
inline suspend fun <Key, Value, REPO : WriteKeyValuesRepo<Key, Value>> REPO.set(keysAndValues: List<Pair<Key, List<Value>>>)
inline suspend fun <Key, Value> WriteKeyValueRepo<Key, Value>.set(vararg toSet: Pair<Key, Value>)
inline suspend fun <Key, Value> WriteKeyValueRepo<Key, Value>.set(toSet: List<Pair<Key, Value>>)
inline suspend fun <Key, Value> WriteKeyValueRepo<Key, Value>.set(k: Key, v: Value)
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
inline suspend fun <Key, Value> WriteKeyValueRepo<Key, Value>.unset(vararg k: Key)
Link copied to clipboard
inline suspend fun <Key, Value> WriteKeyValueRepo<Key, Value>.unsetWithValues(vararg v: Value)