From dd2fc5a86f725e2401b813ff2c1f40c13b95fb68 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 18 Nov 2020 20:07:54 +0600 Subject: [PATCH] start 0.4.2 --- CHANGELOG.md | 2 ++ gradle.properties | 4 ++-- .../repos/OneToManyKeyValueRepo.kt | 21 +++++++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf47f5471f1..d17a93eb1ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog +## 0.4.2 + ## 0.4.1 * `Repos`: diff --git a/gradle.properties b/gradle.properties index c793f689a86..f338ad654d4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -41,5 +41,5 @@ dokka_version=1.4.0 # Project data group=dev.inmo -version=0.4.1 -android_code_version=5 +version=0.4.2 +android_code_version=6 diff --git a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/OneToManyKeyValueRepo.kt b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/OneToManyKeyValueRepo.kt index 4572bce20dc..12137c06c74 100644 --- a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/OneToManyKeyValueRepo.kt +++ b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/OneToManyKeyValueRepo.kt @@ -47,6 +47,11 @@ interface WriteOneToManyKeyValueRepo : Repo { suspend fun remove(toRemove: Map>) suspend fun clear(k: Key) + + suspend fun set(toSet: Map>) { + toSet.keys.forEach { key -> clear(key) } + add(toSet) + } } suspend inline fun > REPO.add( @@ -65,6 +70,22 @@ suspend inline fun WriteOneToManyKeyValueRepo.add( k: Key, vararg v: Value ) = add(k, v.toList()) +suspend inline fun > REPO.set( + keysAndValues: List>> +) = set(keysAndValues.toMap()) + +suspend inline fun > REPO.set( + vararg keysAndValues: Pair> +) = set(keysAndValues.toMap()) + +suspend inline fun WriteOneToManyKeyValueRepo.set( + k: Key, v: List +) = set(mapOf(k to v)) + +suspend inline fun WriteOneToManyKeyValueRepo.set( + k: Key, vararg v: Value +) = set(k, v.toList()) + interface OneToManyKeyValueRepo : ReadOneToManyKeyValueRepo, WriteOneToManyKeyValueRepo suspend inline fun WriteOneToManyKeyValueRepo.remove(