micro_utils.dokka
0.15.1

# MapperWriteCRUDRepo

open class MapperWriteCRUDRepo<FromId, FromRegistered, FromInput, ToId, ToRegistered, ToInput>(to: WriteCRUDRepo<ToRegistered, ToId, ToInput>, mapper: MapperRepo<FromId, FromRegistered, ToId, ToRegistered>, inputMapper: SimpleSuspendableMapper<FromInput, ToInput>) : WriteCRUDRepo<FromRegistered, FromId, FromInput> , MapperRepo<FromId, FromRegistered, ToId, ToRegistered> , SimpleSuspendableMapper<FromInput, ToInput>

## Constructors

MapperWriteCRUDRepo
Link copied to clipboard
fun <FromId, FromRegistered, FromInput, ToId, ToRegistered, ToInput> MapperWriteCRUDRepo(to: WriteCRUDRepo<ToRegistered, ToId, ToInput>, mapper: MapperRepo<FromId, FromRegistered, ToId, ToRegistered>, inputMapper: SimpleSuspendableMapper<FromInput, ToInput>)

## Functions

convertToT1
Link copied to clipboard
open suspend override fun convertToT1(from: ToInput): FromInput
convertToT2
Link copied to clipboard
open suspend override fun convertToT2(from: FromInput): ToInput
create
Link copied to clipboard
open suspend override fun create(values: List<FromInput>): List<FromRegistered>
deleteById
Link copied to clipboard
open suspend override fun deleteById(ids: List<FromId>)
toInnerKey
Link copied to clipboard
open suspend override fun ToId.toInnerKey(): FromId
toInnerValue
Link copied to clipboard
open suspend override fun ToRegistered.toInnerValue(): FromRegistered
toOutKey
Link copied to clipboard
open suspend override fun FromId.toOutKey(): ToId
toOutValue
Link copied to clipboard
open suspend override fun FromRegistered.toOutValue(): ToRegistered
update
Link copied to clipboard
open suspend override fun update(values: List<UpdatedValuePair<FromId, FromInput>>): List<FromRegistered>
open suspend override fun update(id: FromId, value: FromInput): FromRegistered?

## Properties

deletedObjectsIdsFlow
Link copied to clipboard
open override val deletedObjectsIdsFlow: Flow<FromId>
keyMapper
Link copied to clipboard
open override val keyMapper: SimpleSuspendableMapper<FromId, ToId>
newObjectsFlow
Link copied to clipboard
open override val newObjectsFlow: Flow<FromRegistered>
updatedObjectsFlow
Link copied to clipboard
open override val updatedObjectsFlow: Flow<FromRegistered>
valueMapper
Link copied to clipboard
open override val valueMapper: SimpleSuspendableMapper<FromRegistered, ToRegistered>

## Extensions

caching
Link copied to clipboard
fun <ObjectType, IdType, InputType> WriteCRUDRepo<ObjectType, IdType, InputType>.caching(kvCache: KVCache<IdType, ObjectType>, scope: CoroutineScope, idGetter: (ObjectType) -> IdType): WriteCRUDCacheRepo<ObjectType, IdType, InputType>
convert
Link copied to clipboard
@JvmName(name = "convertFromT2")
suspend fun <T1, T2> SimpleSuspendableMapper<T1, T2>.convert(from: T2): T1
@JvmName(name = "convertFromT1")
suspend fun <T1, T2> SimpleSuspendableMapper<T1, T2>.convert(from: T1): T2
create
Link copied to clipboard
suspend fun <ObjectType, IdType, InputValueType> WriteCRUDRepo<ObjectType, IdType, InputValueType>.create(vararg values: InputValueType): List<ObjectType>
deleteById
Link copied to clipboard
suspend fun <ObjectType, IdType, InputValueType> WriteCRUDRepo<ObjectType, IdType, InputValueType>.deleteById(vararg ids: IdType)
update
Link copied to clipboard
suspend fun <ObjectType, IdType, InputValueType> WriteCRUDRepo<ObjectType, IdType, InputValueType>.update(vararg values: UpdatedValuePair<IdType, InputValueType>): List<ObjectType>
withMapper
Link copied to clipboard
inline fun <FromKey, FromValue, FromInput, ToKey, ToValue, ToInput> WriteCRUDRepo<ToValue, ToKey, ToInput>.withMapper(mapper: MapperRepo<FromKey, FromValue, ToKey, ToValue>, simpleSuspendableMapper: SimpleSuspendableMapper<FromInput, ToInput>): WriteCRUDRepo<FromValue, FromKey, FromInput>
inline fun <FromKey, FromValue, FromInput, ToKey, ToValue, ToInput> WriteCRUDRepo<ToValue, ToKey, ToInput>.withMapper(noinline keyFromToTo: suspend FromKey.() -> ToKey = { this as ToKey }, noinline valueFromToTo: suspend FromValue.() -> ToValue = { this as ToValue }, noinline inputFromToTo: suspend FromInput.() -> ToInput = { this as ToInput }, noinline keyToToFrom: suspend ToKey.() -> FromKey = { this as FromKey }, noinline valueToToFrom: suspend ToValue.() -> FromValue = { this as FromValue }, noinline inputToToFrom: suspend ToInput.() -> FromInput = { this as FromInput }): WriteCRUDRepo<FromValue, FromKey, FromInput>