Functions

Link copied to clipboard

Wraps this ReadKeyValueRepo as a ReadCRUDFromKeyValueRepo, exposing CRUD read operations.

Link copied to clipboard

Wraps this ReadKeyValueRepo (mapping keys to iterables) as a ReadKeyValuesFromKeyValueRepo, exposing a one-to-many read interface.

Link copied to clipboard
Link copied to clipboard
abstract suspend fun contains(key: Key): Boolean
Link copied to clipboard
abstract suspend fun count(): Long
Link copied to clipboard

Computes the difference between all entries in this ReadKeyValueRepo and the given other map.

Link copied to clipboard
Link copied to clipboard
abstract suspend fun get(k: Key): Value?
Link copied to clipboard
open suspend fun getAll(): Map<Key, Value>

Returns all key-value pairs in the repository as a Map. Default implementation iterates all pages using keys and get.

Link copied to clipboard
abstract suspend fun keys(pagination: Pagination, reversed: Boolean = false): PaginationResult<Key>

This method should use sorted by Keys search and return the PaginationResult. By default, it should use ascending sort for Keys

open suspend fun keys(v: Value, pagination: Pagination, reversed: Boolean = false): PaginationResult<Key>

This method should use sorted by Keys search and return the PaginationResult. By default, it should use ascending sort for Keys.

Link copied to clipboard

Creates a pagination starting from the first page with size equal to the total count of items in this ReadKeyValueRepo. This effectively creates a single page containing all items.

Link copied to clipboard
abstract suspend fun values(pagination: Pagination, reversed: Boolean = false): PaginationResult<Value>

This method should use sorted by Keys search and return the PaginationResult. By default, it should use ascending sort for Keys

Link copied to clipboard

Wraps this ReadKeyValueRepo with a MapperRepo to expose a mapped ReadKeyValueRepo.

inline fun <FromKey, FromValue, ToKey, ToValue> ReadKeyValueRepo<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 }): ReadKeyValueRepo<FromKey, FromValue>

Wraps this ReadKeyValueRepo with inline conversion lambdas to expose a mapped ReadKeyValueRepo.