diff --git a/CHANGELOG.md b/CHANGELOG.md index f5cc61bc1b9..db20b4e5a76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.12.11 + +* `Repos`: + * `Cache`: + * Override `KeyValue` cache method `values` + ## 0.12.10 * `Repos`: diff --git a/gradle.properties b/gradle.properties index c2347781c04..70aafb53c64 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,5 +14,5 @@ crypto_js_version=4.1.1 # Project data group=dev.inmo -version=0.12.10 -android_code_version=149 +version=0.12.11 +android_code_version=150 diff --git a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/KeyValueCacheRepo.kt b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/KeyValueCacheRepo.kt index e16eb4aac62..fb4a46e194e 100644 --- a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/KeyValueCacheRepo.kt +++ b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/KeyValueCacheRepo.kt @@ -1,7 +1,6 @@ package dev.inmo.micro_utils.repos.cache -import dev.inmo.micro_utils.pagination.Pagination -import dev.inmo.micro_utils.pagination.PaginationResult +import dev.inmo.micro_utils.pagination.* import dev.inmo.micro_utils.repos.* import dev.inmo.micro_utils.repos.cache.cache.KVCache import kotlinx.coroutines.CoroutineScope @@ -14,6 +13,16 @@ open class ReadKeyValueCacheRepo( ) : ReadKeyValueRepo by parentRepo, CacheRepo { override suspend fun get(k: Key): Value? = kvCache.get(k) ?: parentRepo.get(k) ?.also { kvCache.set(k, it) } override suspend fun contains(key: Key): Boolean = kvCache.contains(key) || parentRepo.contains(key) + + override suspend fun values(pagination: Pagination, reversed: Boolean): PaginationResult { + return keys(pagination, reversed).let { + it.changeResultsUnchecked( + it.results.mapNotNull { + get(it) + } + ) + } + } } fun ReadKeyValueRepo.cached(