Compare commits

...

15 Commits

10 changed files with 82 additions and 20 deletions

View File

@@ -1,5 +1,33 @@
# Changelog
## 0.20.8
**THIS VERSION CONTAINS UPDATES OF DEPENDENCIES UP TO RC VERSIONS. USE WITH CAUTION**
* `Versions`:
* `Kotlin`: `1.9.20-Beta2` -> `1.9.20-RC`
* `Compose`: `1.5.10-beta02` -> `1.5.10-rc01`
## 0.20.7
**THIS VERSION CONTAINS UPDATES OF DEPENDENCIES UP TO BETA VERSIONS. USE WITH CAUTION**
* `Versions`:
* `Kotlin`: `1.9.10` -> `1.9.20-Beta2`
* `Compose`: `1.5.1` -> `1.5.10-beta02`
* `Exposed`: `0.43.0` -> `0.44.0`
* `Ktor`: `2.3.4` -> `2.3.5`
* `Koin`: `3.4.3` -> `3.5.0`
* `Okio`: `3.5.0` -> `3.6.0`
* `Android Core`: `1.10.1` -> `1.12.0`
* `Android Compose Material`: `1.1.1` -> `1.1.2`
## 0.20.6
* `Repos`:
* `Exposed`
* Fixes in exposed key-values repos
## 0.20.5
* `Coroutines`:

View File

@@ -19,6 +19,12 @@ allprojects {
}
releaseMode = (project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true"
// String compilerPluginVersionFromProperties = (String) project.properties["compose.kotlinCompilerPluginVersion"]
// String compilerPluginVersionFromLibrariesVersions = libs.versions.compose.kotlin.get()
// composePluginKotlinVersion = compilerPluginVersionFromProperties
// if (compilerPluginVersionFromProperties == null) {
// composePluginKotlinVersion = compilerPluginVersionFromLibrariesVersions
// }
mppProjectWithSerializationPresetPath = "${rootProject.projectDir.absolutePath}/mppProjectWithSerialization.gradle"
mppProjectWithSerializationAndComposePresetPath = "${rootProject.projectDir.absolutePath}/mppProjectWithSerializationAndCompose.gradle"

View File

@@ -6,7 +6,7 @@ kotlin.incremental.js=true
#kotlin.experimental.tryK2=true
android.useAndroidX=true
android.enableJetifier=true
org.gradle.jvmargs=-Xmx2g
org.gradle.jvmargs=-Xmx2500m
# JS NPM
@@ -15,5 +15,5 @@ crypto_js_version=4.1.1
# Project data
group=dev.inmo
version=0.20.5
android_code_version=211
version=0.20.8
android_code_version=214

View File

@@ -1,41 +1,42 @@
[versions]
kt = "1.9.10"
kt = "1.9.20-RC"
#compose-kotlin = "1.5.10-beta02"
kt-serialization = "1.6.0"
kt-coroutines = "1.7.3"
kslog = "1.2.1"
jb-compose = "1.5.1"
jb-exposed = "0.43.0"
jb-compose = "1.5.10-rc01"
jb-exposed = "0.44.0"
jb-dokka = "1.9.0"
korlibs = "4.0.10"
uuid = "0.8.1"
ktor = "2.3.4"
ktor = "2.3.5"
gh-release = "2.4.1"
gh-release = "2.5.1"
koin = "3.4.3"
koin = "3.5.0"
okio = "3.5.0"
okio = "3.6.0"
ksp = "1.9.10-1.0.13"
ksp = "1.9.20-RC-1.0.13"
kotlin-poet = "1.14.2"
versions = "0.47.0"
versions = "0.49.0"
android-gradle = "7.4.2"
dexcount = "4.0.0"
android-coreKtx = "1.10.1"
android-coreKtx = "1.12.0"
android-recyclerView = "1.3.1"
android-appCompat = "1.6.1"
android-fragment = "1.6.1"
android-espresso = "3.5.1"
android-test = "1.1.5"
android-compose-material3 = "1.1.1"
android-compose-material3 = "1.1.2"
android-props-minSdk = "21"
android-props-compileSdk = "34"

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@@ -4,7 +4,7 @@ project.group = "$group"
apply from: "$publishGradlePath"
kotlin {
android {
androidTarget {
publishAllLibraryVariants()
}

View File

@@ -15,7 +15,7 @@ kotlin {
browser()
nodejs()
}
android {
androidTarget {
publishAllLibraryVariants()
}
linuxX64()

View File

@@ -15,7 +15,7 @@ kotlin {
browser()
nodejs()
}
android {
androidTarget {
publishAllLibraryVariants()
}
@@ -73,3 +73,10 @@ java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
//compose {
// if (composePluginKotlinVersion != null && !composePluginKotlinVersion.isEmpty()) {
// kotlinCompilerPlugin.set(composePluginKotlinVersion)
// }
//}

View File

@@ -1,12 +1,10 @@
package dev.inmo.micro_utils.repos.exposed.onetomany
import dev.inmo.micro_utils.pagination.*
import dev.inmo.micro_utils.repos.ReadKeyValueRepo
import dev.inmo.micro_utils.repos.ReadKeyValuesRepo
import dev.inmo.micro_utils.repos.exposed.*
import dev.inmo.micro_utils.repos.exposed.utils.selectPaginated
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.transactions.transaction
abstract class AbstractExposedReadKeyValuesRepo<Key, Value>(
@@ -73,4 +71,26 @@ abstract class AbstractExposedReadKeyValuesRepo<Key, Value>(
override suspend fun contains(k: Key, v: Value): Boolean = transaction(database) {
select { selectById(k).and(selectByValue(v)) }.limit(1).any()
}
override suspend fun getAll(reverseLists: Boolean): Map<Key, List<Value>> = transaction(database) {
val query = if (reverseLists) {
selectAll().orderBy(keyColumn, SortOrder.DESC)
} else {
selectAll()
}
query.asSequence().map { it.asKey to it.asObject }.groupBy { it.first }.mapValues {
it.value.map { it.second }
}
}
override suspend fun getAll(k: Key, reverseLists: Boolean): List<Value> = transaction(database) {
val query = if (reverseLists) {
select { selectById(k) }.orderBy(keyColumn, SortOrder.DESC)
} else {
select { selectById(k) }
}
query.map {
it.asObject
}
}
}