![JAR search and dependency download from the Maven repository](/logo.png)
commonMain.com.harmony.kotlin.data.repository.Repository.kt Maven / Gradle / Ivy
package com.harmony.kotlin.data.repository
import com.harmony.kotlin.data.mapper.Mapper
import com.harmony.kotlin.data.operation.DefaultOperation
import com.harmony.kotlin.data.operation.Operation
import com.harmony.kotlin.data.query.Query
// Repositories
interface GetRepository {
suspend fun get(query: Query, operation: Operation = DefaultOperation): V
@Deprecated(message = "Use get instead")
suspend fun getAll(query: Query, operation: Operation = DefaultOperation): List
}
interface PutRepository {
suspend fun put(query: Query, value: V?, operation: Operation = DefaultOperation): V
@Deprecated(message = "Use put instead")
suspend fun putAll(query: Query, value: List? = emptyList(), operation: Operation = DefaultOperation): List
}
interface DeleteRepository {
suspend fun delete(query: Query, operation: Operation = DefaultOperation)
}
// Extensions
fun GetRepository.withMapping(mapper: Mapper): GetRepository = GetRepositoryMapper(this, mapper)
fun PutRepository.withMapping(toMapper: Mapper, fromMapper: Mapper): PutRepository = PutRepositoryMapper(this, toMapper, fromMapper)
© 2015 - 2025 Weber Informatics LLC | Privacy Policy