Compare commits

...

12 Commits

8 changed files with 90 additions and 7 deletions

View File

@@ -1,5 +1,21 @@
# Changelog
## 0.19.1
* `Versions`:
* `Korlibs`: `4.0.1` -> `4.0.3`
* `Kotlin Poet`: `1.13.2` -> `1.14.0`
## 0.19.0
* `Versions`:
* `Korlibs`: `3.4.0` -> `4.0.1`
## 0.18.4
* `Koin`:
* New extension `lazyInject`
## 0.18.3
* `Versions`:

View File

@@ -1,6 +1,6 @@
package dev.inmo.micro_utils.crypto
import com.soywiz.krypto.md5
import korlibs.crypto.md5
typealias MD5 = String

View File

@@ -14,5 +14,5 @@ crypto_js_version=4.1.1
# Project data
group=dev.inmo
version=0.18.3
android_code_version=194
version=0.19.1
android_code_version=197

View File

@@ -10,7 +10,7 @@ jb-compose = "1.4.0"
jb-exposed = "0.41.1"
jb-dokka = "1.8.10"
korlibs = "3.4.0"
korlibs = "4.0.3"
uuid = "0.7.0"
ktor = "2.3.0"
@@ -22,7 +22,7 @@ koin = "3.4.0"
okio = "3.3.0"
ksp = "1.8.20-1.0.11"
kotlin-poet = "1.13.2"
kotlin-poet = "1.14.0"
android-gradle = "7.4.2"
dexcount = "4.0.0"

View File

@@ -0,0 +1,40 @@
package dev.inmo.micro_utils.koin
import org.koin.core.Koin
import org.koin.core.definition.BeanDefinition
import org.koin.core.definition.KoinDefinition
import org.koin.core.instance.InstanceFactory
import org.koin.core.parameter.ParametersDefinition
import org.koin.core.scope.Scope
fun <T> Koin.get(definition: BeanDefinition<T>, parameters: ParametersDefinition? = null): T = get(
definition.primaryType,
definition.qualifier,
parameters
)
fun <T> Koin.get(definition: InstanceFactory<T>, parameters: ParametersDefinition? = null): T = get(
definition.beanDefinition,
parameters
)
fun <T> Koin.get(definition: KoinDefinition<T>, parameters: ParametersDefinition? = null): T = get(
definition.factory,
parameters
)
fun <T> Scope.get(definition: BeanDefinition<T>, parameters: ParametersDefinition? = null): T = get(
definition.primaryType,
definition.qualifier,
parameters
)
fun <T> Scope.get(definition: InstanceFactory<T>, parameters: ParametersDefinition? = null): T = get(
definition.beanDefinition,
parameters
)
fun <T> Scope.get(definition: KoinDefinition<T>, parameters: ParametersDefinition? = null): T = get(
definition.factory,
parameters
)

View File

@@ -0,0 +1,27 @@
package dev.inmo.micro_utils.koin
import org.koin.core.parameter.ParametersDefinition
import org.koin.core.qualifier.Qualifier
import org.koin.java.KoinJavaComponent
import kotlin.reflect.KClass
fun <T> lazyInject(
kClassFactory: () -> KClass<*>,
qualifier: Qualifier? = null,
parameters: ParametersDefinition? = null
): Lazy<T> {
return lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
KoinJavaComponent.get(kClassFactory().java, qualifier, parameters)
}
}
fun <T> lazyInject(
kClass: KClass<*>,
qualifier: Qualifier? = null,
parameters: ParametersDefinition? = null
): Lazy<T> = lazyInject({ kClass }, qualifier, parameters)
inline fun <reified T> lazyInject(
qualifier: Qualifier? = null,
noinline parameters: ParametersDefinition? = null
): Lazy<T> = lazyInject(T::class, qualifier, parameters)

View File

@@ -1,6 +1,6 @@
package dev.inmo.micro_utils.ktor.common
import com.soywiz.klock.DateTime
import korlibs.time.DateTime
typealias FromToDateTime = Pair<DateTime?, DateTime?>

View File

@@ -1,6 +1,6 @@
package dev.inmo.micro_utils.ktor.server
import com.soywiz.klock.DateTime
import korlibs.time.DateTime
import dev.inmo.micro_utils.ktor.common.FromToDateTime
import io.ktor.http.Parameters